标签:message 动作 erp seve .sh end port turn lib
添加自定义监控项目服务端ip:192.168.159.131
客户端ip:192.168.159.132
定义脚本:
[root@localhost ~]# vim /usr/local/sbin/estab.sh
#!/bin/bash
netstat -ant |grep ‘:80 ‘ |grep -c ESTABLISHED
// 获取80端口并发连接数
// 注意:80后面跟一个空格,保证匹配更精确,如果不加空格,会把8080端口同时过滤出来。
更改脚本权限:
[root@localhost ~]# chmod 755 /usr/local/sbin/estab.sh
配置zabbix-agentd.conf:
[root@localhost ~]# vim /etc/zabbix/zabbix_agentd.conf
UnsafeUserParameters=1
// 将0改为1
// 相当于开关,1为使用自定义脚本
UserParameter=my.estab.count[*],/usr/local/sbin/estab.sh
// 定义脚本路径
// 自定义监控项的key(监控web端“键值”)为my.estab.count,后面的[*]里面写的是脚本参数
// 如果没有参数则可以省略,脚本为/usr/local/sbin/estab.sh
重启zabbix-agent服务:
[root@localhost ~]# systemctl restart zabbix-agent
客户端配置完成后在 服务端使用zabbix自带命令测试该脚本是否生效。
[root@localhost ~]# zabbix_get -s 192.168.159.132 -p 10050 -k ‘my.estab.count‘
0
// -s后跟的是客户端ip
// -k键值
// 等到一个数字说明脚本成功
【配置】→【主机】→对应主机【监控项】→【创建监控项】
【图形】→【创建图形】
// POP3/SMTP服务和IMAP/SMTP服务器前面打钩
// 首次开启该服务需要进行用户认证,根据提示信息进行认证并设定“客户端授权密码”(用于登录第三方邮件客户端的专用密码),记录该密码。
【管理】→【报警媒介类型】→【创建媒介类型】
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGR}
去服务端上配置报警脚本
查看报警脚本保存路径:
[root@localhost ~]# vim /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/lib/zabbix/alertscripts
// maill.py脚本必须要放到这个路径下
创建mail.Py:
[root@localhost ~]# cd /usr/lib/zabbix/alertscripts/
[root@localhost alertscripts]# vim mail.py
#!/usr/bin/python
#coding:utf-8
import smtplib
from email.mime.text import MIMEText
import sys
mail_host = ‘smtp.163.com‘ // 指定所使用的邮箱类型
mail_user = ‘aaaaaa@163.com‘ // 指定邮箱用户名
mail_pass = ‘111111111‘ // 指定邮箱密码
mail_postfix = ‘163.com‘
def send_mail(to_list,subject,content):
me = "zabbix 监控告警平台"+"<"+mail_user+"@"+mail_postfix+">"
msg = MIMEText(content, ‘plain‘, ‘utf-8‘)
msg[‘Subject‘] = subject
msg[‘From‘] = me
msg[‘to‘] = to_list
try:
s = smtplib.SMTP()
s.connect(mail_host)
s.login(mail_user,mail_pass)
s.sendmail(me,to_list,msg.as_string())
s.close()
return True
except Exception,e:
print str(e)
return False
if name == "main":
send_mail(sys.argv[1], sys.argv[2], sys.argv[3])
#####脚本使用说明######
#1. 首先定义好脚本中的邮箱账号和密码
#2. 脚本执行命令为:python mail.py 目标邮箱 "邮件主题" "邮件内容"
更改脚本权限:
[root@localhost alertscripts]# chmod 755 mail.py
测试是否能正常发送邮件;
[root@localhost alertscripts]# python mail.py aaaaaa@163.com "test" "test123456"
// aaaaa@163.com为刚才设置的发送邮件的邮箱
// 在此使163邮箱自己给自己发送邮件(保证其不出其他故障)
【管理】→【用户】→【创建用户】
设置报警媒介:
查看所有组权限:
【配置】→【动作】→【创建动作】
HOST:{HOST.NAME} {HOST.IP}
TIME:{EVENT.DATE} {EVENT.TIME}
LEVEL:{TRIGGER.SEVERITY}
NAME:{TRIGGER.NAME}
messages:{ITEM.NAME}:{ITEM.VALUE}
ID:{EVENT.ID}
ID:{EVENT.ID}
触发器创建成功之后,查看zabiix web服务端仪表盘中最近20个问题那里会提示错误。
同时收邮件的邮箱也收到了报警邮件。
将触发器中< 改成> 之后,会收到服务恢复的邮件。
测试时如果测试失败则先修改触发器,将<改成>。然后再改为<。继续查看是否收到报警邮件。
【配置】→对应主机【监控项】→对应监控项
类型zabbix客户端为被动模式,zabbix客户端(主动式)为主动模式。
标签:message 动作 erp seve .sh end port turn lib
原文地址:http://blog.51cto.com/754599082/2069504