本地英文版地址: ../en/trigger-schedule.html
Schedule triggeredit
Schedule triggers define when the watch execution should start based on date and time. All times are specified in UTC time.
Watcher uses the system clock to determine the current time. To ensure schedules are triggered when expected, you should synchronize the clocks of all nodes in the cluster using a time service such as NTP.
Keep in mind that the throttle period can affect when a watch is actually executed. The default throttle period is five seconds (5000 ms). If you configure a schedule that’s more frequent than the throttle period, the throttle period overrides the schedule. For example, if you set the throttle period to one minute (60000 ms) and set the schedule to every 10 seconds, the watch is executed no more than once per minute. For more information about throttling, see Acknowledgement and throttling.
Watcher provides several types of schedule triggers:
Hourly scheduleedit
A schedule
that triggers at a particular minute every
hour of the day. To use the hourly
schedule, you specify the minute (or minutes)
when you want the scheduler to start the watch execution with the minute
attribute.
If you don’t specify the minute
attribute for an hourly
schedule, it
defaults to 0
and the schedule triggers on the hour every hour--12:00
,
13:00
, 14:00
, and so on.
Configuring a once an hour scheduleedit
To configure a once an hour schedule, you specify a single time with the minute
attribute.
For example, the following hourly
schedule triggers at minute 30 every hour--
12:30
, 13:30
, 14:30
, …:
{ "trigger" : { "schedule" : { "hourly" : { "minute" : 30 } } } }
Configuring a multiple times hourly scheduleedit
To configure an hourly
schedule that triggers at multiple times during the
hour, you specify an array of minutes. For example, the following schedule
triggers every 15 minutes every hour--12:00
, 12:15
, 12:30
, 12:45
,
1:00
, 1:15
, …:
{ "trigger" : { "schedule" : { "hourly" : { "minute" : [ 0, 15, 30, 45 ] } } } }
Daily scheduleedit
A schedule
that triggers at a particular time
every day. To use the daily
schedule, you specify the time of day (or times)
when you want the scheduler to start the watch execution with the at
attribute.
Times are specified in the form HH:mm
on a 24-hour clock. You can also use the
reserved values midnight
and noon
for 00:00
and 12:00
, and
specify times using objects.
If you don’t specify the at
attribute for a daily
schedule, it defaults
to firing once daily at midnight, 00:00
.
Configuring a daily scheduleedit
To configure a once a day schedule, you specify a single time with the at
attribute. For example, the following daily
schedule triggers once every
day at 5:00 PM:
{ "trigger" : { "schedule" : { "daily" : { "at" : "17:00" } } } }
Configuring a multiple times daily scheduleedit
To configure a daily
schedule that triggers at multiple times during the day,
you specify an array of times. For example, the following daily
schedule
triggers at 00:00
, 12:00
, and 17:00
every day.
{ "trigger" : { "schedule" : { "daily" : { "at" : [ "midnight", "noon", "17:00" ] } } } }
Specifying times using objectsedit
In addition to using the HH:mm
string syntax to specify times, you can specify
a time as an object that has hour
and minute
attributes.
For example, the following daily
schedule triggers once every day at 5:00 PM:
{ "trigger" : { "schedule" : { "daily" : { "at" : { "hour" : 17, "minute" : 0 } } } } }
To specify multiple times using the object notation, you specify multiple hours
or minutes as an array. For example, following daily
schedule triggers at
00:00
, 00:30
, 12:00
, 12:30
, 17:00
and 17:30
every day:
{ "trigger" : { "schedule" : { "daily" : { "at" : { "hour" : [ 0, 12, 17 ], "minute" : [0, 30] } } } } }
Weekly scheduleedit
A schedule
that triggers at a specific day and time
every week. To use the weekly
schedule, you specify the day and time (or days
and times) when you want the scheduler to start the watch execution with the on
and at
attributes.
You can specify the day of the week by name, abbreviation, or number (with Sunday being the first day of the week):
-
sunday
,monday
,tuesday
,wednesday
,thursday
,friday
andsaturday
-
sun
,mon
,tue
,wed
,thu
,fri
andsat
-
1
,2
,3
,4
,5
,6
and7
Times are specified in the form HH:mm
on a 24-hour clock. You can also use the
reserved values midnight
and noon
for 00:00
and 12:00
.
Configuring a weekly scheduleedit
To configure a once a week schedule, you specify the day with the on
attribute
and the time with the at
attribute. For example, the following weekly
schedule
triggers once a week on Friday at 5:00 PM:
{ "trigger" : { "schedule" : { "weekly" : { "on" : "friday", "at" : "17:00" } } } }
You can also specify the day and time with the day
and time
attributes,
they are interchangeable with on
and at
.
Configuring a multiple times weekly scheduleedit
To configure a weekly
schedule that triggers multiple times a week, you can
specify an array of day and time values. For example, the following weekly
schedule triggers every Tuesday at 12:00 PM and every Friday at 5:00 PM:
{ "trigger" : { "schedule" : { "weekly" : [ { "on" : "tuesday", "at" : "noon" }, { "on" : "friday", "at" : "17:00" } ] } } }
Alternatively, you can specify days and times in an object that has on
and
minute
attributes that contain an array of values. For example, the following
weekly
schedule triggers every Tuesday and Friday at 12:00 PM and 17:00 PM:
{ "trigger" : { "schedule" : { "weekly" : { "on" : [ "tuesday", "friday" ], "at" : [ "noon", "17:00" ] } } } }
Monthly scheduleedit
A schedule
that triggers at a specific day and time
every month. To use the monthly
schedule, you specify the day of the month and
time (or days and times) when you want the scheduler to start the watch execution
with the on
and at
attributes.
You specify the day of month as a numeric value between 1
and 31
(inclusive).
Times are specified in the form HH:mm
on a 24-hour clock. You can also use the
reserved values midnight
and noon
for 00:00
and 12:00
.
Configuring a monthly scheduleedit
To configure a once a month schedule, you specify a single day and time with the
on
and at
attributes. For example, the following monthly
schedule triggers
on the 10th of each month at noon:
{ "trigger" : { "schedule" : { "monthly" : { "on" : 10, "at" : "noon" } } } }
You can also specify the day and time with the day
and time
attributes,
they are interchangeable with on
and at
.
Configuring a multiple times monthly scheduleedit
To configure a monthly
schedule that triggers multiple times a month, you can
specify an array of day and time values. For example, the following monthly
schedule triggers at 12:00 PM on the 10th of each month and at 5:00 PM on the
20th of each month:
{ "trigger" : { "schedule" : { "monthly" : [ { "on" : 10, "at" : "noon" }, { "on" : 20, "at" : "17:00" } ] } } }
Alternatively, you can specify days and times in an object that has on
and at
attributes that contain an array of values. For example, the following monthly
schedule triggers at 12:00 AM and 12:00 PM on the 10th and 20th of each month.
{ "trigger" : { "schedule" : { "monthly" : { "on" : [ 10, 20 ], "at" : [ "midnight", "noon" ] } } } }
Yearly scheduleedit
A schedule
that triggers at a specific day and time
every year. To use the yearly
schedule, you specify the month, day, and time
(or months, days, and times) when you want the scheduler to start the watch
execution with the in
, on
, and at
attributes.
You can specify the month by name, abbreviation, or number:
-
january
,february
,march
,april
,may
,june
,july
,august
,september
,october
,november
anddecember
-
jan
,feb
,mar
,apr
,may
,jun
,jul
,aug
,sep
,oct
,nov
anddec
-
1
,2
,3
,4
,5
,6
,7
,8
,9
,10
,11
and12
You specify the day of month as a numeric value between 1
and 31
(inclusive).
The Times are specified in the form HH:mm
on a 24-hour clock. You can also use
the reserved values midnight
and noon
for 00:00
and 12:00
.
Configuring a yearly scheduleedit
To configure a once a year schedule, you specify the month with the in
attribute,
the day with the on
attribute, and the time with the at
attribute. For
example, the following yearly
schedule triggers once a year at noon on January
10th:
{ "trigger" : { "schedule" : { "yearly" : { "in" : "january", "on" : 10, "at" : "noon" } } } }
You can also specify the month, day, and time with the month
, day
, and
time
attributes, they are interchangeable with in
, on
, and at
.
Configuring a multiple times yearly scheduleedit
To configure a yearly
schedule that triggers multiple times a year, you can
specify an array of month, day, and time values. For example, the following
yearly
schedule triggers twice a year: at noon on January 10th, and at 5:00 PM
on July 20th.
{ "trigger" : { "schedule" : { "yearly" : [ { "in" : "january", "on" : 10, "at" : "noon" }, { "in" : "july", "on" : 20, "at" : "17:00" } ] } } }
Alternatively, you can specify the months, days, and times in an object that has
in
, on
, and minute
attributes that contain an array of values. For example,
the following yearly
schedule triggers at 12:00 AM and 12:00 PM on January 10th,
January 20th, December 10th, and December 20th.
{ "trigger" : { "schedule" : { "yearly" : { "in" : [ "jan", "dec" ], "on" : [ 10, 20 ], "at" : [ "midnight", "noon" ] } } } }
Cron scheduleedit
Defines a schedule
using a cron expression
that specifiues when to execute a watch.
While cron expressions are powerful, a regularly occurring schedule
is easier to configure with the other schedule types.
If you must use a cron schedule, make sure you verify it with
elasticsearch-croneval
.
Configure a cron schedule with one timeedit
To configure a cron
schedule, you simply specify the cron expression as a
string value. For example, the following snippet configures a cron
schedule
that triggers every day at noon:
{ ... "trigger" : { "schedule" : { "cron" : "0 0 12 * * ?" } } ... }
Configure a cron schedule with multiple timesedit
To configure a cron
schedule that triggers multiple times, you can
specify an array of cron expressions. For example, the following cron
schedule triggers every even minute during weekdays and every uneven
minute during the weekend:
{ ... "trigger" : { "schedule" : { "cron" : [ "0 0/2 * ? * MON-FRI"", "0 1-59/2 * ? * SAT-SUN" ] } } ... }
Use croneval to validate cron expressionsedit
Elasticsearch provides a elasticsearch-croneval
command line tool
in the $ES_HOME/bin
directory that you can use to check that your cron expressions
are valid and produce the expected results.
To validate a cron expression, pass it in as a parameter to elasticsearch-croneval
:
bin/elasticsearch-croneval "0 0/1 * * * ?"
Interval scheduleedit
A schedule
that triggers at a fixed time interval. The
interval can be set in seconds, minutes, hours, days, or weeks:
-
"Xs"
- trigger everyX
seconds. For example,"30s"
means every 30 seconds. -
"Xm"
- trigger everyX
minutes. For example,"5m"
means every 5 minutes. -
"Xh"
- trigger everyX
hours. For example,"12h"
means every 12 hours. -
"Xd"
- trigger everyX
days. For example,"3d"
means every 3 days. -
"Xw"
- trigger everyX
weeks. For example,"2w"
means every 2 weeks.
If you don’t specify a time unit, it defaults to seconds.
The interval value differs from the standard time value used in Elasticsearch. You cannot configure intervals in milliseconds or nanoseconds.
Configuring an interval scheduleedit
To configure an interval
schedule, you specify a string value that represents
the interval. If you omit the unit of time (s
,m
, h
, d
, or w
), it
defaults to seconds.
For example, the following interval
schedule triggers every five minutes:
{ "trigger" : { "schedule" : { "interval" : "5m" } } }
- Elasticsearch权威指南: 其他版本:
- Elasticsearch是什么?
- 7.7版本的新特性
- 开始使用Elasticsearch
- 安装和设置
- 升级Elasticsearch
- 搜索你的数据
- 查询领域特定语言(Query DSL)
- SQL access(暂时不翻译)
- Overview
- Getting Started with SQL
- Conventions and Terminology
- Security
- SQL REST API
- SQL Translate API
- SQL CLI
- SQL JDBC
- SQL ODBC
- SQL Client Applications
- SQL Language
- Functions and Operators
- Comparison Operators
- Logical Operators
- Math Operators
- Cast Operators
- LIKE and RLIKE Operators
- Aggregate Functions
- Grouping Functions
- Date/Time and Interval Functions and Operators
- Full-Text Search Functions
- Mathematical Functions
- String Functions
- Type Conversion Functions
- Geo Functions
- Conditional Functions And Expressions
- System Functions
- Reserved keywords
- SQL Limitations
- 聚合
- 度量(metric)聚合
- 桶(bucket)聚合
- adjacency_matrix 聚合
- auto_date_histogram 聚合
- children 聚合
- composite 聚合
- date_histogram 聚合
- date_range 聚合
- diversified_sampler 聚合
- filter 聚合
- filters 聚合
- geo_distance 聚合
- geohash_grid 聚合
- geotile_grid 聚合
- global 聚合
- histogram 聚合
- ip_range 聚合
- missing 聚合
- nested 聚合
- parent 聚合
- range 聚合
- rare_terms 聚合
- reverse_nested 聚合
- sampler 聚合
- significant_terms 聚合
- significant_text 聚合
- terms 聚合
- 给范围字段分桶的微妙之处
- 管道(pipeline)聚合
- 矩阵(matrix)聚合
- 重度缓存的聚合
- 只返回聚合的结果
- 聚合元数据
- Returning the type of the aggregation
- 使用转换对聚合结果进行索引
- 脚本
- 映射
- 删除的映射类型
- 字段数据类型
- alias(别名)
- array(数组)
- binary(二进制)
- boolean(布尔)
- date(日期)
- date_nanos(日期纳秒)
- dense_vector(密集矢量)
- histogram(直方图)
- flattened(扁平)
- geo_point(地理坐标点)
- geo_shape(地理形状)
- IP
- join(联结)
- keyword(关键词)
- nested(嵌套)
- numeric(数值)
- object(对象)
- percolator(渗透器)
- range(范围)
- rank_feature(特征排名)
- rank_features(特征排名)
- search_as_you_type(输入即搜索)
- Sparse vector
- Text
- Token count
- Shape
- Constant keyword
- Meta-Fields
- Mapping parameters
- Dynamic Mapping
- Text analysis
- Overview
- Concepts
- Configure text analysis
- Built-in analyzer reference
- Tokenizer reference
- Char Group Tokenizer
- Classic Tokenizer
- Edge n-gram tokenizer
- Keyword Tokenizer
- Letter Tokenizer
- Lowercase Tokenizer
- N-gram tokenizer
- Path Hierarchy Tokenizer
- Path Hierarchy Tokenizer Examples
- Pattern Tokenizer
- Simple Pattern Tokenizer
- Simple Pattern Split Tokenizer
- Standard Tokenizer
- Thai Tokenizer
- UAX URL Email Tokenizer
- Whitespace Tokenizer
- Token filter reference
- Apostrophe
- ASCII folding
- CJK bigram
- CJK width
- Classic
- Common grams
- Conditional
- Decimal digit
- Delimited payload
- Dictionary decompounder
- Edge n-gram
- Elision
- Fingerprint
- Flatten graph
- Hunspell
- Hyphenation decompounder
- Keep types
- Keep words
- Keyword marker
- Keyword repeat
- KStem
- Length
- Limit token count
- Lowercase
- MinHash
- Multiplexer
- N-gram
- Normalization
- Pattern capture
- Pattern replace
- Phonetic
- Porter stem
- Predicate script
- Remove duplicates
- Reverse
- Shingle
- Snowball
- Stemmer
- Stemmer override
- Stop
- Synonym
- Synonym graph
- Trim
- Truncate
- Unique
- Uppercase
- Word delimiter
- Word delimiter graph
- Character filters reference
- Normalizers
- Index modules
- Ingest node
- Pipeline Definition
- Accessing Data in Pipelines
- Conditional Execution in Pipelines
- Handling Failures in Pipelines
- Enrich your data
- Processors
- Append Processor
- Bytes Processor
- Circle Processor
- Convert Processor
- CSV Processor
- Date Processor
- Date Index Name Processor
- Dissect Processor
- Dot Expander Processor
- Drop Processor
- Enrich Processor
- Fail Processor
- Foreach Processor
- GeoIP Processor
- Grok Processor
- Gsub Processor
- HTML Strip Processor
- Inference Processor
- Join Processor
- JSON Processor
- KV Processor
- Lowercase Processor
- Pipeline Processor
- Remove Processor
- Rename Processor
- Script Processor
- Set Processor
- Set Security User Processor
- Split Processor
- Sort Processor
- Trim Processor
- Uppercase Processor
- URL Decode Processor
- User Agent processor
- ILM: Manage the index lifecycle
- Monitor a cluster
- Frozen indices
- Roll up or transform your data
- Set up a cluster for high availability
- Snapshot and restore
- Secure a cluster
- Overview
- Configuring security
- User authentication
- Built-in users
- Internal users
- Token-based authentication services
- Realms
- Realm chains
- Active Directory user authentication
- File-based user authentication
- LDAP user authentication
- Native user authentication
- OpenID Connect authentication
- PKI user authentication
- SAML authentication
- Kerberos authentication
- Integrating with other authentication systems
- Enabling anonymous access
- Controlling the user cache
- Configuring SAML single-sign-on on the Elastic Stack
- Configuring single sign-on to the Elastic Stack using OpenID Connect
- User authorization
- Built-in roles
- Defining roles
- Security privileges
- Document level security
- Field level security
- Granting privileges for indices and aliases
- Mapping users and groups to roles
- Setting up field and document level security
- Submitting requests on behalf of other users
- Configuring authorization delegation
- Customizing roles and authorization
- Enabling audit logging
- Encrypting communications
- Restricting connections with IP filtering
- Cross cluster search, clients, and integrations
- Tutorial: Getting started with security
- Tutorial: Encrypting communications
- Troubleshooting
- Some settings are not returned via the nodes settings API
- Authorization exceptions
- Users command fails due to extra arguments
- Users are frequently locked out of Active Directory
- Certificate verification fails for curl on Mac
- SSLHandshakeException causes connections to fail
- Common SSL/TLS exceptions
- Common Kerberos exceptions
- Common SAML issues
- Internal Server Error in Kibana
- Setup-passwords command fails due to connection failure
- Failures due to relocation of the configuration files
- Limitations
- Alerting on cluster and index events
- Command line tools
- How To
- Glossary of terms
- REST APIs
- API conventions
- cat APIs
- cat aliases
- cat allocation
- cat anomaly detectors
- cat count
- cat data frame analytics
- cat datafeeds
- cat fielddata
- cat health
- cat indices
- cat master
- cat nodeattrs
- cat nodes
- cat pending tasks
- cat plugins
- cat recovery
- cat repositories
- cat shards
- cat segments
- cat snapshots
- cat task management
- cat templates
- cat thread pool
- cat trained model
- cat transforms
- Cluster APIs
- Cluster allocation explain
- Cluster get settings
- Cluster health
- Cluster reroute
- Cluster state
- Cluster stats
- Cluster update settings
- Nodes feature usage
- Nodes hot threads
- Nodes info
- Nodes reload secure settings
- Nodes stats
- Pending cluster tasks
- Remote cluster info
- Task management
- Voting configuration exclusions
- Cross-cluster replication APIs
- Document APIs
- Enrich APIs
- Explore API
- Index APIs
- Add index alias
- Analyze
- Clear cache
- Clone index
- Close index
- Create index
- Delete index
- Delete index alias
- Delete index template
- Flush
- Force merge
- Freeze index
- Get field mapping
- Get index
- Get index alias
- Get index settings
- Get index template
- Get mapping
- Index alias exists
- Index exists
- Index recovery
- Index segments
- Index shard stores
- Index stats
- Index template exists
- Open index
- Put index template
- Put mapping
- Refresh
- Rollover index
- Shrink index
- Split index
- Synced flush
- Type exists
- Unfreeze index
- Update index alias
- Update index settings
- Index lifecycle management API
- Ingest APIs
- Info API
- Licensing APIs
- Machine learning anomaly detection APIs
- Add events to calendar
- Add jobs to calendar
- Close jobs
- Create jobs
- Create calendar
- Create datafeeds
- Create filter
- Delete calendar
- Delete datafeeds
- Delete events from calendar
- Delete filter
- Delete forecast
- Delete jobs
- Delete jobs from calendar
- Delete model snapshots
- Delete expired data
- Estimate model memory
- Find file structure
- Flush jobs
- Forecast jobs
- Get buckets
- Get calendars
- Get categories
- Get datafeeds
- Get datafeed statistics
- Get influencers
- Get jobs
- Get job statistics
- Get machine learning info
- Get model snapshots
- Get overall buckets
- Get scheduled events
- Get filters
- Get records
- Open jobs
- Post data to jobs
- Preview datafeeds
- Revert model snapshots
- Set upgrade mode
- Start datafeeds
- Stop datafeeds
- Update datafeeds
- Update filter
- Update jobs
- Update model snapshots
- Machine learning data frame analytics APIs
- Create data frame analytics jobs
- Create inference trained model
- Delete data frame analytics jobs
- Delete inference trained model
- Evaluate data frame analytics
- Explain data frame analytics API
- Get data frame analytics jobs
- Get data frame analytics jobs stats
- Get inference trained model
- Get inference trained model stats
- Start data frame analytics jobs
- Stop data frame analytics jobs
- Migration APIs
- Reload search analyzers
- Rollup APIs
- Search APIs
- Security APIs
- Authenticate
- Change passwords
- Clear cache
- Clear roles cache
- Create API keys
- Create or update application privileges
- Create or update role mappings
- Create or update roles
- Create or update users
- Delegate PKI authentication
- Delete application privileges
- Delete role mappings
- Delete roles
- Delete users
- Disable users
- Enable users
- Get API key information
- Get application privileges
- Get builtin privileges
- Get role mappings
- Get roles
- Get token
- Get users
- Has privileges
- Invalidate API key
- Invalidate token
- OpenID Connect Prepare Authentication API
- OpenID Connect authenticate API
- OpenID Connect logout API
- SAML prepare authentication API
- SAML authenticate API
- SAML logout API
- SAML invalidate API
- SSL certificate
- Snapshot and restore APIs
- Snapshot lifecycle management API
- Transform APIs
- Usage API
- Watcher APIs
- Definitions
- Breaking changes
- Release notes
- Elasticsearch version 7.7.1
- Elasticsearch version 7.7.0
- Elasticsearch version 7.6.2
- Elasticsearch version 7.6.1
- Elasticsearch version 7.6.0
- Elasticsearch version 7.5.2
- Elasticsearch version 7.5.1
- Elasticsearch version 7.5.0
- Elasticsearch version 7.4.2
- Elasticsearch version 7.4.1
- Elasticsearch version 7.4.0
- Elasticsearch version 7.3.2
- Elasticsearch version 7.3.1
- Elasticsearch version 7.3.0
- Elasticsearch version 7.2.1
- Elasticsearch version 7.2.0
- Elasticsearch version 7.1.1
- Elasticsearch version 7.1.0
- Elasticsearch version 7.0.0
- Elasticsearch version 7.0.0-rc2
- Elasticsearch version 7.0.0-rc1
- Elasticsearch version 7.0.0-beta1
- Elasticsearch version 7.0.0-alpha2
- Elasticsearch version 7.0.0-alpha1