本文共 2478 字,大约阅读时间需要 8 分钟。
1.安装sentinl插件
到https://github.com/sirensolutions/sentinl/releases上选择合适的版本,比如你的kibana是5.6.2的,那么这里也要选择5.6.2的sentinl版本;复制zip包的链接地址,然后到kibana服务器(开通外网)上,执行下面的命令即可安装:/usr/share/kibana/bin/kibana-plugin install 安装过程中可能因为网络原因会中断,多安装几次就行了。2.重启kibana
安装完毕后,systemctl restart kibana,然后http://kibana-server-ip:5601,界面上会多一个这个(下图红圈):3.在kibana界面上配置sentinl
点击sentinl→watchers→New(右上角)→“+warcher”(左上角),到如下界面:3.1 GeneralTitle:这个watcher的标题Schedule:检测频率,例如“every 5 minutes”、“at 17:15”、“at 10:15 am also at 5:15pm except on Tuesday”等。3.2 Input见下例,{ "search": { "request": { "index": ["java-log-*" //查询以java-log开头的所有索引],"body": { "query": { "bool": { "must": [{ "query_string": { "analyze_wildcard": true,"query": "\"Cannot connect to Hessian remote service\"" //查询包含该字符串的行}},{ "range": { "@timestamp": { "gte": "now-1h","lte": "now", //查询最近一小时的数据"format": "epoch_millis"}}}],"must_not": []}}}}}}上面这些配置的结果是:查询以java-log开头的索引里面的,最近一小时的,包含“Cannot connect to Hessian remote service”的文档行。这个配置内容是很灵活的,可以配置只查询某个日志文件、只查询最近一分钟的数据等。3.3 Condition见下例,{ "script": { "script": "payload.hits.total > 1"}}如果满足这个Condition的话,就触发后面要配置的“Actions”。"payload.hits.total"是以“Input”里的配置为条件,查询出来的结果数,见下图,3.4 Transform附属条件,暂时没用。3.5 Actions报警动作。见下图示例,4.在kibana服务器上配置kibana和mail4.1 以163邮箱为例,163邮箱授权方式配置完上面后,会获取到一个客户端授权码,客户端(如Foxmail)用163用户名和授权码登录,直接用163用户名和密码登录会提示“授权失败”。4.2 安装前置工具
yum install postfix mail cyrus-sasl-*4.3 配置mailvim /etc/mail.rc #在文件尾部追加下面的内容。set from=test@163.comset smtp=smtp.163.comset smtp-auth-user=testset smtp-auth-password=授权码set smtp-auth=login4.4 配置postfixvim /etc/postfix/main.cf inet_interfaces = all然后在文件尾部追加下面的内容,relayhost = [smtp.163.com]:25
smtp_sasl_auth_enable = yessmtp_sasl_password_maps = hash:/etc/postfix/sasl_passwdsmtp_sasl_security_options = noanonymoussmtp_sasl_type = cyrussender_canonical_maps = hash:/etc/postfix/sender_canonical4.5 配置postfix密码echo '[smtp.163.com]:25 test@163.com:授权码' > /etc/postfix/sasl_passwdecho 'root test@163.com' > /etc/postfix/sender_canonicalpostmap /etc/postfix/sasl_passwd && postmap /etc/postfix/sender_canonical查看/etc/postfix有没有生成sasl_passwd.db和sender_canonical.db文件确定生成后重启posftfix
systemctl restart postfix4.6 配置kibana.xml
vim /etc/kibana/kibana.cml #在文件尾部加入下面的内容,sentinl:settings:email:active: trueuser: test@163.compassword: 授权码host: smtp.163.comssl: truereport:active: truetmp_path: /tmp/重启kibana,即可在kibana界面手动触发报警测试邮件发送是否正常。
转载于:https://blog.51cto.com/10546390/2051676