首页
学习
活动
专区
圈层
工具
发布
28 篇文章
1
使用Telegraf+GrayLog实现Linux业务系统服务异常时自动推送钉钉告警
2
GrayLog使用HTTP JSONPath方式调用微步在线云API识别威胁IP
3
使用GrayLog对PrometheusAlert推送的安全告警进行图形报表统计与分析
4
Windows服务器安装graylog-sidecar实现系统日志快速接入Graylog
5
​数据采集神器Telegraf对接开源日志服务器GrayLog
6
利用GrayLog的output功能实现简单的GrayLog分布式级联
7
GrayLog+nxlog采集邮箱登录日志csv文件并实现邮箱异地登录钉钉机器人告警
8
只能使用UDP:514端口接收Syslog日志的两种解决方法
9
开源蜜罐Hfish的简单部署并接入到GrayLog
10
一键安装脚本实现快速部署GrayLog Server 4.2.10单机版
11
利用GrayLog告警功能实现钉钉群机器人定时工作提醒
12
Linux主机安装NetFlow采集器并使用Graylog进行网络流量分析
13
CentOS7下部署OSSEC开源主机入侵检测系统(HIDS)并接入到GrayLog
14
Sysmon+Nxlog+GrayLog实现Windows服务器安全日志监控
15
Linux防暴力破解工具Fail2ban的日志接入到GrayLog并实现GeoIP展示
16
Nginx访问日志接入GrayLog4.2.5并通过GeoIP展现访问者IP的地理位置信息
17
商业堡垒机对接GrayLog实现生产服务器高危命令钉钉机器人自动告警
18
使用腾讯云SSL证书为GrayLog Web接口配置nginx HTTPS/SSL反向代理
19
GrayLog中使用Prometheus Alert实现钉钉群机器人自动告警
20
Graylog4.2集群部署完整教程
21
GrayLog配置SSH暴力破解攻击日志告警并推送到钉钉机器人
22
【实践】GrayLog4.2使用webhook成功推送日志告警到钉钉群机器人
23
【已修复Log4j2漏洞】GrayLog安全版本4.2.3升级实践
24
利用pipeline实现GrayLog中用日志源IP地址区分主机
25
Graylog4.2+GeoIP2获取SSH暴力破解攻击者IP的地理位置信息
26
使用EVE-NG模拟山石网科防火墙syslog日志接入GrayLog4.1
27
开源日志管理系统Graylog之Sidecar功能实践
28
CentOS7下部署Graylog开源日志管理系统

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

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

1、GrayLog单独新建一个Syslog Input

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

(图片可点击放大查看)

建议单独建一个Indice

(图片可点击放大查看)

并配置单独的Stream

(图片可点击放大查看)

(图片可点击放大查看)

(图片可点击放大查看)

防火墙中将Input端口放通

代码语言:javascript
复制
[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服务器日志源

代码语言:javascript
复制
[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

代码语言:javascript
复制
 #!/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

配置本月工作定时任务

代码语言:javascript
复制
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、手动触发日志并测试告警

代码语言:javascript
复制
[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、Tips

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

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

(图片可点击放大查看)

(图片可点击放大查看)

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

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

下一篇
举报
领券