赞
踩
今天继续给大家介绍Linux运维相关知识,本文主要内容是elastalert报警配置实战。
在ELK详解(二十一)——elastalert介绍与安装一文中,我们详细介绍了Elastalert的安装过程。今天,我们就来实际配置Elastalert的报警实战。
首先,我们来配置一下Elastalert的配置文件。首先,进入到Elastalert的解压后的目录,由于Elastalert默认的配置文件是config.example,而在该目录中不存在该文件,而只存在一个模板文件config.yaml.example,因此,我们首先将config.yaml.example复制为config.yaml,执行命令:
cp -a config.yaml.example config.yaml
然后,打开config.yaml,我们要修改其中es_host参数,使其指向我们的Elasticsearch,修改完成后的配置文件如下所示:
接下来,我们来创建告警索引。
执行命令/usr/local/python/bin/elastalert-create-index,即可完成告警索引的创建,该命令执行过程如下所示:
该命令执行完毕后,我们可以在Elasticsearch上查询到响应的索引查询结果,如下所示:
接下来,我们来创建规则,在我们的配置文件中,有一个参数是rules_folder,该参数指定了规则文件存放的位置,根据配置文件,我们需要把规则文件放到该目录下example_rules目录下。将该目录进行备份后,我们新创建一个alter.yaml文件,并写入如下内容:
es_host: 192.168.136.101
es_port: 9200
use_ssl: False
name: NginxAlert
use_strftine_index: true
index: logstash-nginx*
type: any
aggregation:
seconds: 10
run_every:
minutes: 1
buffer_time:
minutes: 10
filter:
- query:
query_string:
query: 'status "404"'
alert:
- "email"
email:
- "【邮箱名】"
smtp_host: smtp.163.com
smtp_port: 25
smtp_auth_file: /opt/elastalert-0.2.1/mail_alert/email.yaml
from_addr: 【邮箱名】
email_reply_to: 【邮箱名】
在上述脚本中,我们控制Elastalert当检测logstash_nginx的日志,当发现有404的访问日志后,立即向我们的网易163邮箱进行告警。
注意上文中的sm_auth_file参数,我们使用该参数指定了邮箱登录的认证文件,因此,我们应该创建该文件,并写入邮箱的用户名和授权码,如下所示:
该命令配置完成后,我们执行命令:
/usr/local/python/bin/elastalert-test-rule --config /opt/elastalert-0.2.1/config.yaml /opt/elastalert-0.2.1/example_rules/alert.yaml
可以对我们的配置进行测试,如果没有报错,就说明配置成功,如下所示:
最后,我们来验证一下刚才配置的效果。
执行命令:
python -m elastalert.elastalert --verbose --config /opt/elastalert-0.2.1/config.yaml
开启我们的Elastalert的运行。
之后,打开Nginx服务,并且访问一些不存在的路径故意造成404错误,看Elastalert是否会报警。
等待一段时间后,发现Elastalert报警如下:
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。