一、场景说明
在我们的生产环境中,为了保证业务系统稳定高效的运行,除了日常的服务器、网络等的监控之外,还有一个最重要的就是业务日志,往往业务系统出现问题都会首先在业务日志中呈现出来,所以日志监控是确保业务系统可以高效稳定对外提供服务的关键,而且我们在做项目开发时,团队也会对日志打印的格式进行统一规范;在日志采集这块大多项目中都是通过ELK这款开源的日志采集系统实现对业务以及系统等关键性日志进行采集展示的;
日志告警实现其实有个插件,叫做ElastAlert
,这款插件是Yelp
公司基于python开发的ELK 日志报警插件;本篇文章,我是通过logstash中去过滤日志关键词进行告警的,实现告警信息通过邮箱和企业微信机器人的方式进行通知。
这里呢,我只是提供一个简单的实现方式的思路,不一定完全适合你的项目,再一个就是ELK这
- 说明:这里我是基于Nginx的日志进行演示的,ELK的安装以及Nginx日志采集可以查看之前我写的文章。
二、邮原文链接:https://www.dqzboy.com 箱告警
1、创建片段文件
- 在
logstash
的配置目录下创建一个Nginx的片段文件 - 这段配置,主要是通过判断
message
中的304状态码然后触发告警
温馨提示: 谢绝白嫖!您的账号需绑定邮箱之后再进行评论(先绑后评),才可正常查阅内容!点击绑定邮箱
注意:添加邮箱配置后必须重启logstash才会生效
2、测试邮箱告警
- 浏览器多次访问Nginx页面。然后查看ES是否已经创建了对应的
文章来源(Source):https://www.dqzboy.com 索引,如果有了索引,然后查看邮箱是否接收到了告警邮件
- 以
原文链接:https://www.dqzboy.com 下方式运行logstash会把日志信息打印在前台,有助于我们进行测试
[root@logstash ~]# /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/nginx-log.conf

- 查看ES是否创建了索引
[root@es-node1 ~]# curl -sXGET --user elastic:dqKxwJy3PKjCROUY4XZM http://192.168.66.14:9200/_cat/indices?v

filebeat
所运行的节点可以先停止通过systemd
启动的进程,然后以命令行方式启动,可以进行测试查看实时采集的日志信息,有助于我们排错

- 检查邮箱,邮箱中已经收到了告警邮件

三、微信告警
- 这
原文链接:https://www.dqzboy.com 里的微信是企业微信,我们首先需要在企业微信群组中创建一个群机器人,然后获取到机器人的token,最后在logstash
中配置调用机器人token实现告警 - 注意:
logstash
所在服务器必须可以连接到外网,不然无法发送告警信息到机器人
这块,其实只需要将上面邮箱的配置改为企业微信机器人相关的配置即可,配置如下
温馨提示: 谢绝白嫖!您的账号需绑定邮箱之后再进行评论(先绑后评),才可正常查阅内容!点击绑定邮箱
谢谢大佬分享
elk实现了日志监控
谢谢大佬分享
不错的文章 学习下
学习查看一下
网站做的不错
学习一下具体思路