`

ElasticSearch预警服务-Watcher安装指南及案例介绍

阅读更多

本文将介绍如何安装Watcher服务,并介绍相关的功能特征。

1.Watcher服务的安装

    目前Watcher服务处于Beta阶段,使用者可以申请最新的beta-key,然后通过插件的方式进行安装

 

Java代码  收藏代码
  1. bin/plugin -i elasticsearch/watcher/<watcher-beta-key>  

 

 2.验证服务

  

Java代码  收藏代码
  1. curl -XGET 'http://192.168.100.72:9200/_watcher/stats?pretty'  
  2. 或者直接通过浏览器访问也是可以的  

3.版本要求

   Watcher需要ElasticSearchV1.5.0+版本

 

案例介绍一:

   监控错误数据案例,每10秒搜索一次数据,发现错误后,记录一条错误记录。

 

   配置流程:

   1.设置定时器和输入源(错误数据的查询条件)

   2.设置触发条件(是否查询到了错误数据)

   3.设置触发动作(发现错误后执行Action)

 

   设置详情:

   1.每10秒搜索一次日志数据  

Java代码  收藏代码
  1. curl -XPUT 'http://192.168.100.72:9200/_watcher/watch/log_error_watch' -d '{  
  2.   "trigger" : {  
  3.     "schedule" : { "interval" : "10s" }   
  4.   },  
  5.   "input" : {  
  6.     "search" : {  
  7.       "request" : {  
  8.         "indices" : [ "logs" ],  
  9.         "body" : {  
  10.           "match" : { "message""error" }  
  11.         }  
  12.       }  
  13.     }  
  14.   }  
  15. }'  

 

   2.数据加载情况历史记录  

Java代码  收藏代码
  1. curl -XGET 'http://192.168.100.72:9200/.watch_history*/_search?pretty' -d '{  
  2.   "sort" : [  
  3.     { "execution_result.execution_time" : "desc" }  
  4.   ]  
  5. }'  

    从返回结果中可以看到每10秒触发一次查询操作,如果历史记录中无数据,表示没有搜索到数据。

   3.如何设置条件

Java代码  收藏代码
  1. curl -XPUT 'http://192.168.100.72:9200/_watcher/watch/log_error_watch' -d '{  
  2.   "trigger" : { "schedule" : { "interval" : "10s" } },  
  3.   "input" : {  
  4.     "search" : {  
  5.       "request" : {  
  6.         "indices" : [ "logs" ],  
  7.         "body" : {  
  8.           "query" : {  
  9.             "match" : { "message""error" }  
  10.           }  
  11.         }  
  12.       }  
  13.     }  
  14.   },  
  15.   "condition" : { #设置条件,结果数据是否大于0!即是否查询到了数据  
  16.     "compare" : { "ctx.payload.hits.total" : { "gt" : 0 }}   
  17.   }  
  18. }'  

 

  3.查询触发条件执行状态 

Java代码  收藏代码
  1. #查询Watcher的历史记录,验证触发条件是否被触发了  
  2. curl -XGET 'http://192.168.100.72:9200/.watch_history*/_search?pretty' -d '{  
  3.   "query" : {  
  4.     "bool" : {  
  5.       "must" : [  
  6.         { "match" : { "execution_result.condition.met" : true }},  
  7.         { "range" : { "execution_result.execution_time" : { "from" : "now-10s"}}}  
  8.       ]  
  9.     }  
  10.   }  
  11. }'  

   4.设置动作

  

Java代码  收藏代码
  1. curl -XPUT 'http://192.168.100.72:9200/_watcher/watch/log_error_watch' -d '{  
  2.   "trigger" : { "schedule" : { "interval" : "10s" } },  
  3.   "input" : {  
  4.     "search" : {  
  5.       "request" : {  
  6.         "indices" : [ "logs" ],  
  7.         "body" : {  
  8.           "query" : {  
  9.             "match" : { "message""error" }  
  10.           }  
  11.         }  
  12.       }  
  13.     }  
  14.   },  
  15.   "condition" : {  
  16.     "compare" : { "ctx.payload.hits.total" : { "gt" : 0 }}  
  17.   },  
  18.   "actions" : { #触发动作,这里可以使 记录日志,发送邮件,发送到第三方的WebHook等等。  
  19.     "log_error" : {  
  20.       "logging" : {  
  21.         "text" : "Found {{ctx.payload.hits.total}} errors in the logs"  
  22.       }  
  23.     }  
  24.   }  
  25. }'  

 

 

案例介绍二:

    监控ElasticSearch集群状态:每10秒检测一次集群状态,如果集群状态错误,则发送邮件给运维

    配置流程就不过多介绍了,直接来结果。

  

Java代码  收藏代码
  1. curl -XPUT 'http://192.168.100.72:9200/_watcher/watch/cluster_health_watch' -d '{  
  2.   "trigger" : {  
  3.     "schedule" : { "interval" : "10s" }  
  4.   },  
  5.   "input" : {  
  6.     "http" : {  
  7.       "request" : {  
  8.        "host" : "192.168.100.72",  
  9.        "port" : 9200,  
  10.        "path" : "_cluster/health"  
  11.       }  
  12.     }  
  13.   },  
  14.   "condition" : {  
  15.     "compare" : {  
  16.       "ctx.payload.status" : { "eq" : "red" }  
  17.     }  
  18.   },  
  19.   "actions" : {  
  20.     "send_email" : {  
  21.       "email" : {  
  22.         "to" : "corejava2008@163.com",  
  23.         "subject" : "ES Cluster Status Warning",  
  24.         "body" : "ES Cluster status is RED"  
  25.       }  
  26.     }  
  27.   }  
  28. }'  
  29. 请注意,如果配置邮件发送,需要在ElasticSearch配置文件中配置以下信息  
  30. watcher.actions.email.service.account:  
  31.   work:  
  32.     profile: gmail  
  33.     email_defaults:  
  34.       from: <email>   
  35.     smtp:  
  36.       auth: true  
  37.       starttls.enable: true  
  38.       host: smtp.gmail.com  
  39.       port: 587  
  40.       user: <username>   
  41.       password: <password>   

http://corejava2008.iteye.com/blog/2213102

分享到:
评论

相关推荐

    7.17.1系列Elasticsearch的elasticsearch-analysis-ik分词器

    适用于7.17.1系列,例如Elasticsearch的7.17.12版本。 elasticsearch-analysis-ik 是一个常用的中文分词器,在 Elasticsearch 中广泛应用于中文文本的分析和搜索。下面是 elasticsearch-analysis-ik 分词器的几个...

    elasticsearch-jieba-plugin 8.8.2.zip

    `elasticsearch-jieba-plugin`正是将jieba分词库与Elasticsearch进行了深度融合,使得ES在处理中文文本时能展现出卓越的性能。 安装此插件的过程简单明了。首先,下载`elasticsearch-jieba-plugin 8.8.2.zip`压缩包...

    elasticsearch-head-master安装及下载.rar

    以下是对"elasticsearch-head-master安装及下载"的详细步骤和相关知识点的说明。 **1. 下载Elasticsearch Head** 首先,你需要从GitHub等开源平台下载Elasticsearch Head的最新源码包,通常是ZIP或TGZ格式。确保...

    elasticsearch-analysis-ik-7.16.3.zip

    4. 启动Elasticsearch:安装完成后,重启Elasticsearch服务,让插件生效。 五、配置与使用 1. 配置分词器:在Elasticsearch的索引模板或映射设置中,添加IK分词器配置,例如: ```json { "settings": { ...

    最新版 elasticsearch-analysis-ik-8.7.0.zip

    最新版 elasticsearch-analysis-ik-8.7.0.zip最新版 elasticsearch-analysis-ik-8.7.0.zip最新版 elasticsearch-analysis-ik-8.7.0.zip最新版 elasticsearch-analysis-ik-8.7.0.zip

    elasticsearch-analysis-ik-7.10.0.zip下载

    安装IK分词器通常需要将jar文件复制到Elasticsearch的plugins目录,然后重启Elasticsearch服务。在使用过程中,可以通过Elasticsearch的配置文件(如elasticsearch.yml)设置分词器参数,或者在创建索引时指定分词器...

    elasticsearch-analysis-dynamic-synonym-7.2.0

    Elasticsearch(ES)是一款功能强大的全文搜索引擎,广泛应用于数据检索、数据分析等领域。为了提高搜索的准确性和便利性,Elasticsearch提供了丰富的分析插件,其中"elasticsearch-analysis-dynamic-synonym-7.2.0...

    elasticsearch-analysis-pinyin-7.4.0 es拼音分词器7.4.0

    Elasticsearch(简称ES)是一款强大的开源搜索引擎,广泛应用于大数据领域的全文检索。它以其高可扩展性、实时性能以及丰富的分析能力著称。在中文环境下,由于汉字的复杂性,分词是实现有效搜索的关键步骤。为此,...

    elasticsearch-analysis-ik-7.10.2.zip

    本文将详细介绍elasticsearch-analysis-ik-7.10.2,一个专为Elasticsearch设计的高效中文分词插件。 1. **Elasticsearch简介** Elasticsearch是一种基于Lucene的分布式、实时的搜索和分析引擎。它提供了 RESTful ...

    最新版elasticsearch-analysis-ik-8.8.2.zip

    最新版elasticsearch-analysis-ik-8.8.2.zip最新版elasticsearch-analysis-ik-8.8.2.zip最新版elasticsearch-analysis-ik-8.8.2.zip最新版elasticsearch-analysis-ik-8.8.2.zip

    elasticsearch-analysis-dynamic-synonym-7.6.2

    1. **下载与安装**:将`elasticsearch-analysis-dynamic-synonym-7.6.2.jar`文件复制到ES的`plugins`目录下,然后重启ES服务,系统会自动识别并加载插件。 2. **配置文件**:创建`synonyms.txt`文件,包含同义词...

    elasticsearch-analysis-ik-7.4.2.zip.7z

    安装完成后,重启Elasticsearch服务,插件即可生效。 在配置Elasticsearch索引时,我们需要指定使用IK分词器。这通常在创建索引的mapping中完成,通过设置`analyzer`字段为`ik_max_word`或`ik_smart`来选择不同的...

    elasticsearch-analysis-ik-7.16.2.zip

    安装IK分词器通常涉及下载jar包,将其放入Elasticsearch的plugins目录下,并重启Elasticsearch服务。配置方面,用户可以在Elasticsearch的配置文件中指定分词器参数,如自定义词典路径,或者通过API动态调整设置。 ...

    elasticsearch-analysis-ik 7.10.0 分词器

    安装 Elasticsearch-analysis-ik 插件非常简单,只需在 Elasticsearch 根目录下执行命令 `bin/elasticsearch-plugin install analysis-ik`,然后重启 Elasticsearch 服务。在配置文件 `elasticsearch.yml` 中可以...

    elasticsearch-analysis-ik-8.2.0.zip

    《Elasticsearch 8.2.0 中文分词器详解及应用》 Elasticsearch(ES)作为一款强大的开源搜索引擎,广泛应用于大数据处理和信息检索领域。在处理中文文本时,选择合适的分词器至关重要,elasticsearch-analysis-ik-...

    最新版 elasticsearch-analysis-ik-7.9.3.zip

    安装`elasticsearch-analysis-ik-7.9.3`插件时,通常需要将整个压缩包解压后,将`elasticsearch-analysis-ik-7.9.3.jar`及其依赖文件放入Elasticsearch的`plugins`目录下,然后重启Elasticsearch服务,插件就会自动...

    最新版 elasticsearch-analysis-ik-7.17.6.zip

    1. **安装**:将压缩包解压后,将jar文件复制到Elasticsearch的plugins目录下,重启Elasticsearch服务即可。 2. **配置**:根据需求修改config目录下的配置文件,例如设置分词模式、添加自定义词典等。 3. **测试**...

    elasticsearch-analysis-dynamic-synonym-7.0.0.zip

    一旦你下载并解压缩了"elasticsearch-analysis-dynamic-synonym-7.0.0.zip",你需要将解压后的目录移动到你的Elasticsearch安装目录下的"plugins"文件夹。这样就完成了插件的基本安装。在执行此操作后,记得删除原始...

    elasticsearch-analysis-ik-7.3.2.zip

    安装IK分词器时,通常需要将jar文件放入ES的lib目录下,并在ES配置文件elasticsearch.yml中添加插件的配置。使用时,可以通过设置索引的分析器为"ik_max_word"或"ik_smart",来启用IK分词器。 总的来说,"elastic...

    elasticsearch-HQ-master.zip

    Elasticsearch-HQ是一款强大的Elasticsearch管理工具,尤其对于那些需要通过图形用户界面来监控、管理和查询Elasticsearch集群的用户来说,它是一个不可或缺的辅助插件。这个"elasticsearch-HQ-master.zip"文件包含...

Global site tag (gtag.js) - Google Analytics