ELK之Kibana的可视化监控报警插件sentinl的配置
参考:https://www.bbsmax.com/A/gGdXbgXmJ4/
https://www.deathearth.com/333.html
https://www.cnblogs.com/amyzhu/p/10193557.html
ELK搭建好之后,如何利用收集到的数据进行告警呢,可以使用插件sentiel
一,安装环境
1,系统环境
2,软件版本选择
1 2 3 | 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/
1 | /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在尾部添加以下内容
1 2 3 4 5 6 7 8 9 10 11 | 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
1 | systemctl restart kibana |
打开head可以查看到生成了一个名字为wacter_alarms的索引
打开kibana菜单可以看到sentina选项
新建一个watchers
修改完可以编辑或者测试
点击运行测试
查看告警信息
配置advanced文件设置查询告警条件,一个较为完整的配置文件如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | { "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使用率告警配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | { "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%
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!