zabbix 自定义监控项每隔1分钟检测一次三次失败报警
2024-10-08 08:16:59
在agent上添加 UserParameter=auth.check,/etc/zabbix/auth_monitor/auth_check.py
auth.check就是之后添加的自定义的item值。脚本返回0/1,做trigger报警用
#!/usr/bin/env python #_*_coding:utf-8_*_ import os,sys,time import smtplib from email.mime.text import MIMEText from email.header import Header from email.utils import formatdate hostName="xxxxx" res_str = os.popen("java -jar /etc/zabbix/auth_monitor/loginMonitor.jar") res = res_str.read().strip().split("\n") success_status = ['xxxxx','xxxxx'] def sendMail(mTitle,mes): receiver = ["a@b.com","b@c.com"] encoding = "utf-8" message = MIMEText("巡检主机:\n" + hostName + "\n\n" + "auth check error:" + mes, 'plain', 'utf-8') message['Subject'] = Header(mTitle, encoding) message['From'] = "alert@b.com" message['To'] = ", ".join(receiver) message['Date'] = formatdate() try: smtpObj = smtplib.SMTP_SSL('smtp.exmail.qq.com', 465) smtpObj.ehlo() smtpObj.login('alert@b.com', 'xxxxxxx') smtpObj.sendmail('alert@b.com', receiver, message.as_string()) #print "send mail success" except Exception: print "send mail error" def auth_status(): if success_status == res: #sendMail("【auth0 巡检告警】auth不异常!",str(res)) statuscode = 1 return statuscode else: sendMail("【auth 巡检告警】auth异常!",res) statuscode = 0 return statuscode i = auth_status() print i
trigger
创建新的报警触发器 create trigger
点击Expression constructor 开始创建监控条件
添加新到条件
最新文章
- ARC
- 3个sprint的团队贡献分
- php dirname($path) 中文路径不对问题
- asp.net.web如何简单生成和保存二维码图片的例子
- response.addCookie(cookie)添加cookie失败.
- Java中的字面量
- FireFox站点标识按钮
- Sybase数据库的分页功能
- loadrunner:判断是否服务器连接池瓶颈
- SpringCloud微框架系列整体模块梳理
- UglifyJs打包压缩问题引起的思考
- python中print和input的底层实现
- 对C#中的Close()和Dispose()的浅析
- linux服务器性能查看
- tomcat源码阅读之Tribes.RpcChannel
- Centos Android开发环境配置-Android Tools -android list sdk --extended --all
- PHP判断用户是否手机访问
- [Windows Azure] How to Manage Cloud Services
- MongoDB复制原理
- django 用户登陆的实现 构造类的方式