参考: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. java 1.8.0_171
  2. elasticsearch 6.2.4
  3. 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. sentinl:
  2. settings:
  3. email:
  4. active: true
  5. user: xxx@xxx.com #邮箱地址
  6. password: xxxx #邮箱密码或者授权码
  7. host: smtp.exmail.qq.com #发送邮件服务器
  8. ssl: true #根据实际情况添加 改成false则port修改成25,如果是阿里云禁用25端口需要使用ssl
  9. port: 465
  10. report:
  11. active: true

  重启kibana

  1. systemctl restart kibana

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

  

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

  新建一个watchers

  修改完可以编辑或者测试

  点击运行测试

  查看告警信息

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

  1. {
  2. "actions": {
  3. "Email_alarm_773206d5-2977-465e-882d-762a7d69fe68": {
  4. "name": "Email alarm",
  5. "throttle_period": "15m",
  6. "email": {
  7. "priority": "low",
  8. "stateless": false,
  9. "body": "Find error log {{payload.hits.total}}", #发送邮件的内容,统计出现关键字错误的匹配次数
  10. "to": "xxx@xxx.com", #邮件接收方自定义
  11. "from": "xxx@xxx.com" #邮件发送方为kibana配置文件里面的邮箱
  12. }
  13. }
  14. },
  15. "input": {
  16. "search": {
  17. "request": {
  18. "index": [
  19. "system-log-*" #索引名
  20. ],
  21. "body": {
  22. "query": {
  23. "bool": {
  24. "must": [
  25. {
  26. "range": {
  27. "@timestamp": { #匹配时间
  28. "gte": "now-5m/m", #大于或等于从现在减5分钟
  29. "lte": "now/m", #小于等于现在
  30. "format": "epoch_millis"
  31. }
  32. }
  33. }
  34. ],
  35. "filter": [
  36. {
  37. "multi_match": {
  38. "type": "best_fields",
  39. "query": "error", #匹配日志里面是否出现关键字error
  40. "lenient": true
  41. }
  42. }
  43. ]
  44. }
  45. },
  46. "size": 0,
  47. "aggs": {
  48. "dateAgg": {
  49. "date_histogram": {
  50. "field": "@timestamp",
  51. "time_zone": "Asia/Shanghai",
  52. "interval": "1m",
  53. "min_doc_count": 1
  54. }
  55. }
  56. }
  57. }
  58. }
  59. }
  60. },
  61. "condition": {
  62. "script": {
  63. "script": "payload.hits.total>1" #匹配的次数大于1则触发告警动作
  64. }
  65. },
  66. "trigger": {
  67. "schedule": {
  68. "later": "every 5 minutes" #每五分钟执行一次
  69. }
  70. },
  71. "disable": false,
  72. "report": false,
  73. "title": "system-log错误日志监控告警",
  74. "wizard": {},
  75. "save_payload": false,
  76. "spy": false,
  77. "impersonate": false
  78. }

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

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

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

  邮件内容如下

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

  1. {
  2. "actions": {
  3. "HTML_email_alarm_5fbf1925-81fc-4d73-a37e-b6ac8b9bfc06": {
  4. "name": "HTML email alarm",
  5. "throttle_period": "1m",
  6. "email_html": {
  7. "html": "五分钟内cpu使用率超过10% 次数为{{ payload.hits.total }}",
  8. "priority": "low",
  9. "stateless": false,
  10. "to": "xxx@xxx.com",
  11. "from": "xxx@xxx.com"
  12. }
  13. }
  14. },
  15. "input": {
  16. "search": {
  17. "request": {
  18. "index": [
  19. "metricbeat-*"
  20. ],
  21. "body": {
  22. "query": {
  23. "bool": {
  24. "filter": [
  25. {
  26. "range": {
  27. "system.cpu.total.pct": {
  28. "gt": 0.1
  29. }
  30. }
  31. }
  32. ],
  33. "must": [
  34. {
  35. "range": {
  36. "@timestamp": {
  37. "gte": "now-5m/m",
  38. "lte": "now/m",
  39. "format": "epoch_millis"
  40. }
  41. }
  42. }
  43. ]
  44. }
  45. },
  46. "size": 0,
  47. "aggs": {
  48. "dateAgg": {
  49. "date_histogram": {
  50. "field": "@timestamp",
  51. "time_zone": "Europe/Amsterdam",
  52. "interval": "1m",
  53. "min_doc_count": 1
  54. }
  55. }
  56. }
  57. }
  58. }
  59. }
  60. },
  61. "condition": {
  62. "script": {
  63. "script": "payload.hits.total >=1"
  64. }
  65. },
  66. "trigger": {
  67. "schedule": {
  68. "later": "every 5 minutes"
  69. }
  70. },
  71. "disable": false,
  72. "report": false,
  73. "title": "metricber",
  74. "wizard": {},
  75. "save_payload": true,
  76. "spy": false,
  77. "impersonate": false
  78. }

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

  

  

ELK之Kibana的可视化监控报警插件sentinl的配置的更多相关文章

  1. 基于Kibana的可视化监控报警插件sentinl入门

    sentinl是什么 Kibi/Kibana Alert & Reporting App Watching your data, 24/7/365 sentinl是一个免费的kibana预警与 ...

  2. Kibana 可视化监控报警插件 KAAE 的介绍与使用

    https://blog.csdn.net/phachon/article/details/53424631 https://blog.csdn.net/Dragon714/article/detai ...

  3. 基于ELK 7.50搭建elastalert 监控报警和权限控制

    ELK+监控报警全步骤 需求: 公司要求对出在windows服务器上的日志进行日志分析并根据关键字进行报警,并配置kibana权限控制.下面为详细步骤 环境: centos 7.6 elk版本7.50 ...

  4. ELK日志报警插件ElastAlert并配置钉钉报警

    文章转载自:https://www.cnblogs.com/uglyliu/p/13118386.html ELK日志报警插件ElastAlert 它通过将Elasticsearch与两种类型的组件( ...

  5. 五十七.分布式ELK平台、ES安装 、 扩展插件 、Kibana安装

    1. ES集群安装 准备1台虚拟机 部署elasticsearch第一个节点 访问9200端口查看是否安装成功   1ELK是日志分析平台,不是一款软件,而是一整套解决方案,是三个软件产品的首字母缩写 ...

  6. Kibana插件sentinl实现邮件报警

    为什么会突然想用到对日志的异常内容进行邮件报警,是因为在上周公司的线上业务多次出现锁表,开发在优化sql的同时,我也在想是不是可以对日志的异常内容进行检测并实现邮件预警. 在网上查询了一些资料后,决定 ...

  7. Ganglia与Centreon整合构建智能化监控报警平台

    一.智能运维监控报警平台的组成 随着大数据时代的来临,运维工作的难度越来越大,每个运维人员都要面临不计其数的服务器和海量的数据,如何保证众多服务器和业务系统稳定高效地运行并尽量减少死机时间,成为考核运 ...

  8. idou老师教你学Istio 26:如何使用Grafana进行可视化监控

    使用Grafana插件进行监控是Istio提供的监控能力之一.Istio提供丰富的监控能力,Grafana插件在Istio对Prometheus支持的基础上,为用户提供基于网页仪表面板的可视化监控效果 ...

  9. 基于 HTML5 WebGL 的智慧楼宇三维可视化监控

    前言 可视化的智慧楼宇在 21 世纪是有急迫需求的,中国被世界称为"基建狂魔",全球高层建筑数量位居首位,所以对于楼宇的监控是必不可少.智慧楼宇可视化系统更多突出的是管理方面的功能 ...

随机推荐

  1. 转载 C# 开源框架(整理)

    C# 开源框架(整理)http://www.cnblogs.com/gaoyuchuanIT/articles/5612268.html Json.NET http://json.codeplex.c ...

  2. AGC 030 B - Tree Burning 结论+枚举

    考试 T2,是一个脑筋急转弯. 最暴力的贪心是每次先选左,再选右,再选左..... 然而这么做在一些情况下是错的. 但是,我们发现我们的选法一定是 $LLLLRLRLRLRLR$ 或 $RRRRLRL ...

  3. BCB key事件中判断Shift、Alt、Ctrl状态

    BCB key事件中判断Shift.Alt.Ctrl状态: 类似此事件中 void __fastcall TForm1::keydown(TObject *Sender, WORD &Key, ...

  4. Redis中的缓存雪崩与缓存穿透

    1.缓存雪崩 1.1什么是缓存雪崩? 如果我们的缓存挂掉了,这意味着我们的全部请求都跑去数据库了. 我们都知道Redis不可能把所有的数据都缓存起来(内存昂贵且有限),所以Redis需要对数据设置过期 ...

  5. Bzoj 1926: [Sdoi2010]粟粟的书架(二分答案+乱搞+主席树)

    1926: [Sdoi2010]粟粟的书架 Time Limit: 30 Sec Memory Limit: 552 MB Description 幸福幼儿园 B29 班的粟粟是一个聪明机灵.乖巧可爱 ...

  6. golang-指针

    package main import "fmt" func main() { var p *int =&a //定义指针变量p,传递a的地址 //指针:指针就是地址,指针 ...

  7. Python逆向(四)—— Python内置模块dis.py源码详解

    一.前言 上一节我们对Python编译及反汇编做了讲解,大家知道dis模块可以将编译好的pyc文件中提取出来的PyCodeObject反汇编为可以阅读字节码形式.本节我们对dis模块中的源码进行详细的 ...

  8. LArea插件选中城市,确定之后又很难再次选择城市?

    加上fastclick.js这个js就能解决这个问题啦...... 详情:http://blog.csdn.net/zfy865628361/article/details/49512095

  9. [转载]运行中的DLL自升级

      最近手头有个需求:dll需要注入到某个进程常驻,该dll具备自我升级能力,当发现新的可用版本时,立即Free自己,加载新的.下面是一个实现方案: 开启一个监听线程,从网络上拉新的可用版本,下载放到 ...

  10. The Matrix | 黑客帝国

    今天又刷了一遍,依旧跟第一次看一样,非常惊叹震撼,同时也发现了更多的细节. 梳理一下情节: 开始就是Trinity在matrix里被黑衣人Agent追杀,Trinity团队的目的是寻找Neo,显然Ag ...