今天继续给大家介绍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上查询到响应的索引查询结果,如下所示:

三、Rule规则配置

接下来,我们来创建规则,在我们的配置文件中,有一个参数是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

ELK详解(二十二)——Elastalert报警配置实战相关推荐

  1. CMake手册详解 (十二)

    2019独角兽企业重金招聘Python工程师标准>>> SirDigit CMake手册详解 (十二) CMD#30:find_library查找一个库文件 find_library ...

  2. shell脚本详解(十二)——Here Document免交互及Expect自动化交互

    shell脚本详解(十二)--Here Document免交互及Expect自动化交互 一.Here Document 免交互 1.格式 2.注意事项 3.免交互方式实现对行数的统计,将要统计的内容置 ...

  3. c语言标准库详解(十二):非局部跳转setjmp.h

    c语言标准库详解(十二):非局部跳转<setjmp.h> 概述 头文件<setjmp.h>中的声明提供了一种不同于通常的函数调用和返回顺序的方式,特别是,它允许立即从一个深层嵌 ...

  4. Hadoop详解(十二):Yarn资源调度策略

    在Yarn中有三种调度器可以选择:FIFO Scheduler ,Capacity Scheduler,Fair Scheduler. FIFO Scheduler FIFO Scheduler把应用 ...

  5. TCP/IP详解 第十二章(10) TCP Socket 编程

    前言 不管面试 Java .C/C++.Python 等开发岗位, TCP 的知识点可以说是的必问的了. 任 TCP 虐我千百遍,我仍待 TCP 如初恋. 遥想小林当年校招时常因 TCP 面试题被刷, ...

  6. TCP/IP详解 第十二章(9) TCP断开连接

    前言 不管面试 Java .C/C++.Python 等开发岗位, TCP 的知识点可以说是的必问的了. 任 TCP 虐我千百遍,我仍待 TCP 如初恋. 遥想小林当年校招时常因 TCP 面试题被刷, ...

  7. Pygame详解(十二):Surface 对象

    pygame.Surface Pygame 中用于表示图像的对象. Surface((width, height), flags=0, depth=0, masks=None) -> Surfa ...

  8. Linux系统调优详解(十二)——IO调优之磁盘测速

    今天继续给大家介绍Linux运维相关知识,本文主要内容是IO调优,测试对磁盘的速度. 在进行Linux系统调优的时候,我们需要对当前系统的硬盘读写速度进行测试.此时,我们可以选择使用hdparm命令或 ...

  9. STL详解(十二)—— unordered_set、unordered_map的介绍及使用

    文章目录 unordered系列关联式容器 unordered_set的介绍 unordered_set的使用 unordered_set的定义方式 unordered_set接口的使用 unorde ...

  10. PD3.0详解 第十二章总结

    前面的章节分开介绍了协议层和策略层的俩个重要策略!今天想总结一下,并做一些补充.如果有一些内容没有介绍到,可能后续会补充,同学们可以关注一下大师匈. 补充点一.读Emark 大家都知道PD是标定了10 ...

最新文章

  1. C++编程进阶3(如何写出正确的operator=、operator运算符的返回值以及是否应该是成员函数的讨论)
  2. Linux内核探讨-- 第四章
  3. TCL foreach的用法
  4. 大连公交客运集团认真安排做好2007年防台防汛准备工作
  5. STM32之SysTick例程
  6. Access数据库列名的命名规则
  7. layui 如何清空form表单
  8. 为VIP解决问题时写的源码
  9. php微信公众平台开发获取access_token,用CURL出现certificate verify failed错误的解决方法...
  10. STM32打印log--使用J-Link RTT Viewer
  11. 蓝桥杯2017年第八届C/C++省赛A组第一题-迷宫
  12. 网络工程师Day3--PPPoE配置实验
  13. Network in Network 算法解析
  14. ACM的奇计淫巧_bitset优化
  15. linux软路由关闭超线程,废掉硬路由,组建软路由的详细教程(图)
  16. 万能网页视频下载教程
  17. 7.11 不区分大小写的匹配
  18. Ubuntu安装WebStorm
  19. 计算机网怎样连接网络连接不上,网络连接不上,详细教您电脑网络连接不上怎么解决...
  20. 更改autocad 07为传统的二维绘图界面

热门文章

  1. 白板推导系列Pytorch-逻辑回归
  2. 独辟蹊径品内核 轻松领悟读书高境界
  3. 123. 买卖股票的最佳时机 III
  4. Python代码测试 - unitest\doctest\nose\pytest
  5. Vmware安装red hat linux及VMware tools
  6. linux 内核恐慌,linux – CentOS 6.5 mdadm Raid 1 – raid数据检查期间的内核恐慌
  7. SQL Server-【知识与实战VI】索引信息
  8. Java中try与catch的使用
  9. rk3399_android7.1添加个驱动且加上宏控编译
  10. python的shelve库