当前位置:首页 > 开发 > 开源软件 > 正文

7.ElasticSearch预警服务-Watcher详解-Action设置

发表于: 2015-05-26   作者:corejava2008   来源:转载   浏览次数:
摘要: ElasticSearch预警服务-Watcher详解-Action设置Watcher中的Action指配置指定的预警动作,在满足触发条件且不节流的情况下执行。每个Action动作执行一次,Action之间相互独立。执行过程中,发生任何错误都会记录结果,可以在历史记录中查看。Action可以访问Context中的内容。Watcher支持的Action类型有四种:EMail(邮件),Webhook(

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}}"
      }
    }
  }
}

 

7.ElasticSearch预警服务-Watcher详解-Action设置

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
一.OSWatcher 说明 OSWatcher 是Oracle 提供的一个用于操作系统监控的工具包,分Windows 和Linux 2
Project Proffesional没法一目了然地看到,为了实时看到任务延迟情况,我们必须设置预警灯。 1.添加
设置前景色,做预警 选中F4,找到前景色,点击表达式,设为if(F4>15000,-65536,-16777216) 如果想设
struts 如何设置默认action呢? 我要达到的目的是:访问不存在的action时自动跳转到默认的action 在st
struts 如何设置默认action呢? 我要达到的目的是:访问不存在的action时自动跳转到默认的action 在st
struts 如何设置默认action呢? 我要达到的目的是:访问不存在的action时自动跳转到默认的action 在st
<EditText android:id="@+id/team_list_search" android:layout_width="match_parent" android:l
Actions 概述 如果想接收到告警,需要配置actions Actions 支持如下事件: Trigger events - 触发器状
准备一个数据文件 awk-sample-salary.txt 一、Pattern {Action} 详解 这一节的目标:详解 Pattern和
问题导读: 1.zookeeper观察者什么时候调用? 2.传统远程轮询服务存在什么问题? 3.zk中回调服务的机
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号