学堂学堂学堂公众号手机端

利用GrayLog告警功能实现钉钉群机器人定时工作提醒

nianxian1年前 (2023-08-24)阅读数 153#科技
用于接收Linux服务器系统日志;(图片可点击放大查看):success;2、Linux服务器系统日志接入到GrayLog;直接用Graylog自身作为Linux服务器日志源;name/ip;port;RSYSLOG_SyslogProtocol23Format;[root@centos opt]#;3、检查日志是否正常查询;可以看到日志正常接入;(图片可点击放大查看);

利用GrayLog告警功能实现钉钉群机器人定时工作提醒

1、GrayLog单独新建一个Syslog Input

用于接收Linux服务器系统日志

利用GrayLog告警功能实现钉钉群机器人定时工作提醒

(图片可点击放大查看)

建议单独建一个Indice

利用GrayLog告警功能实现钉钉群机器人定时工作提醒

(图片可点击放大查看)

并配置单独的Stream

利用GrayLog告警功能实现钉钉群机器人定时工作提醒

(图片可点击放大查看)

利用GrayLog告警功能实现钉钉群机器人定时工作提醒

(图片可点击放大查看)

利用GrayLog告警功能实现钉钉群机器人定时工作提醒

(图片可点击放大查看)

防火墙中将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 

利用GrayLog告警功能实现钉钉群机器人定时工作提醒

(图片可点击放大查看)

3、检查日志是否正常查询

可以看到日志正常接入

利用GrayLog告警功能实现钉钉群机器人定时工作提醒

(图片可点击放大查看)

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

利用GrayLog告警功能实现钉钉群机器人定时工作提醒

也就是6月份的工作日

1、每天0点1分自动替换/etc/work_alert.txt文件中@的人员姓名,相关每周每日轮班为不同人员

2、每天17点时执行logger -f 命令写入到系统日志中

利用GrayLog告警功能实现钉钉群机器人定时工作提醒

(图片可点击放大查看)

5、配置Alert告警模板

利用GrayLog告警功能实现钉钉群机器人定时工作提醒

(图片可点击放大查看)

利用GrayLog告警功能实现钉钉群机器人定时工作提醒

(图片可点击放大查看)

利用GrayLog告警功能实现钉钉群机器人定时工作提醒

(图片可点击放大查看)

Search Query "今日值班工作提醒" Search within the last你可以写5分钟或者更短3分钟

Execute search every建议跟Search within the last设置的时间一致

利用GrayLog告警功能实现钉钉群机器人定时工作提醒

(图片可点击放大查看)

利用GrayLog告警功能实现钉钉群机器人定时工作提醒

(图片可点击放大查看)

PrometheusAlert上的告警模板请自行配置

如下截图

利用GrayLog告警功能实现钉钉群机器人定时工作提醒

(图片可点击放大查看)

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

利用GrayLog告警功能实现钉钉群机器人定时工作提醒

(图片可点击放大查看)

利用GrayLog告警功能实现钉钉群机器人定时工作提醒

(图片可点击放大查看)

利用GrayLog告警功能实现钉钉群机器人定时工作提醒

(图片可点击放大查看)

等待5分钟观察是否可以收到告警

利用GrayLog告警功能实现钉钉群机器人定时工作提醒

(图片可点击放大查看)

7、Tips

1)理论上crontab定时任务脚本如果没有问题的话,就会正常发送告警

2)PrometheusAlert关闭@所有人 以及告警通知标题修改

利用GrayLog告警功能实现钉钉群机器人定时工作提醒

(图片可点击放大查看)

利用GrayLog告警功能实现钉钉群机器人定时工作提醒

(图片可点击放大查看)

3)说明:目前发现@某人的功能未能成功

还待研究,需要改写replace_username.sh 脚本

原文地址:https://cloud.tencent.com/developer/article/2041000

版权声明

本文仅代表作者观点,不代表xx立场。
本文系作者授权xx发表,未经许可,不得转载。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门