参考:https://www.bbsmax.com/A/gGdXbgXmJ4/

https://www.deathearth.com/333.html

     https://www.cnblogs.com/amyzhu/p/10193557.html

  ELK搭建好之后,如何利用收集到的数据进行告警呢,可以使用插件sentiel

  一,安装环境

  1,系统环境

  2,软件版本选择

java 1.8.0_171
elasticsearch 6.2.4
kibana 6.2.4

  二,安装

  1,安装ELK

  略

  2,安装sentinl插件

  根据ELK版本下载插件,本次下载版本为6.2.4

  https://github.com/sirensolutions/sentinl/releases/

/usr/share/kibana/bin/kibana-plugin install file:///nas/nas/softs/elk/6.2.4/sentinl-v6.2.4-1.zip

  安装后查看

  设置邮件,修改kibana配置文件/etc/kibana/kibana.yml在尾部添加以下内容

sentinl:
settings:
email:
active: true
user: xxx@xxx.com #邮箱地址
password: xxxx #邮箱密码或者授权码
host: smtp.exmail.qq.com #发送邮件服务器
ssl: true #根据实际情况添加 改成false则port修改成25,如果是阿里云禁用25端口需要使用ssl
port: 465
report:
active: true

  重启kibana

systemctl restart kibana

  打开head可以查看到生成了一个名字为wacter_alarms的索引

  

  打开kibana菜单可以看到sentina选项

  新建一个watchers

  修改完可以编辑或者测试

  点击运行测试

  查看告警信息

  配置advanced文件设置查询告警条件,一个较为完整的配置文件如下

{
"actions": {
"Email_alarm_773206d5-2977-465e-882d-762a7d69fe68": {
"name": "Email alarm",
"throttle_period": "15m",
"email": {
"priority": "low",
"stateless": false,
"body": "Find error log {{payload.hits.total}}", #发送邮件的内容,统计出现关键字错误的匹配次数
"to": "xxx@xxx.com", #邮件接收方自定义
"from": "xxx@xxx.com" #邮件发送方为kibana配置文件里面的邮箱
}
}
},
"input": {
"search": {
"request": {
"index": [
"system-log-*" #索引名
],
"body": {
"query": {
"bool": {
"must": [
{
"range": {
"@timestamp": { #匹配时间
"gte": "now-5m/m", #大于或等于从现在减5分钟
"lte": "now/m", #小于等于现在
"format": "epoch_millis"
}
}
}
],
"filter": [
{
"multi_match": {
"type": "best_fields",
"query": "error", #匹配日志里面是否出现关键字error
"lenient": true
}
}
]
}
},
"size": 0,
"aggs": {
"dateAgg": {
"date_histogram": {
"field": "@timestamp",
"time_zone": "Asia/Shanghai",
"interval": "1m",
"min_doc_count": 1
}
}
}
}
}
}
},
"condition": {
"script": {
"script": "payload.hits.total>1" #匹配的次数大于1则触发告警动作
}
},
"trigger": {
"schedule": {
"later": "every 5 minutes" #每五分钟执行一次
}
},
"disable": false,
"report": false,
"title": "system-log错误日志监控告警",
"wizard": {},
"save_payload": false,
"spy": false,
"impersonate": false
}

  PS:为方便理解加了注释,时间配置文件不可加注释

  监控对应日志五分钟内是否出现关键字error如果出现并且大于1则触发邮件告警

  往对应日志重定向几次error即可触发该告警

  邮件内容如下

  在写一个监控CPU使用率告警配置文件

{
"actions": {
"HTML_email_alarm_5fbf1925-81fc-4d73-a37e-b6ac8b9bfc06": {
"name": "HTML email alarm",
"throttle_period": "1m",
"email_html": {
"html": "五分钟内cpu使用率超过10% 次数为{{ payload.hits.total }}",
"priority": "low",
"stateless": false,
"to": "xxx@xxx.com",
"from": "xxx@xxx.com"
}
}
},
"input": {
"search": {
"request": {
"index": [
"metricbeat-*"
],
"body": {
"query": {
"bool": {
"filter": [
{
"range": {
"system.cpu.total.pct": {
"gt": 0.1
}
}
}
],
"must": [
{
"range": {
"@timestamp": {
"gte": "now-5m/m",
"lte": "now/m",
"format": "epoch_millis"
}
}
}
]
}
},
"size": 0,
"aggs": {
"dateAgg": {
"date_histogram": {
"field": "@timestamp",
"time_zone": "Europe/Amsterdam",
"interval": "1m",
"min_doc_count": 1
}
}
}
}
}
}
},
"condition": {
"script": {
"script": "payload.hits.total >=1"
}
},
"trigger": {
"schedule": {
"later": "every 5 minutes"
}
},
"disable": false,
"report": false,
"title": "metricber",
"wizard": {},
"save_payload": true,
"spy": false,
"impersonate": false
}

  监控CPU使用率如果大于10%就告警,system.cpu.total.pct为浮点数,对比大于0.1就是大于10%

  

  

最新文章

  1. [斜率优化DP]【学习笔记】【更新中】
  2. PHP设计模式笔记
  3. String、String.valueOf、toString 它们三者的区别总结
  4. spring junit
  5. php报警:Strict Standards: Only variables should be passed by reference in
  6. 什么是:VGA SVGA XGA SXGA
  7. 搭建你的持续集成server - CruiseControl step by step(1)
  8. 我的第一个spring boot程序(spring boot 学习笔记之二)
  9. JS难点--面向对象(继承)
  10. JMS学习之路(一):整合activeMQ到SpringMVC 转载:http://www.cnblogs.com/xiaochangwei/p/5426639.html
  11. 取IP的几个方法
  12. MySQL数据库使用规范
  13. 运维监控-Zabbix Server 使用微信 WeChat 告警
  14. nginx禁止ip默认参数是$remote_addr无法禁止真实ip的问题
  15. Spring Boot 的配置文件
  16. [示例] Firemonkey TreeView 父项勾选子项连动
  17. BurpSuite—-Target模块(目标模块)
  18. Spring Cloud(九):分布式配置中心和消息总线
  19. LMAX Disruptor 原理
  20. 【C++】

热门文章

  1. Jenkins - Update information obtained: 不可用 ago;
  2. #505. 「LibreOJ β Round」ZQC 的游戏
  3. 洛谷 P5436 【XR-2】缘分 题解
  4. Ceph osd故障恢复
  5. 安装vs code之后,win+e快捷键打开的是vs code,而不是文件管理器,解决方法
  6. npm 更新包
  7. ElasticSearch : 基础简介
  8. ZR#989
  9. Android中显式意图和隐式意图的区别
  10. 为什么要监控sql语句,以及如何监控,都有哪几种方式可以监控。