利用GrayLog告警功能实现钉钉群机器人定时工作提醒
用于接收Linux服务器系统日志;(图片可点击放大查看):success;2、Linux服务器系统日志接入到GrayLog;直接用Graylog自身作为Linux服务器日志源;name/ip;port;RSYSLOG_SyslogProtocol23Format;[root@centos opt]#;3、检查日志是否正常查询;可以看到日志正常接入;(图片可点击放大查看);
利用GrayLog告警功能实现钉钉群机器人定时工作提醒
1、GrayLog单独新建一个Syslog Input用于接收Linux服务器系统日志
(图片可点击放大查看)
建议单独建一个Indice
(图片可点击放大查看)
并配置单独的Stream
(图片可点击放大查看)
(图片可点击放大查看)
(图片可点击放大查看)
防火墙中将Input端口放通
[root@centos opt]# firewall-cmd --permanent --zone=public --add-port=2514/udp
success
[root@centos opt]# firewall-cmd --reload
success
2、Linux服务器系统日志接入到GrayLog这里为了方便,直接用Graylog自身作为Linux服务器日志源
[root@centos opt]# echo "*.* @192.168.31.127:2514;RSYSLOG_SyslogProtocol23Format" >> /etc/rsyslog.conf
[root@centos opt]#
[root@centos opt]# tail -n 4 /etc/rsyslog.conf
# remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional
#*.* @@remote-host:514
# ### end of the forwarding rule ###
*.* @192.168.31.127:2514;RSYSLOG_SyslogProtocol23Format
[root@centos opt]#
[root@centos opt]# systemctl restart rsyslog
(图片可点击放大查看)
3、检查日志是否正常查询可以看到日志正常接入
(图片可点击放大查看)
4、编写定时写入系统日志的脚本及Crontab定时任务vi replace_username.sh
#!/bin/bash
temp_day=`date +%a`
case $temp_day in
Mon)
echo "今日值班工作提醒 @张三A" > /etc/work_alert.txt;
;;
Tue)
echo "今日值班工作提醒 @李四B" > /etc/work_alert.txt;
;;
Wed)
echo "今日值班工作提醒 @王五C" > /etc/work_alert.txt;
;;
Thu)
echo "今日值班工作提醒 @袁繁(行云) " > /etc/work_alert.txt;
;;
Fri)
echo "今日值班工作提醒 @袁繁" > /etc/work_alert.txt;
;;
Sat)
echo "今日值班工作提醒 @张三F" > /etc/work_alert.txt;
;;
Sun)
echo "今日值班工作提醒 @张三G" > /etc/work_alert.txt;
;;
*)
exit;
esac
配置本月工作定时任务
crontab -e
1 0 1,2,6,7,8,9,10,13,14,15,16,17,20,21,22,23,24,27,28,29,30 * * /opt/replace_username.sh
00 17 1,2,6,7,8,9,10,13,14,15,16,17,20,21,22,23,24,27,28,29,30 * * /usr/bin/logger -f /etc/work_alert.txt
也就是6月份的工作日
1、每天0点1分自动替换/etc/work_alert.txt文件中@的人员姓名,相关每周每日轮班为不同人员
2、每天17点时执行logger -f 命令写入到系统日志中
(图片可点击放大查看)
5、配置Alert告警模板(图片可点击放大查看)
(图片可点击放大查看)
(图片可点击放大查看)
Search Query "今日值班工作提醒" Search within the last你可以写5分钟或者更短3分钟
Execute search every建议跟Search within the last设置的时间一致
(图片可点击放大查看)
(图片可点击放大查看)
PrometheusAlert上的告警模板请自行配置
如下截图
(图片可点击放大查看)
6、手动触发日志并测试告警[root@centos opt]# /usr/bin/logger -f /etc/work_alert.txt
[root@centos opt]# date
Thu Jun 9 23:21:51 CST 2022
[root@centos opt]# cat /etc/work_alert.txt
(图片可点击放大查看)
(图片可点击放大查看)
(图片可点击放大查看)
等待5分钟观察是否可以收到告警
(图片可点击放大查看)
7、Tips1)理论上crontab定时任务脚本如果没有问题的话,就会正常发送告警
2)PrometheusAlert关闭@所有人 以及告警通知标题修改
(图片可点击放大查看)
(图片可点击放大查看)
3)说明:目前发现@某人的功能未能成功
还待研究,需要改写replace_username.sh 脚本
原文地址:https://cloud.tencent.com/developer/article/2041000
版权声明
本文仅代表作者观点,不代表xx立场。
本文系作者授权xx发表,未经许可,不得转载。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。