例子: 监控agent端服务器的user数量是否大于40。大于则触发邮件报警。


1.添加agent的配置文件,这样可以添加自定义监控条目

UnsafeUserParameters=1
UserParameter=count.line.passwd,wc -l /etc/passwd|awk '{print $1}'

2.创建 Templates (可以把多个item放在一起。创建host的时候直接link Templates 就行)    

Zabbix 一个具体例子的实现_iterms

3.创建items(点击templates  选中新建的模板,IM-server 中的items 

Zabbix 一个具体例子的实现_监控条目_02

新建item

Zabbix 一个具体例子的实现_监控条目_03

3.添加图形(跟item的位置一样)

 Zabbix 一个具体例子的实现_报警脚本_04


新建Graphs

Zabbix 一个具体例子的实现_zabbix_05

效果图:

Zabbix 一个具体例子的实现_zabbix_06

5.添加 Triggers

5.创建新的action(默认已经有了,自己创建方便些)

Zabbix 一个具体例子的实现_iterms_07

Zabbix 一个具体例子的实现_zabbix_08

Zabbix 一个具体例子的实现_iterms_09

需要定义server的配置文件

AlertScriptsPath=/usr/local/zabbix/scripts

需要定义server的配置文件

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 = 'gotye001'
mail_pass = 'gotye2015'
mail_postfix = '163.com'
 
def send_mail(to_list,subject,content):
    me = mail_user+"<"+mail_user+"@"+mail_postfix+">"
    msg = MIMEText(content)
    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.因为之前action 定义了 报警会通知Aminsitrator组的用户。

但是用户需要登陆WEB页面才能看到报警,所以用户也需要有邮件报警

(暂时这么理解)



Zabbix 一个具体例子的实现_报警脚本_10

Zabbix 一个具体例子的实现_监控条目_11