前言

最近想在 ELK 基础上,临时搭一个告警系统,这里介绍有关 elastalert 的安装及使用。

安装

参考官方安装说明

git clone https://github.com/bitsensor/elastalert.git; cd elastalert
docker run -d -p 3030:3030 \
    -v `pwd`/config/elastalert.yaml:/opt/elastalert/config.yaml \
    -v `pwd`/config/elastalert-test.yaml:/opt/elastalert/config-test.yaml \
    -v `pwd`/config/config.json:/opt/elastalert-server/config/config.json \
    -v `pwd`/rules:/opt/elastalert/rules \
    -v `pwd`/rule_templates:/opt/elastalert/rule_templates \
    --name elastalert bitsensor/elastalert:latest

docker run之前,我修改了 elastalert.yaml 和 config.json 的 es_host 配置(默认是localhost

规则

参考官方规则文档,在 rules 目录下添加 test.yaml 规则,如下所示:

# Rule name, must be unique
name: web request status

# Type of alert.
#type: spike
type: frequency

# num_events must occur within this amount of time to trigger an alert
# 在5m内,查到的数量多于20,曾触发报警
timeframe:
  minutes: 5
num_events: 20


# Index to search, wildcard supported
# 索引和时间filed
index: edu.pd.log.access-*
timestamp_field: "@timestamp"

# 匹配规则
filter:
 - query:
     query_string:
       query: "response_status: 200"
#- query:
#    term:
#      response_status:
#        value: 200

# 邮件标题 
alert_subject: "Surge in attacks on {}"
alert_subject_args:
  - http_host

# 邮件内容
alert_text_type: alert_text_only
alert_text: "Surge in attacks on {}"
alert_text_args:
  - host

# The alert is use when a match is found
alert:
  - "email"
email:
  - "290557551@qq.com"
smtp_host: smtp.qq.com
smtp_ort: 465
smtp_ssl: true
smtp_auth_file: /opt/elastalert/rule_templates/email_auth.yaml
from_addr: 290557551@qq.com

API

查看版本信息
upload successful

查看加载的规则
upload successful

查看某个具体规则
upload successful

还可通过 API,动态增删改规则

ELK

elastalert 会将日志存入 es 的 elastalert_status index 中
upload successful

在 Kibana 创建 elastalert index,可图形化查看相关信息
upload successful

邮件

邮件接收成功,可修改配置,丰富邮件内容。
upload successful

参考文档

elastalert 安装文档
elastalert API文档
elastalert 官方文档
elastalert 规则文档

相关文章
评论
  • ipset

    ipset 安装参考文档(待整理)ipset 官方文档ipset 7.1版本链接使用参考文档 简单的流程可以用这几条命令概括使用 ipset 和 iptables 进行 IP 封禁的流程 ipset create blacklist ...

    ipset
  • 藏独组织“野鸡”的挑衅

    前言2019 年 1 月 12 日,有人以“匿名者”名义通过 YouTube 发布视频,呼吁将于2月13日针对中国部分政府网站进行网络攻击,并于 1 月 16 日在 PastBin 发布 100 个被攻击单位网站列表。 追踪视频明确...

    藏独组织“野鸡”的挑衅
  • 删除非目录文件

    linux 下删除一个目录下所有的隐藏文件和非目录文件 前言在 alpine 基础上编译 OpenWAF,想要达到最简,删除无用文件。 亮点rm -rf `ls -Fa | grep '^\.\w'` -- 删除隐...

    删除非目录文件
  • 在 alpine 上编译 openssl 遇到的问题

    alpine 上编译 openssl (v1.1.1) 遇到 ucontext 报错 前言今天在 alpine 基础上编译 openwaf,编到 openssl 时,报 ucontext 相关错误。 ucontext 报错编译 ope...

    在 alpine 上编译 openssl 遇到的问题
  • 用 hugo 创建自己的博客

    如何用 hugo 搭建自己的博客 前言前两天,hexo 打开了自建博客的道路。今天看到了 hugo,准备研究一下。hugo 是用 go 语言开发的,优势在于编译速度快。如果博客文章达到七八百篇,hexo 可能要几十分钟,但 hugo“...

    用 hugo 创建自己的博客
  • 对于 hexo Annie 主题部分修改

    修改部分 Annie 主题的设置 字体默认字体Annie 默认是繁体字,改为默认是简体字 修改 Annie\source\js\chinese.js 文件的第五行 原文: var zh_choose = 't'; 改为...

    对于 hexo Annie 主题部分修改
  • 批量修改或添加文件后缀名

    前言常见的是对不同文件名进行文件后缀名修改。但今天遇到同一文件名的情况。 常见windows 或 Linux 命令: ren *.jpg *.bmp # 将 jpg 后缀改为 bmp 如:1.jpg 2.txt 改后为:1.bm...

    批量修改或添加文件后缀名
  • 解决背景与文字颜色冲突问题

    解决因背景图颜色,导致文字看不清晰的问题 前言刚刚创建此博客,被随机背景图和散文诗集吸引。但常常因为背景图颜色过浅,导致白色的文字看不清晰。 方法本来想把所有的背景图都换成黑色的。但当我下载了 1500 多张图,准备从中挑出所有的...

    解决背景与文字颜色冲突问题
  • OpenWAF 使用手册

    NameOpenWAF 第一个全方位开源的Web应用防护系统(WAF),更全面的防护功能,更多样的防护策略 Table of Contents Name Version Synopsis Description Installatio...

    OpenWAF 使用手册
  • Microsoft Search 磁盘空间不足

    Microsoft Search 导致 C 盘空间不足. 前言Windows Search的功能是为我们电脑中的文件、电子邮件和其他内容提供内容索引、属性缓存和搜索结果。Windows Search默认是开机启动的,它会利用计算机的空...

    Microsoft Search 磁盘空间不足