1、配置win监控项
win系统日志ID 4624是成功登录 4625是失败登录
登录成功日志:
eventlog[Security,,"Success Audit",,^4624$,,skip]
登录失败日志:
eventlog[Security,,"Success Audit",,^4625$,,skip]
要监控登录的日志,需要添加主机的时候选择主动发现,才能使用eventlog监控项
evetlog参数地址:
2、配置触发器
我这边安装的是zabbix7.0版本。触发器和以前版本有一定的差异
nodata( /WIN-4UUB4MVEQFE/eventlog[Security,,"Success Audit",,^4624,,skip\],60**)** =0 and **find(** /WIN-4UUB4MVEQFE/eventlog\[Security,,"Success Audit",,\^4624,,skip],,,"Advapi")=0
失败把win系统ID换下即可
3、配置钉钉
钉钉群管理中添加个机器人即可
复制Webhook的地址
然后编写python接口,这里我直接复制其他人代码
原文:Zabbix 配置钉钉告警_zabbix 钉钉告警-CSDN博客
vim /usr/lib/zabbix/alertscripts/dingding.py
#!/usr/bin/env python3
#coding:utf-8
#zabbix钉钉报警
import requests,json,sys,os,datetime
user=sys.argv[1]
text=sys.argv[3]
data={
"msgtype": "text",
"text": {
"content": text
},
"at": {
"atMobiles": [
user
],
"isAtAll": False
}
}
headers = {'Content-Type': 'application/json'}
x=requests.post(url=webhook,data=json.dumps(data),headers=headers)
if os.path.exists("/var/log/zabbix/dingding.log"):
f=open("/var/log/zabbix/dingding.log","a+")
else:
f=open("/var/log/zabbix/dingding.log","w+")
f.write("\n"+"--"*30)
if x.json()["errcode"] == 0:
f.write("\n"+str(datetime.datetime.now())+" "+str(user)+" "+"发送成功"+"\n"+str(text))
f.close()
else:
f.write("\n"+str(datetime.datetime.now()) + " " + str(user) + " " + "发送失败" + "\n" + str(text))
f.close()
赋予脚本执行权限
chmod +x /usr/lib/zabbix/alertscripts/dingding.py
创建日志文件:
touch /var/log/zabbix/dingding.log
chown zabbix.zabbix /var/log/zabbix/dingding.log
安装python 请求模块
apt update -y
apt install -y python3-pip
测试python代码是否能正常运行:
./dingding.py this is "告警测试,请注意"
4、zabbix告警设置
创建钉钉脚本
创建触发器动作
自定义消息内容:
官方宏文档:
https://www.zabbix.com/documentation/current/zh/manual/appendix/macros/supported_by_location
告警信息:
主机名: {HOST.NAME}
主机IP:{HOST.CONN}
事件名称:{ITEM.NAME}
事件程度:{ITEM.LOG.NSEVERITY}
事件严重性:{ITEM.LOG.SEVERITY}
事件日期:{ITEM.LOG.DATE} {ITEM.LOG.TIME}
事件ID:{ITEM.LOG.EVENTID}
登陆者IP:{{ITEM.VALUE}.regsub("\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}",\0)}
用户添加报警
测试效果: