zabbix 自定义监控项每隔1分钟检测一次三次失败报警

在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 = ["[email protected]","[email protected]"]
    encoding = "utf-8"
    message = MIMEText("巡检主机:\n" + hostName + "\n\n" + "auth check error:" + mes, ‘plain‘, ‘utf-8‘)
    message[‘Subject‘] = Header(mTitle, encoding)
    message[‘From‘] = "[email protected]"
    message[‘To‘] = ", ".join(receiver)
    message[‘Date‘] = formatdate()
    try:
        smtpObj = smtplib.SMTP_SSL(‘smtp.exmail.qq.com‘, 465)
        smtpObj.ehlo()
        smtpObj.login(‘[email protected]‘, ‘xxxxxxx‘)
        smtpObj.sendmail(‘[email protected]‘, 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 开始创建监控条件

添加新到条件

原文地址:https://www.cnblogs.com/dribs/p/11776262.html

时间: 2024-11-09 01:06:21

zabbix 自定义监控项每隔1分钟检测一次三次失败报警的相关文章

zabbix自定义监控项key值

说明: zabbix自带的默认模版里包括了很多监控项,有时候为了满足业务需求,需要根据自己的监控项目自定义监控项,这里介绍一种自定义监控项的方式. 1,首先编写自定义监控脚本,本文以监控httpd进程是否存在为例. 脚本名字:check_httpd.sh 脚本目录(这个目录可以自定义):/usr/local/etc/zabbix_scripts 脚本内容: #!/bin/bash result=`ps -ef | grep httpd | grep -v grep`if [ -n "$resul

关于zabbix自定义监控项,用户权限不够的问题

zabbix中需要自定义添加对rabbitmq的监控,以及时响应rabbitmq出现的问题,所以在zabbix_agented.conf中添加了一项 #UserParameter=rabbitmq,rabbitmqctl status &> /dev/null && echo '0' || echo '1' 之后重启agent测试 #/usr/local/zabbix/sbin/zabbix_agentd -t rabbitmq 显示结果为 rabbitmq      [t|

zabbix自定义监控项

1. 编辑客户端配置文件/etc/zabbix/zabbix_agentd.conf 内容: UnsafeUserParameters=1 # UserParameter=my.net.if[*], /usr/local/sbin/zabbix/net.sh $1 $2 UserParameter=process.nginx.memory, /tmp/shell/processstatus.sh nginx UserParameter=process.nginx.cpu, /tmp/shell/

zabbix服务器添加监控主机,使用监控模板及自定义监控项

上一篇博文记录了<Ubuntu系统LNMP环境下安装配置zabbix3.04>,这里我记录了添加监控主机,添加监控模板和自定义监控CPU 添加监控主机 1.监控主机安装zabbix-agent $ sudo apt-get install zabbix-agent 2.修改zabbix_agent.conf配置文件 $ sudo vi /etc/zabbix/zabbix_agentd.conf - Server=120.40.*.* #zabbix-server端IP - ServerAct

【Zabbix】自定义监控项 key 值。

zabbix自带的默认模版里包括了很多监控项,有时候为了满足业务需求,需要根据自己的监控项目自定义监控项,这里介绍一种自定义监控项的方式. 1,首先编写自定义监控脚本,本文以监控httpd进程是否存在为例. 脚本名字:check_httpd.sh 脚本目录(这个目录可以自定义):/usr/local/etc/zabbix_scripts 脚本内容: 脚本说明:通过ps检查httpd进程是否存在,如果存在则脚本反馈1,如果不存在则返回0 2,修改zabbix_agentd.conf配置文件. 说明

zabbix的自定义监控项和触发器的配置

实例:自定义一个检查Linux系统根目录的使用情况的监控项. 1.配置一个自定义的监控项 (1).先配置获取根目录使用的当前情况的脚步,生产的脚步文件要有执行权限,如下: [[email protected] ~]# df -h | awk '{if(NR==2){print int($5)}}' //NR代表行,$5代表第5列 给脚本执行权限: 脚本执行结果: (2).把这个获取根目录使用情况的脚本在zabbix_agent中配置为监控项: #自定义监控项的key为my.dsp.count,后

shell编程之【zabbix自定义监控网卡流量脚本】

之前写了一篇文章主要介绍zabbix的搭建使用http://msiyuetian.blog.51cto.com/8637744/1705396 下面这篇文章主要介绍zabbix自定义监控网卡流量的脚本实现 前期准备 1.说明 server ip :192.168.0.115 client ip :192.168.0.114 2.开启服务 因为之前搭建过zabbix环境,这里就不重复了,直接开启服务端的所需服务: [[email protected] ~]# /etc/init.d/httpd s

自定义监控项--监控CPU信息

自定义监控项--监控CPU信息 1.服务端安装zabbix-get安装 Zabbix-Get 是Zabbix 中的一个程序,用于Zabbix-Server 到Zabbix-Agent 的数据获取,通常可以用来检测验证Agent 的配置是否正确. [email protected]:~# apt-get install zabbix-get Reading package lists... Done Building dependency tree Reading state informatio

zabbix自定义监控实现思路以及自定义监控某个端口的连接数

一 zabbix自定义监控实现思路 我在前面有写到: zabbix3.x服务端安装和配置 zabbix3.x客户端安装和配置 zabbix监控memcached 实际上我们要想使用zabbix来监控一些服务的原理很简单,步骤分别是: 写一个脚本用于获取待监控服务的一些状态信息 在zabbix客户端的配置文件zabbix_agentd.conf中添加上自定义的"UserParameter",目的是方便zabbix调用我们上面写的那个脚本去获取待监控服务的信息 在zabbix服务端使用za