zabbix添加自定义监控项目-配置邮件告警-测试告警

添加自定义监控项目:

需求:监控某台web的80端口连接数,并出图

步骤:1.zabbix监控中心创建监控项目;

客户端定义脚本:vim /usr/local/sbin/estab.sh               #添加以下内容:

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

修改脚本权限:chmod 755 /usr/local/sbin/estab.sh

客户端编辑配置文件: vim /etc/zabbix/zabbix_agentd.conf          #搜索UnsafeUserParameters后,添加以下内容:

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

重启zabbix-agent服务: systemctl restart zabbix-agent

服务端验证:zabbix_get -s 192.168.133.132 -p 10050 -k 'my.estab.count‘              #ip为agent的ip,执行后应该与在客户端直接执行estab.sh脚本效果一样

zabbix界面配置增加监控项目:配置---主机---点击 客户端主机的 监控项---创建监控项---填写名称为 并发连接数---键值为 my.estab.count---点击 添加

 

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

配置---主机---点击 客户端主机的 图形---点击 创建图形---填写名称为 并发连接数---点击 监控项的 添加,选中上一步定义的监控项“并发连接数”---点击 添加

点击界面生成的 “并发连接数”跳转到图形---点击预览

添加触发器:

配置---主机---点击 客户端主机的 触发器---点击 创建触发器---填写名称为 并发连接数---严重性选 警告---点击表达式右边 添加---监控项添加,选中上一步定义的监控项“并发连接数”---功能 选最新T值>N(即脚本运行的最新结果的数值为T) ---N填 200 (即脚本运行结果大于200是触发器发出警告)---点击 插入

 

配置邮件告警:

使用163或者QQ邮箱发送告警邮件

1.首先登录163邮箱,开启POP3、IMAP、SMTP服务,开启并记住授权码    

2。进入zabbix界面设置邮件告警: 管理---报警媒介类型---点击 创建媒体类型---名称 baojing---类型 脚本---脚本名称 mail.py---点击脚本参数的添加,添加三个参数:{ALERT.SENDTO}  {ALERT.SUBJECT}  {ALERT.MESSAGE} (即发给谁,主题,内容)---点击 添加

3.服务端创建发邮件脚本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' #如果是163邮箱则是smtp.163.com
##定义发邮件类型
    gport = 25
    try:
        msg = MIMEText(unicode(content).encode('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('163或QQ邮箱','授权码','163或QQ邮箱',to,subject,content)

if __name__ == "__main__":
    main()
    
    

4.修改脚本权限:chmod 755 /usr/lib/zabbix/alertscripts/mail.py

5.测试发送邮件,执行:python mail.py  收件邮箱  "标题"  "内容"         #执行后查看对应收件邮箱是否接收到邮件

6.创建告警用户:zabbix界面,管理---用户---创建用户---填写别名,用户名第一部分,姓氏---群组 点添加---选择已有的administrators组---设置密码。

点击 报警媒介---点击 添加---类型 baojing---收件人 填上面申请的邮箱---点击 添加

管理---用户群组---选择上面选好的administrators组---点击 权限---点击 读写---点击 选择,勾选所有---点击 添加---点击 更新

7.设置动作(触发器触发报警后的行动):配置---动作---创建动作---名称为 sendmail---新的触发条件:触发器示警度>=未分类---点击新的触发条件的添加

点击 操作---默认信息清空 并添加下面内容:

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

---点击 新的---发送到用户 选择第6步创建的用户---仅发送 选择baojing---点击小的添加

点击 恢复操作---默认信息清空 并添加下面内容:

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

---点击 新的---发送到用户 选择第6步创建的用户---仅发送 选择baojing---点击小的添加---点击大添加

 

测试告警:

修改原有触发器报警条件或新增触发器,让触发器达到报警状态。查看是否有告警邮件发送。

 

 

转载于:https://my.oschina.net/u/3866910/blog/2051132

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值