zabbix添加自定义监控项目,配置邮件告警,测试告警,不发邮件的问题处理

不许人间见白头 98 0

添加自定义监控项目

1. 需求:监控某台web服务器的80端口并发连接数,并设置图形。

2.分析需求:

在zabbix监控中心创建自定义监控项目;

针对该监控项目以图形展现;

3. 具体操作步骤:

在zabbix-agent端编辑自定义脚本

#vim /usr/local/sbin/estab.sh //内容如下

#!/bin/bash
##获取80端口并发连接数
netstat -ant |grep ':80 ' |grep -c ESTABLISHED

#给脚本添加权限

[root@ahao02 ~]# chmod 755 /usr/local/sbin/estab.sh

客户端上编辑配置文件

# vim /etc/zabbix/zabbix_agentd.conf//增加

UnsafeUserParameters=1  //表示使用自定义脚本

UserParameter=my.estab.count[*],/usr/local/sbin/estab.sh

zabbix添加自定义监控项目,配置邮件告警,测试告警,不发邮件的问题处理-第1张图片-阿豪运维笔记

#自定义监控项的key为my.estab.count,后面的[*]里面写脚本的参数,如果没有参数则可以省略,脚本为/usr/local/sbin/estab.sh

# 重启zabbix-agent服务

[root@ahao02~]# systemctl restart zabbix-agent

4、验证

[root@ahao01 ~]# zabbix_get -s 192.168.5.6  -p 10050 -k 'my.estab.count'0

注意:需要关闭防火墙和selinux

然后在zabbix监控中心(浏览器)配置增加监控项目

zabbix添加自定义监控项目,配置邮件告警,测试告警,不发邮件的问题处理-第2张图片-阿豪运维笔记

键值写my.estab.count

zabbix添加自定义监控项目,配置邮件告警,测试告警,不发邮件的问题处理-第3张图片-阿豪运维笔记

添加该项目后,到“监测中”——“最新数据”查看刚添加的项目是否有数据出现,有了数据就可以添加图形了,“配置”——“主机” ——“图形” ——“创建图形”

zabbix添加自定义监控项目,配置邮件告警,测试告警,不发邮件的问题处理-第4张图片-阿豪运维笔记

添加触发器

zabbix添加自定义监控项目,配置邮件告警,测试告警,不发邮件的问题处理-第5张图片-阿豪运维笔记

配置邮件告警(上)

1.使用163或者QQ邮箱发告警邮件,也可以自建邮局

本教程以腾讯企业QQ邮箱为例

zabbix添加自定义监控项目,配置邮件告警,测试告警,不发邮件的问题处理-第6张图片-阿豪运维笔记

开启IMAP/SMTP服务

开启POP/SMTP服务

2.到监控中心设置邮件告警

依次点击“管理”-“报警媒介类型”-“创建媒体类型”

脚本参数:

{ALERT.SENDTO} :表示接收邮件地址
{ALERT.SUBJECT} :主题
{ALERT.MESSAGE} :邮件内容

zabbix添加自定义监控项目,配置邮件告警,测试告警,不发邮件的问题处理-第7张图片-阿豪运维笔记

创建报警脚本

AlertScriptsPath=/usr/lib/zabbix/alertscripts配置文件定义的路径

创建报警脚本mail.py

# vim /usr/lib/zabbix/alertscripts/mail.py

#!/usr/bin/env python
#-*- coding: UTF-8 -*-
import os,sys
reload(sys)
sys.setdefaultencoding('utf8')
import getopt
import smtplib
from email.MIMEText import MIMEText
from email.MIMEMultipart import MIMEMultipart
from  subprocess import *

def sendqqmail(username,password,mailfrom,mailto,subject,content):
    gserver = 'smtp.qq.com'
    gport = 25

    try:
        # msg = MIMEText(unicode(content).encode('utf-8')) //如果发送的邮件有乱码,可以尝试把这行改成如下:
        msg = MIMEText(content,'plan','utf-8') 
        msg['from'] = mailfrom
        msg['to'] = mailto
        msg['Reply-To'] = mailfrom
        msg['Subject'] = subject

        smtp = smtplib.SMTP(gserver, gport)
        smtp.set_debuglevel(0)
        smtp.ehlo()
        smtp.login(username,password)

        smtp.sendmail(mailfrom, mailto, msg.as_string())
        smtp.close()
    except Exception,err:
        print "Send mail failed. Error: %s" % err


def main():
    to=sys.argv[1]
    subject=sys.argv[2]
    content=sys.argv[3]
##定义QQ邮箱的账号和密码,你需要修改成你自己的账号和密码(请不要把真实的用户名和密码放到网上公开,否则你会死的很惨)
    sendqqmail('1234567@qq.com','aaaaaaaaaa','1234567@qq.com',to,subject,content)

if __name__ == "__main__":
    main()
    
    
#####脚本使用说明######
#1. 首先定义好脚本中的邮箱账号和密码
#2. 脚本执行命令为:python mail.py 目标邮箱 "邮件主题" "邮件内容"

修改

定义发信服务器

gserver = 'smtp.exmail.qq.com'

定义账号密码

sendqqmail('server@wu.fj.cn','密码','server@wu.fj.cn',to,subject,content)

设置脚本权限

#chmod 755 /usr/lib/zabbix/alertscripts/mail.py

测试发邮件

[root@ahao01 ~]# cd /usr/lib/zabbix/alertscripts/

[root@ahao01 alertscripts]# python mail.py 你的QQ号@qq.com "1212" "12121"

zabbix添加自定义监控项目,配置邮件告警,测试告警,不发邮件的问题处理-第8张图片-阿豪运维笔记

配置邮件告警(下)

4.创建一个接受告警邮件的用户

依次“管理”,“用户”,“创建用户”,“报警媒介”,类型选择“baojing”,注意用户的权限,如果没有需要到用户组去设置权限。

zabbix添加自定义监控项目,配置邮件告警,测试告警,不发邮件的问题处理-第9张图片-阿豪运维笔记

设置报警媒介

zabbix添加自定义监控项目,配置邮件告警,测试告警,不发邮件的问题处理-第10张图片-阿豪运维笔记

设置所有组

zabbix添加自定义监控项目,配置邮件告警,测试告警,不发邮件的问题处理-第11张图片-阿豪运维笔记

zabbix添加自定义监控项目,配置邮件告警,测试告警,不发邮件的问题处理-第12张图片-阿豪运维笔记

5.设置动作

依次点击“配置”,“动作”,“创建动作”,名称写“sendmail”(自定义),“操作”页面复制如下内容:

zabbix添加自定义监控项目,配置邮件告警,测试告警,不发邮件的问题处理-第13张图片-阿豪运维笔记

报警脚本

HOST:{HOST.NAME} {HOST.IP}
TIME:{EVENT.DATE}  {EVENT.TIME}
LEVEL:{TRIGGER.SEVERITY}
NAME:{TRIGGER.NAME}
messages:{ITEM.NAME}:{ITEM.VALUE}
ID:{EVENT.ID}

设置给哪个用户发

zabbix添加自定义监控项目,配置邮件告警,测试告警,不发邮件的问题处理-第14张图片-阿豪运维笔记

设置恢复操作

HOST:{HOST.NAME} {HOST.IP}
TIME:{EVENT.DATE}  {EVENT.TIME}
LEVEL:{TRIGGER.SEVERITY}
NAME:{TRIGGER.NAME}
messages:{ITEM.NAME}:{ITEM.VALUE}
ID:{EVENT.ID}

zabbix添加自定义监控项目,配置邮件告警,测试告警,不发邮件的问题处理-第15张图片-阿豪运维笔记

如下图

zabbix添加自定义监控项目,配置邮件告警,测试告警,不发邮件的问题处理-第16张图片-阿豪运维笔记

测试告警

1.为了测试告警,创建一个自定义的触发器

创建自定义触发器

zabbix添加自定义监控项目,配置邮件告警,测试告警,不发邮件的问题处理-第17张图片-阿豪运维笔记

添加条件

zabbix添加自定义监控项目,配置邮件告警,测试告警,不发邮件的问题处理-第18张图片-阿豪运维笔记

设置完后的

zabbix添加自定义监控项目,配置邮件告警,测试告警,不发邮件的问题处理-第19张图片-阿豪运维笔记

网卡流量报警

zabbix添加自定义监控项目,配置邮件告警,测试告警,不发邮件的问题处理-第20张图片-阿豪运维笔记

恢复中

zabbix添加自定义监控项目,配置邮件告警,测试告警,不发邮件的问题处理-第21张图片-阿豪运维笔记

邮件告警

故障

zabbix添加自定义监控项目,配置邮件告警,测试告警,不发邮件的问题处理-第22张图片-阿豪运维笔记

恢复

zabbix添加自定义监控项目,配置邮件告警,测试告警,不发邮件的问题处理-第23张图片-阿豪运维笔记

其中ID是固定的哦,有故障就会有恢复

标签: 运维监控

抱歉,评论功能暂时关闭!