4.CentOS7.2 Zabbix3.4.11的使用方法【案例1:监控终端用户数:应用集》监控项》触发器》图形》邮件告警】

案例1:监控终端用户数;

 

A、用户登录(客户端操作):

测试命令:

[[email protected] ~]# uptime | awk -F " " '{print $5}'

然后打开客户端的agent配置文件:

[[email protected] ~]# vi /etc/zabbix/zabbix_agentd.conf     #添加下面一行

UserParameter=login_user,uptime | awk -F " " '{print $5}'

说明一下:sshd_port是一个key,而且在zabbix系统必须是唯一的。uptime | awk -F " " '{print $4}' 是要执行的命令。

[[email protected] ~]# systemctl restart zabbix-agent  #重启客户端

 

B、在服务端获取,使用zabbix-get方法:

[[email protected] ~]# find / -name zabbix_get

/usr/local/zabbix/bin/zabbix_get

[[email protected] ~]# /usr/local/zabbix/bin/zabbix_get --help #不懂使用help即可

  zabbix_get -s host-name-or-IP [-p port-number] [-I IP-address] -k item-key

[[email protected] ~]#/usr/local/zabbix/bin/zabbix_get -s 192.168.91.134 -k login_user   #成功获取

1

 

4.CentOS7.2 Zabbix3.4.11的使用方法【案例1:监控终端用户数:应用集》监控项》触发器》图形》邮件告警】

 

3.1、下面来创建应用集,应用集我们目前可以理解为是一个监控组

4.CentOS7.2 Zabbix3.4.11的使用方法【案例1:监控终端用户数:应用集》监控项》触发器》图形》邮件告警】

4.CentOS7.2 Zabbix3.4.11的使用方法【案例1:监控终端用户数:应用集》监控项》触发器》图形》邮件告警】

 

4.CentOS7.2 Zabbix3.4.11的使用方法【案例1:监控终端用户数:应用集》监控项》触发器》图形》邮件告警】

 

 

3.2、接下来创建监控项:

4.CentOS7.2 Zabbix3.4.11的使用方法【案例1:监控终端用户数:应用集》监控项》触发器》图形》邮件告警】

4.CentOS7.2 Zabbix3.4.11的使用方法【案例1:监控终端用户数:应用集》监控项》触发器》图形》邮件告警】

4.CentOS7.2 Zabbix3.4.11的使用方法【案例1:监控终端用户数:应用集》监控项》触发器》图形》邮件告警】

 

3.3、配置触发器;

4.CentOS7.2 Zabbix3.4.11的使用方法【案例1:监控终端用户数:应用集》监控项》触发器》图形》邮件告警】

4.CentOS7.2 Zabbix3.4.11的使用方法【案例1:监控终端用户数:应用集》监控项》触发器》图形》邮件告警】

4.CentOS7.2 Zabbix3.4.11的使用方法【案例1:监控终端用户数:应用集》监控项》触发器》图形》邮件告警】

4.CentOS7.2 Zabbix3.4.11的使用方法【案例1:监控终端用户数:应用集》监控项》触发器》图形》邮件告警】

 

 

4.CentOS7.2 Zabbix3.4.11的使用方法【案例1:监控终端用户数:应用集》监控项》触发器》图形》邮件告警】

 

 

3.4、应用集创建了,监控项创建了,触发器也创建了,最后要图形查看;

 

4.CentOS7.2 Zabbix3.4.11的使用方法【案例1:监控终端用户数:应用集》监控项》触发器》图形》邮件告警】

4.CentOS7.2 Zabbix3.4.11的使用方法【案例1:监控终端用户数:应用集》监控项》触发器》图形》邮件告警】

4.CentOS7.2 Zabbix3.4.11的使用方法【案例1:监控终端用户数:应用集》监控项》触发器》图形》邮件告警】

4.CentOS7.2 Zabbix3.4.11的使用方法【案例1:监控终端用户数:应用集》监控项》触发器》图形》邮件告警】

 

 

 

3.5、开启四个终端窗口测试:

4.CentOS7.2 Zabbix3.4.11的使用方法【案例1:监控终端用户数:应用集》监控项》触发器》图形》邮件告警】

 

 

3.6、查看设置的触发器是否告警触发,ok生效了。

4.CentOS7.2 Zabbix3.4.11的使用方法【案例1:监控终端用户数:应用集》监控项》触发器》图形》邮件告警】

 

3.7、最后创建zabbix仪表盘方便查看。接下来我们选择;1、编辑仪表盘-选择图形--配置图行--添加2、编辑仪表盘-选择问题--配置问题--添加

4.CentOS7.2 Zabbix3.4.11的使用方法【案例1:监控终端用户数:应用集》监控项》触发器》图形》邮件告警】

4.CentOS7.2 Zabbix3.4.11的使用方法【案例1:监控终端用户数:应用集》监控项》触发器》图形》邮件告警】

4.CentOS7.2 Zabbix3.4.11的使用方法【案例1:监控终端用户数:应用集》监控项》触发器》图形》邮件告警】

4.CentOS7.2 Zabbix3.4.11的使用方法【案例1:监控终端用户数:应用集》监控项》触发器》图形》邮件告警】

4.CentOS7.2 Zabbix3.4.11的使用方法【案例1:监控终端用户数:应用集》监控项》触发器》图形》邮件告警】

4.CentOS7.2 Zabbix3.4.11的使用方法【案例1:监控终端用户数:应用集》监控项》触发器》图形》邮件告警】

最后效果图:

4.CentOS7.2 Zabbix3.4.11的使用方法【案例1:监控终端用户数:应用集》监控项》触发器》图形》邮件告警】

3.8、自定义发送邮件报警:

1.编辑zabbix_server.conf文件

[[email protected] ~]# grep "AlertScriptsPath=/usr" /usr/local/zabbix/etc/zabbix_server.conf

AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts

 

  1. 上传python脚本

[[email protected] ~]# cat /usr/local/zabbix/share/zabbix/alertscripts/send_mail.py

#!/bin/env python

#coding:utf-8

'''

发送txt文本邮件

'''

import smtplib  

from email.mime.text import MIMEText  

from sys import argv

 

mailto_list=[]

mail_host="smtp.139.com:25"  #设置服务器

mail_user="[email protected]"     #发件用户名(换成自己的)

mail_pass="yanyb"   #口令(换成自己的)

#mail_postfix="139.com"  #发件箱的后缀

debug_level=0       #是否开启debug

 

def send_mail(to_list,sub,content):  

    me=mail_user

    msg = MIMEText(content,_subtype='plain',_charset='utf-8')  

    msg['Subject'] = sub  

    msg['From'] = me  

    msg['To'] = ";".join(to_list)  

    try:  

        server = smtplib.SMTP()  

        server.set_debuglevel(debug_level)    

        server.connect(mail_host)  

        server.login(mail_user,mail_pass)  

        server.sendmail(me, to_list, msg.as_string())  

        server.close()  

        return True  

    except Exception, e:  

        print str(e)  

        return False  

if __name__ == '__main__':

    try:

        mailto_list=argv[1].split(';')

        sub=argv[2]

        content=argv[3]

    except:

        print "python send_mail.py '[email protected];[email protected]' sub content"

        exit()

 

    if send_mail(mailto_list,sub,content):  

        print "发送成功"  

    else:  

        print "发送失败"

 

 

脚本上传之后,修改权限:

 

[[email protected] ~]# chmod +x /usr/local/zabbix/share/zabbix/alertscripts/send_mail.py

 

2、管理——>报警媒介类型——>创建媒体类型

 

4.CentOS7.2 Zabbix3.4.11的使用方法【案例1:监控终端用户数:应用集》监控项》触发器》图形》邮件告警】

3.zabbix web端——创建媒体类型

4.CentOS7.2 Zabbix3.4.11的使用方法【案例1:监控终端用户数:应用集》监控项》触发器》图形》邮件告警】

{ALERT.SENDTO},

{ALERT.SUBJECT},

{ALERT.MESSAGE} 3个参数,分别对应send_mail.py脚本需要的3个参数:收件人地址、主题、详细内容

 

4.CentOS7.2 Zabbix3.4.11的使用方法【案例1:监控终端用户数:应用集》监控项》触发器》图形》邮件告警】

4.zabbix web端——用户指定媒介

 

4.CentOS7.2 Zabbix3.4.11的使用方法【案例1:监控终端用户数:应用集》监控项》触发器》图形》邮件告警】

4.CentOS7.2 Zabbix3.4.11的使用方法【案例1:监控终端用户数:应用集》监控项》触发器》图形》邮件告警】

5.zabbix web端——创建动作

4.CentOS7.2 Zabbix3.4.11的使用方法【案例1:监控终端用户数:应用集》监控项》触发器》图形》邮件告警】

4.CentOS7.2 Zabbix3.4.11的使用方法【案例1:监控终端用户数:应用集》监控项》触发器》图形》邮件告警】

4.CentOS7.2 Zabbix3.4.11的使用方法【案例1:监控终端用户数:应用集》监控项》触发器》图形》邮件告警】

注意:操作是发送给谁,比如这个故障3分钟后没有恢复。就发生给领导,就要在后面添加一条操作信息。

 

故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
告警主机:{HOST.NAME}
主机地址:{HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
事件代码:{EVENT.ID}

4.CentOS7.2 Zabbix3.4.11的使用方法【案例1:监控终端用户数:应用集》监控项》触发器》图形》邮件告警】

恢复消息模板
恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!
恢复主机:{HOST.NAME}
主机地址:{HOST.IP}
恢复时间:{EVENT.DATE} {EVENT.TIME}
恢复等级:{TRIGGER.SEVERITY}
恢复信息:{TRIGGER.NAME}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
事件代码:{EVENT.ID}

4.CentOS7.2 Zabbix3.4.11的使用方法【案例1:监控终端用户数:应用集》监控项》触发器》图形》邮件告警】

4.CentOS7.2 Zabbix3.4.11的使用方法【案例1:监控终端用户数:应用集》监控项》触发器》图形》邮件告警】

  1. 邮件测试1、重启客户端;2、开多个终端测试终端登录数;):

4.CentOS7.2 Zabbix3.4.11的使用方法【案例1:监控终端用户数:应用集》监控项》触发器》图形》邮件告警】

4.CentOS7.2 Zabbix3.4.11的使用方法【案例1:监控终端用户数:应用集》监控项》触发器》图形》邮件告警】

这种邮件模板简单明了一点;

4.CentOS7.2 Zabbix3.4.11的使用方法【案例1:监控终端用户数:应用集》监控项》触发器》图形》邮件告警】

到这里我们自定义多个终端数就完成啦!

 

 

 

 

总结:

1、建议初学者监控一个服务或者程序最好按以下思路来进行:应用集-->监控项--->触发器--->图形--->仪表盘(很方便入门):

2、使用php7.2的时候有个一bug,报php的一个函数被禁用。由于自己对php没有过多研究,直接换成php5.6就解决问题了。

4.CentOS7.2 Zabbix3.4.11的使用方法【案例1:监控终端用户数:应用集》监控项》触发器》图形》邮件告警】

3、邮箱服务器地址的设置:

139邮箱客户端接收与发送服务器地址为:
接收服务器地址:pop.139.com
发送服务器地址:smtp.139.com

拓展:其他邮箱的邮件接收与发送服务器地址

163免费邮箱的邮件服务器地址:

接收邮件服务器: pop.163.com。
发送邮件服务器(SMTP): smtp.163.com

126免费邮箱的邮件服务器地址:
POP服务器地址:  pop.126.com  
SMTP服务器地址: smtp.126.com

网易@yeah.net邮箱:  
POP服务器地址:pop.yeah.net      

SMTP服务器地址:smtp.yeah.net 


sina免费邮箱的邮件服务器地址为:
接收邮件服务器地址:pop.sina.com.cn 或pop3.sina.com.cn
发送邮件服务器地址:smtp.sina.com.cn