开云官网帮助中心

3年前 (2023-06-16)

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

1、GrayLog单独新建一个Syslog Input

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

利用GrayLog告警功能实现钉钉群

(图片可点击放大查看)

建议单独建一个Indice

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

(图片可点击放大查看)

并配置单独的Stream

(图片可点击放大查看)

(图片可点击放大查看)

建议单独建一个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

利用GrayLog告警功能实现钉钉群

也就是6月份的工作日

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

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

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

(图片可点击放大查看)

5、配置Alert告警模板

(图片可点击放大查看)

(图片可点击放大查看)

建议单独建一个Indice

(图片可点击放大查看)

并配置单独的Stream

(图片可点击放大查看)

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

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

开云官网帮助中心

(图片可点击放大查看)

开云手机站登录入口

(图片可点击放大查看)

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

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

(图片可点击放大查看)

(图片可点击放大查看)

(图片可点击放大查看)

建议单独建一个Indice

(图片可点击放大查看)

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

并配置单独的Stream

(图片可点击放大查看)

7、Tips

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

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

开云官网帮助中心

(图片可点击放大查看)

开云手机站登录入口

(图片可点击放大查看)

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

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

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

你可能想看:

继续阅读

若需了解「开云官网帮助中心」的上下文,可结合站内栏目与相关篇目交叉阅读。

栏目用于追新,文内链接用于对照细节。两者配合可减少漏读与重复检索。

继续浏览时优先选择同栏目或相近主题,避免被站外镜像带偏。

站点导览

wiki · 科技 · 文化 · 主页

页面按栏目组织。可先看导读,再进入相关篇目或返回列表。