设为首页 收藏本站
查看: 1709|回复: 0

[经验分享] 7.ElasticSearch预警服务-Watcher详解-Action设置

[复制链接]

尚未签到

发表于 2017-5-21 09:26:24 | 显示全部楼层 |阅读模式
  ElasticSearch预警服务-Watcher详解-Action设置
Watcher中的Action指配置指定的预警动作,在满足触发条件且不节流的情况下执行。
每个Action动作执行一次,Action之间相互独立。执行过程中,发生任何错误都会记录结果,可以在历史记录中查看。Action可以访问Context中的内容。

Watcher支持的Action类型有四种:EMail(邮件),Webhook(第三方对接),Index(索引),Logging(日志记录)
1.EMail
发送通知邮件,可以配置至少一个邮箱账号。
需要在elasticsearch.yml中配置邮箱账号,每个账号需要一个唯一的名称,并配置SMTP相关信息,可以对
账号信息设置默认值。
设置属性:watcher.actions.email.service.account

watcher.actions.email.service.account:
work:
profile: gmail #邮箱账号,要求唯一
email_defaults:
from: 'John Doe <john.doe@host.domain>' #设置默认属性
bcc: archive@host.domain #设置默认属性
smtp:
auth: true
starttls.enable: true
host: smtp.gmail.com
port: 587
user: <username>
password: <password>
  使用account属性配置多个发送邮件,如果只有一个邮箱,可以不配置改属性。

来看一个完成的EMail Action配置例子:

$ curl -XPUT 'http://localhost:9200/_watcher/watch/my-watch' -d '{
"actions" : {
"email_admin" : {
"transform" : {
},
"email": {
"account":"gmail",#如不设置,则为默认邮箱,
"to": "'John Doe <john.doe@host.domain>'", #如果没有设置,则从ElasticSearch.yml默认配置中读取。
#收件人列表可以是多个,
#可是'Personal Name <user1@host.domain>, user2@host.domain'
#或者 [ 'Personal Name <user1@host.domain>', 'user2@host.domain' ]
"subject": "{{ctx.watch_id}} executed",  #邮件标题
"body": "{{ctx.watch_id}} executed with {{ctx.payload.hits.total}} hits"  #邮件内容
}
}
}
...
}

  
2.WebHook
指连接到某个web服务器并监听指定端口,支持Http及Https。

简单配置如下:

PUT /_watcher/watch/my-watch
{
...
"actions" : {
"my_webhook" : {
"transform" : {
...
},
"webhook" : {
"method" : "POST", #请求方式
"host" : "mylisteningserver", #请求服务器
"port" : 9200, #请求端口
"path": ":/{{ctx.watch_id}", #请求路径
"body" : "{{ctx.watch_id}}:{{ctx.payload.hits.total}}" #消息体
}
}
}
}
  

需要验证的配置信息

PUT /_watcher/watch/my-watch
{
...
"actions" : {
"my_webhook" : {
"transform" : {
...
},
"webhook" : {
"auth" : {
"basic" : {
"username" : "<username>", #用户名
"password" : "<password>"  #密码,默认情况下,改数据会明文存储在索引中,如果安装SHILED服务,可以在存储前进行加密处理
}
}
"method" : "POST",
"host" : "mylisteningserver",
"port" : 9200,
"path": ":/{{ctx.watch_id}",
"body" : "{{ctx.watch_id}}:{{ctx.payload.hits.total}}"
}
}
}
}
  通过参数的方式配置

PUT /_watcher/watch/my-watch
{
...
"actions" : {
"my_webhook" : {
"webhook" : {
"method" : "POST",
"host" : "mylisteningserver",
"port" : 9200,
"path": ":/alert",
"params" : { #请求参数
"watch_id" : "{{ctx.watch_id}}"
}
}
}
}
}

  
自定义头部信息

PUT /_watcher/watch/my-watch
{
...
"actions" : {
"my_webhook" : {
"webhook" : {
"method" : "POST",
"host" : "mylisteningserver",
"port" : 9200,
"path": ":/alert/{{ctx.watch_id}}",
"headers" : { #自定义头部信息
"Content-Type" : "application/yaml"
},
"body" : "count: {{ctx.payload.hits.total}}"
}
}
}
}
  
3.Index
以ElasticSearch索引的方式处理。

$ curl -XPUT 'http://localhost:9200/_watcher/watch/my-watch' -d '{
...
"actions" : {
"index_payload" : {
"transform: {
},
"index" : {
"index" : "my-index",  #索引名称
"doc_type" : "my-type" #索引类型
}
}
}
  
4.Logging
记录普通的日志文本,常用于开发和调试情况下。

PUT /_watcher/watch/my-watch
{
...
"actions" : {
"log" : {
"transform" : {
...
},
"logging" : {
"text" : "executed at {{ctx.execution_time}}"
}
}
}
}

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-379494-1-1.html 上篇帖子: rails中Elasticsearch的客户端Tire配置 下篇帖子: ElasticSearch (2) REST API -- How to Search
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表