es 怎么验证是否安装成功_ElasticSearch(ES)预警服务 Watcher安装以及探究
最近公司需求要搭建一个监控系统,用来监控程序运行状态,请求曲线,错误日志发生次数,等等分析,保障系统稳定性。因此最近研究了基于Lucene 号称企业级搜索服务的ElasticSearch ,用了一段时间发现速度还真快,对百万级甚至千万级的数据检索毫无压力,比之前用的MongoDB速度快了不少。
ElasticSearch服务安装过程这里就不在说了,有了监控之后应该还需给开发人员发送邮件,告知某项错误已经达到某个阀值,应该关注去分析解决发生错误的原因,进一步发现程序上的bug,然后fix掉,下面隆重介绍下es(这里将ElasticSearch简称为es)的插件,Watcher,功能嘛很显然就是预警服务。
一、安装
1.依赖于License 插件,先安装License插件,在ES_HOME目录下面安装License
bin/plugin install license
2.安裝watcher插件
bin/plugin install watcher
注:中间过程询问是否继续时候输入y按回车继续安装
3.验证是否安装成功
curl -XGET 'http://localhost:9200/_watcher/stats?pretty'
返回结果如下则表示安装成功
{
"watcher_state": "started",
"watch_count": 0,
"execution_thread_pool": {
"queue_size": 0,
"max_size": 0
}
}
二、Watcher插件配置(创建预警任务)
watcher目前是沒有界面配置的,需要通过Resfulapi调用创建、管理、更新预警任务
创建一个Watcher任务的流程是怎样的?
我们先来看下创建一个预警demo的api
curl -XPUT 'http://localhost:9200/_watcher/watch/log_error_watch' -d '
{"trigger": {"schedule": {"interval": "1m"}
},"input": {"search": {"request": {"indices": ["monitor_ticket_bargainfindermaxrq_201610"],"body": {"query": {"bool": {"must": [
{"match": {"collectionName": "BargainFinderMaxRQ"}
},
{"range": {"createTime": {"gt" : "now-1m"}
}
}
]
}
}
}
}
}
},"condition": {"compare": {"ctx.payload.hits.total": {"gt": 20}
}
},"actions": {"send_email": {"email": {"to": "xxxxxx@xxx.com","subject": "TICKET_BFM 過去一分鐘內錯誤發生次數超過20,請關注","body": "TICKET_BFM 過去一分鐘內錯誤發生次數超過20,請關注"}
}
}
}'
当然actions里面还支持模板,比如
"actions": {"send_email": {"email": {"to": "xxx@xxx.com","subject": "TICKET_BFM 過去一分鐘內錯誤發生{{ctx.payload.hits.total}}次數超過20,請關注","body": "TICKET_BFM:{{ctx.watch_id}} 過去一分鐘內錯誤發生{{ctx.payload.hits.total}}次數超過20,請關注 Happened at {{ctx.execution_time}}"}
}
}
从api的content我們可以看出,內容主要主体分成trigger(触发设置),input(来源设置),condition(条件),actions(触发动作设置)
这里我们设置触发间隔时间为1m,来源是monitor_ticket_bargainfindermaxrq_201610索引块,查询条件是collectionName字段值是BargainFinderMaxRQ,以及时间范围是过去1分钟到现在,然后触发条件是当数量大于20,动作设置的是发邮件
Action类型其实有4种,EMail(邮件),Webhook(第三方对接),Index(索引),Logging(日志记录),相关配置可以参考下官方文档
如果配置了发送邮件,那么需要在es的yml文件配置下邮件发送服务器
我这里设置的是公司的服务器
watcher.actions.email.service.account:
work:
profile: standard
email_defaults:
from: '@xx.com'
smtp:
auth: true
starttls.enable: true
host: smtp.xx.com
port: 25
user: yourname@xx.com
password: password
注:设置之后重启下es服务器
三、删除预警任务
有时候我们不在使用某项预警服务的时候,我们可以删除他
curl -XDELETE 'http://localhost:9200/_watcher/watch/log_error_watch'
es 怎么验证是否安装成功_ElasticSearch(ES)预警服务 Watcher安装以及探究相关推荐
- 今天花了好长的时间终于把SecureCRT安装成功了 现在分享给大家 安装的步骤, 希望对大家用帮助...
转载地址:https://www.cnblogs.com/lianghe01/p/6618651.html 今天花了好长的时间终于把SecureCRT安装成功了 现在分享给大家 安装的步骤, 希望对大 ...
- centos 7 如何验证oracle安装成功_linux下Oracle数据的安装详解
第二章:CentOS下Oracle用户环境配置和Oracle11g的安装: 1.下载Oracle安装包: linux.x64_11gR2_database_1of2.zip 和 linux.x64_1 ...
- linux上验证cudnn是否安装成功_Linux下CUDA+CUDNN+TensorFlow安装笔记
之前用过TensorFlow的CPU版,现在买了个新电脑,就想把GPU也用起来,又因为目前大部分工作是在linux下做,所以有了在linux下安装cuda和TensorFlow的计划,快一个礼拜一直在 ...
- 怎么检查python是否安装成功-检查python以及django是否安装配置成功
首先说明下,我使用pycharm作为开发的IDE,在第一次创建django项目的时候,会自动安装django包的.(网上也有很多单独安装的方法),环境变量配置成功后,就是用下面的方法检测安装成功与否. ...
- 如何检查python的库是否安装成功_如何测试redis是否安装成功
下载Redis 下载好后 复制所在位置 cd 跳到 D:\Java\64bit 图中的目录位置 这样便启动成功了. 设置redis密码的话要 到redis.conf中找到 requirepass关键字 ...
- linux查看python是否安装成功,肿么查看linux中是否安装supervisor
supervisor 是由python语言编写.基于linux操作系统的一款服务器管理工具,用以监控服务器的运行,发现问题能立即自动预警及自动重启等功能. 方法/步骤 首先必须先安装好python环境 ...
- android安装成功找不到,为什么明明安装了这个Android应用,却找不到
作者:Yogi 前言:这里讲的是,通过adb push方式安装应用的问题.有时候,我们明明把应用push到了设备上,却总也找不到这个应用,这篇文章教你怎么应对. 你确定安装成功了吗? 首先要确定应用真 ...
- ubuntu的安装使用及一些主流服务的安装与使用
关于ubuntu上的操作: 用户名:zxm 密码:123 在ubuntu系统中按:Ctrl+Alt+T即可打开终端. 关闭防火墙:sudo ufw disable. 查找指定文件: find / -n ...
- python安装成功的图标_ubuntu下:安装anaconda、环境配置、软件图标的创建、成功启动anaconda图形界面...
Ubuntu安装anaconda常见的四大问题: 目录 1.介绍 2.安装anaconda 3.环境配置 4.软件图标的创建 5.成功启动anaconda图形界面 1.介绍 先介绍一下anaconda ...
- 安装成功后python报错_python安装Graphviz后报错及解决方法
说明一下,graphviz这个包,使用pip install graphviz安装后是不行的,这只安装了graphviz的pyhon调用接口,使用的话还需要下载graphviz的安装文件. 1.下载g ...
最新文章
- Spring AOP中pointcut expression表达式解析
- Ubuntu通过windows代理上网
- matlab基数排序,c语言 数据结构 利用随机函数产生N个随机整数,对这些数进行多种方法进行排序...
- 解决‘tf.ResizeNearestNeighbor‘ op is neither a custom op nor a flex op
- 【公开课预告】:多媒体开源PI
- 全志r11_全志R328 Demo开发板;全志R333开发板/核心板;全志R11开发板/核心板;全志R16开发板/方案设计...
- 线性表之链式存储结构_单链表相关算法
- Spark SQL External DataSource外部数据源
- java多站点项目_java-在多模块项目构建期间模块之间的Maven...
- 互联网日报 | 7月11日 星期日 | 市场监管总局禁止虎牙斗鱼合并;北京我爱我家部分门店闭店一周;寒武纪入局自动驾驶芯片...
- 量化投资学习——如何阅读研报
- 操作 神通数据库_神通数据库-快速入门指南 PDF 下载
- Http状态码406(Not Acceptable)
- MyExcel 2.2.0 版本发布,支持公式导出
- 33c3 CTF web WriteUp
- Windows 环境下 Python 环境安装
- 傅里叶变换经滤波处理及傅里叶逆变换
- 2021-03-13 大数据课程笔记 day52
- 接口压测实践-压力测试常见参数解释说明
- 校园网络项目设计方案