一、添加自定义监控项目

1、需求:监控某平台web80端口并发数,设置图形。

2、zabbix监控中心创建监控项目,在客户端定义脚本 vim /usr/local/sbin/estab.sh。

#bin/bash
netstat -ant |grep ':80 ' |grep -c ESTABLISHED

chmod 755 /usr/local/sbin/estab.sh

3、编辑zabbix-agent的配置文件vim /etc/zabbix/zabbix_agentd.conf,定义监控项的key.重启zabbix-agent 服务。

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

UserParameter=my.estab.count[*],/usr/local/sbin/estab.sh    #自定义监控项的key为my.estab.count [*] 里为脚本的参数,后面的为脚本的路径。

4、在服务端验证刚才的配置是否正确,如果返回值为0,说明正确,因为131服务器上并没有任何的80端口。

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

5、web端添加监控项

配置--》主机--》bing131--》监控项--》名称(并发连接数)--》key(my.estab.count)--》添加

6、添加图形

配置--》主机--》bing131--》图形--》创建图形--》名称(并发连接数)--》监控项栏,选择添加--》在弹出的选项中选择并发连接数--》选择--》添加

7、添加触发器

配置--》主机--》bing131--》触发器--》创建触发器--》名称(并发连接数)--》警告--》表达式栏(选择添加)--》监控项,选择并发连接数--》功能,选择最新的T值>N,N值填200,--》插入--》添加

二、配置告警邮件

1、首先登录你的邮箱,开启POP3/IMAP/SMTP 服务,开启记录授权码。

2、web配置

管理-->报警媒介类型-->创建媒体类型-->名称(baojing),类型为脚本,脚本名称(mail.py)-->脚本参数{ALERT.SUBJECT},{ALERT.MESSAGGE},{ALERT.SENDTO}-->添加。

3、首先在zabbix_server.conf中查看mail.py应该放在那里。

vim /etc/zabbix/zabbix_server.conf

AlertScriptsPath=/usr/lib/zabbix/alertscripts

4、服务端编辑mail脚本,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.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.com','********','********@163.com',to,subject,content)
 
if __name__ == "__main__":
main()
5、测试是否成功
chmod 755 mail.py

python mail.py ***********@163.com "safkjsafjkskj" "231322412414"

6、配置接受邮件账户

管理--》用户--》创建用户--》名称,密码,等--》群组,选择Zabbix Administrators--》添加

7、添加接受报警的邮箱
报警媒介--》添加--》类型选择(baojing)--》邮箱(******@163.com)--》添加
8、权限
如果发现权限为无,则需要到 用户群组--》Zabbix Administrators--》读写--》在弹出的页面勾选所有--》选择--》添加--》更新
9、动作
配置--》动作--》创建动作
操作:默认信息栏填如下内容:

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

点击新的--》选择用户(bing)--》发送到选择(baojing)--添加(不是最下面的)

恢复操作:

新的--》选择用户(bing)--》发送到(baojing)--》添加,回到操作,在点击添加。

在默认信息栏添加如下信息

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

10、测试

1、创建一个自定义的触发器

触发器--》创建触发器--》名称(系统负载1)--》最新t值(<N)--》N值(1)--》插入--》添加

2、监测中--》仪表板,我们发现报警,但是动作为空,是因为没有设置权限。

3、修改权限和报错,再次测试。发现收到一份OK的邮件,再次修改,触发问题,又收到报警邮件。左边为报警内容。

 

 三、不发邮件报警的处理

 1、主动与被动

配置--》主机--》监控项--》选择并发连接数--》在类型处有很多选项,其中有一项是zabbix客户端主动式,这个就是主动式,zabbi客户端就是被动模式。

 

posted on 2018-04-16 20:22  天梭  阅读(117)  评论(0编辑  收藏  举报