ElastAlert 基于Elasticsearch的监控告警
Elastalert是Yelp公司用python2写的一个报警框架(目前支持python2.6和2.7,不支持3.x).
GitHub地址为 https://github.com/Yelp/elastalert
一、环境
Ubuntu 16.10(内核 4.8.0-37-generic)
elasticsearch 5.2.0
logstash 5.2.0
kibana 5.2.0
–
二、依赖
参见:
http://elastalert.readthedocs.io/en/latest/running_elastalert.html#requirements
- Elasticsearch
- ISO8601 or Unix timestamped data
- Python 2.6 or 2.7
- pip, see requirements.txt
三、安装Elastalert
安装之前先运行 python –version查看python的版本:
下载最新elastalert并安装模块:
安装完后,会在 /usr/local/bin/ 下生成4个elastalert命令:
四、设置elasticsearch索引
参见 setting-up-elasticsearch :
https://elastalert.readthedocs.io/en/latest/running_elastalert.html#setting-up-elasticsearch
elastalert-create-index
这个命令会在elasticsearch创建索引,这不是必须的步骤,但是强烈建议创建。因为对于,审计,测试很有用,并且重启elastalert不影响计数和发送alert
,默认情况下,创建的索引叫 elastalert_status
具体生成的数据,请参见 ElastAlert Metadata Index:
https://elastalert.readthedocs.io/en/latest/elastalert_status.html#metadata
五、设置配置文件和规则Rule
参见 creating-a-rule:
https://elastalert.readthedocs.io/en/latest/running_elastalert.html#creating-a-rule
六、测试规则
参见 Testing Your Rule
具体配置,参见 commonconfig
七、运行
返回 {"_index":"logstash-2017.02.14","_type":"test","_id":"AVo6oVCnFreCcJPhQqgX","_version":1,"result":"created","shards":{"total":2,"successful":1,"failed":0},"created":true}
@timestamp的时间是UTC时间,换算方式北京时间(东八区)减8小时,例如2017-02-14 11:21:50的UTC时间是 2017-02-14 03:21:50
八、Alert
原文作者:赵安家