ELK基于ElastAlert实现日志的微信报警 ---docker环境
参考网址:https://github.com/anjia0532/elastalert-docker
1.拉取镜像:
docker pull anjia0532/elastalert-docker:v0.2.4
2.启动容器,根据es实际情况来决定启动参数中是否要设置es访问用户名和密码,我这边设置了
具体使用啥参数,参考网址上有说明
docker run -d -e"ELASTICSEARCH_HOST=192.168.75.21" \
-e"ELASTICSEARCH_USER=elastic" \
-e"ELASTICSEARCH_PASSWORD=IjGj8QwWYeXY7rVoLLQ6" \
-e"CONTAINER_TIMEZONE=Asia/Shanghai" \
-e"TZ=Asia/Shanghai" \
--name es1 anjia0532/elastalert-docker:v0.2.4
3.观察启动后的情况
首先在kibana上查看索引情况,会发现自动创建几个以elastalert开头的索引,效果跟手动执行命令:elastalert-create-index
一样
容器日志中也会有相应的显示信息
其次,登陆到容器中,会发现容器默认工作目录是:/opt/elastalert
查看config.yaml文件内容,效果跟手动配置config.yaml文件内容类似
config.yaml文件中的配置可以在启动容器的时候进行指定,参考网址上有详细说明,个别参数的默认配置可以跟config.yaml文件中的参数一 一对应
然后发现容器中/opt/elastalert/rules目录下为空,也就是配置告警规则的目录
手动创建一个微信告警规则文件,wechat.yaml
容器日志中能看到详细的添加信息
手动往filebeat监控的日志文件中添加error的消息,触发报警
企业微信收到的消息,内容跟微信模板一样
总结
可以在启动容器的时候把rules告警规则目录从宿主机上挂载进去,这样就不用每次登陆进容器添加告警规则了
docker run -d -e"ELASTICSEARCH_HOST=192.168.75.21" \
-e"ELASTICSEARCH_USER=elastic" \
-e"ELASTICSEARCH_PASSWORD=IjGj8QwWYeXY7rVoLLQ6" \
-e"CONTAINER_TIMEZONE=Asia/Shanghai" \
-e"TZ=Asia/Shanghai" \
-v /mnt/elastalert/rules:/opt/elastalert/rules \
--name es1 anjia0532/elastalert-docker:v0.2.4
或者事先在宿主机的/mnt/elastalert/rules目录下创建好报警规则,或者等容器启动后再在宿主机的/mnt/elastalert/rules目录创建报警规则都可以
分类:
ElastAlert
, ELK Stack
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
2019-09-05 Python装饰器详解