zabbix监控项、触发器和邮件告警

一.监控项

这是虚拟机上的两台机器:
在这里插入图片描述
这是配置的监控项:在这里插入图片描述
创建监控项有的需要参数才能添加成功:
监控项键值说明可以参考官方文档:
https://www.zabbix.com/documentation/4.0/zh/manual/config/items/itemtypes/zabbix_agent
下面以添加ping检查主机存活为例子:
1.icmpping检查需要在server上打开fping选项:

vim /etc/zabbix/zabbix_server.conf

在这里插入图片描述
注意:首先需要有fping命令才行,没有用yum install -y fping安装即可,被监控主机也要安装fping。
2.在web上添加ping的监控项:
在这里插入图片描述
在这里插入图片描述
填完点更新即可。
在这里插入图片描述
我添加之后监控项没有启动,有报错提示,有两个:
1.是第一个或几个参数无效错误:这个就是参数没配置好。修改完之后等两分钟才会有变化。
2.是某某值是一个字符串不是一个数字,这个需要改上面截图的信息类型。

成功后可以在最新数据里面看到:
在这里插入图片描述

二.触发器

触发器就是配合监控项使用的,听名字就是给监控项配置一个限制或监控值,等着它达到就会触发。
在这里插入图片描述
这里用icmpping来做触发器,假设它为0就是宕机的时候触发:
在这里插入图片描述
在这里插入图片描述
填完之后,点添加即可:
在这里插入图片描述
在这里插入图片描述
有了触发器之后,虚拟机宕机触发之后就会在首页提示你了。
在这里插入图片描述
当然我们可能不仅仅只是在首页提示,还需要它给我们发邮件告警。

三.邮件告警

邮件告警这里如果之前没有弄过邮件告警相关的东西,可能理解起来比较费劲。邮件告警工作中可能会有navica邮件自动发数据,python自定义邮件告警等,这些都是zabbix之外的。但是它们都需要一个东西,那就是邮件服务器。简而言之就是帮你发邮件的一个东西。咱们把东西都传给它,它会发给收件人。
这玩意不需要你去配置,随便在网上开通个邮箱账号,在它上面配置一个服务就行。
我用的网易126邮箱,平时不用就用来帮发邮件的,免费的。
在这里插入图片描述
在这里插入图片描述
把密码记住,需要这个密码验证发邮件,邮件服务器搞定了。
前置条件好了,回到zabbix,这里先说一下zabbix告警流程,防止搞乱了。我下面用脚本告警。zabbix触发器触发了之后,它就把这个告警通过你服务器上的脚本调用这个邮件服务器,最后告警信息发到了你的手机邮箱上。
1.告警媒介
在这里插入图片描述
在这里插入图片描述
上面的脚本名称,可以先随便写,这涉及到我们写的脚本和脚本同名,是的,我们需要先有一个脚本在服务器上才能成功,脚本我放到最后面部署。
在这里插入图片描述
配置用户,让他去使用这个脚本告警:
在这里插入图片描述
在这里插入图片描述
然后配置发邮件的发件信息以及其他配置:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
前台已经配置好了,最后就是脚本了:
zabbix检测脚本在规定的某个路径下,可以在配置文件中看到:
在这里插入图片描述
在这里插入图片描述
mail.py是用到126邮箱的
mial.py

#!/usr/bin/python
# -*- coding:UTF-8 -*-

import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
import sys

mail_host='smtp.126.com'
mail_sent='ligen_123@126.com'
mail_passwd='DQYMSQRHJEXSOCRR'
mail_recv='1694489278@qq.com'

def mail(mail_recv,mail_subject,mail_text):
    a = True
    try:
         mail_host='smtp.126.com'   这是126的smtp
         mail_sent='ligen_123@126.com' --这是你得126邮箱名
         mail_passwd='QRHJEX'  --这里用邮箱的那个snmp密码
         #mail_recv='1694489278@qq.com'
         msg = MIMEText(mail_text,'plain','utf-8')
         msg['From']=formataddr(["zabbix邮件告警",mail_sent])
         msg['To']=formataddr(["ligen",mail_recv])
         msg['Subject']=mail_subject

         server = smtplib.SMTP_SSL(mail_host,465)
         server.login(mail_sent,mail_passwd)
         server.sendmail(mail_sent,[mail_recv,],msg.as_string())
         server.quit()
    except:
         a = False

    return a
a = mail(sys.argv[1],sys.argv[2],sys.argv[3])
if a:
    print "邮件发送成功"
else:
    print "邮件发送失败"

成功后:
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值