带你读《Elastic Stack 实战手册》之55:——3.5.14.Watcher(4)

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 带你读《Elastic Stack 实战手册》之55:——3.5.14.Watcher(4)


《Elastic Stack 实战手册》——三、产品能力——3.5 进阶篇——3.5.14.Watcher(3) https://developer.aliyun.com/article/1228141


添加条件

 

条件评估已经装载到 Watch 中的数据是否需要行动决定,由于你已定义将集群状态加载到

watch 中的 input,因此你可以定义检查该状态的条件。例如,你可以添加一个条件来检查状态是否为 RED。


curl -XPUT 'http://localhost:9200/_watcher/watch/cluster_health_watch' -d 
'{
  "trigger": {
    "schedule": {
      "interval": "10s"
    }
  },
   "input": {
    "http": {
      "request": {
        "host": "localhost",
        "port": 9200,
        "path": "/_cluster/health"
      }
    }
  },
  "condition": {
    "compare": {
      "ctx.payload.status": {
        "eq": "red"
      }
    }
  }
}'

采取行动

 

Watcher 的真正强大之处在于能够对警做出响应。watch 的 action 定义了 watch条件为真时要执行的操作——你可以在 watch condition 满足时发送电子邮件、调用第三方 Webhook或将文档写入 Elasticsearch 索引或日志。

 

例如,当状态为 RED 时,你可以添加一个 action 来索引集群状态信息。


curl -XPUT 'http://localhost:9200/_watcher/watch/cluster_health_watch' -d '{
  "trigger": {
    "schedule": {
      "interval": "10s"
    }
  },
  "input": {
    "http": {
      "request": {
        "host": "localhost",
        "port": 9200,
        "path": "/_cluster/health"
      }
    }
  },
  "condition": {
    "compare": {
      "ctx.payload.status": {
           "eq": "red"
      }
    }
  },
  "actions": {
    "send_email": {
      "email": {
        "to": "<username>@<domainname>",
        "subject": "Cluster Status Warning",
        "body": "Cluster status is RED"
      }
    }
  }
}'


要让 Watcher 发送电子邮件,你必须在 elasticsearch.yml 配置文件中配置一个电子邮件帐户并重新启动 Elasticsearch。要添加电子邮件帐户,请设置该 watcher.actions.email.service.account 属性。

 

例如,以下代码段配置了一个名为 的 qq 帐户 work。


watcher.actions.email.service.account:
  work:
    profile: standard
    email_defaults:
      from: <email>
    smtp:
      auth: true
      starttls.enable: true
      host: smtp.exmail.qq.com
      port: 21
      user: <username>
      password: <password>


删除Watch

 

由于 cluster_health_watch 被配置为每10秒运行一次,请确保在完成试验后删除它。否则,你将无休止地向自己发送垃圾邮件。

 

要移除 Watch,请使用 DELETE WATCH API


curl -XDELETE 'http://localhost:9200/_watcher/watch/cluster_health_watch

创作人简介:

王涛,目前就职于 58 同城信息安全部,高级程序员。喜欢研究大数据、云原生相关技术。

博客:https://github.com/wtJoker

 

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
监控 Java API
带你读《Elastic Stack 实战手册》之55:——3.5.14.Watcher(3)
带你读《Elastic Stack 实战手册》之55:——3.5.14.Watcher(3)
113 0
|
调度 索引
带你读《Elastic Stack 实战手册》之55:——3.5.14.Watcher(2)
带你读《Elastic Stack 实战手册》之55:——3.5.14.Watcher(2)
121 0
带你读《Elastic Stack 实战手册》之55:——3.5.14.Watcher(1)
带你读《Elastic Stack 实战手册》之55:——3.5.14.Watcher(1)
159 0
|
SQL 自然语言处理 监控
带你读《Elastic Stack 实战手册》之2:——二、导读(上)
带你读《Elastic Stack 实战手册》之2:——二、导读(上)
354 0
|
存储 运维 监控
带你读《Elastic Stack 实战手册》之2:——二、导读(下)
带你读《Elastic Stack 实战手册》之2:——二、导读(下)
281 0
|
自然语言处理 索引
带你读《Elastic Stack 实战手册》之33:——3.4.2.17.2.Schemaless(上)
带你读《Elastic Stack 实战手册》之33:——3.4.2.17.2.Schemaless(上)
130 0
|
JSON Java 数据格式
带你读《Elastic Stack 实战手册》之33:——3.4.2.17.2.Schemaless(下)
带你读《Elastic Stack 实战手册》之33:——3.4.2.17.2.Schemaless(下)
117 0
|
机器学习/深度学习
带你读《Elastic Stack 实战手册》之58:——3.5.16.2.Getting started(下)
带你读《Elastic Stack 实战手册》之58:——3.5.16.2.Getting started(下)
|
机器学习/深度学习 运维 数据可视化
带你读《Elastic Stack 实战手册》之58:——3.5.16.2.Getting started(上)
带你读《Elastic Stack 实战手册》之58:——3.5.16.2.Getting started(上)
111 0
|
机器学习/深度学习 数据建模 索引
带你读《Elastic Stack 实战手册》之58:——3.5.16.2.Getting started(中)
带你读《Elastic Stack 实战手册》之58:——3.5.16.2.Getting started(中)
110 0

热门文章

最新文章