Zabbix分布式监控系统实践之 (2) 自定义配置
参考资料
环境介绍
1. 环境部署
而在本章,我们就通过完成以下任务来完成对Zabbix自定义配置的熟悉:
2. 配置步骤
查看Agent主机名 zabbix-client-1
配置相应的选项 Server=10.6.1.181 ServerActive=10.6.1.181 Hostname=zabbix-client-1
重启Agent Stopping Zabbix agent daemon: zabbix_agentd Starting Zabbix agent daemon: zabbix_agentd
到WEB界面中创建Host
创建成功后,可以看到对应的Host,但右侧不会显示绿色的被监控图标,因为目前还没有配置任何监控选项
2.2 通过Zabbix内建的方法来监控CPU,内存,交换分区,磁盘空间等系统信息
然后在Host列表中,可以看到zabbix-client-1已经处于绿色的被监控状态了
内置模板已经具备一些监控选项和绘图,我们可以直接查看
如下所示,即zabbix-client-1的CPU Load,磁盘空间,以及网络流量的图表
2.3 设置Trigger,指定各个监控项的阈值 默认已经有了不少的Trigger,比如磁盘的报警阈值就设置为了20%
手动修改磁盘的报警阈值为10%
等待Discovery rules更新过后,可以看到阈值已经更新为了10%
修改可用内存的报警阈值就更加简单了 Zabbix的配置参数主要都是通过Template来统一管理的,所以就需要到Template中进行修改,完成后会自动更新到所引用的Hosts。
2.4 自定义各个监控项的绘图格式和颜色等
手动修改CPU Load的绘图格式如下
查看新的绘图样式,可以看到以上修改已经即刻生效了。
2.5 在agent上安装Nginx ubuntu@zabbix-client-1:~$ sudo /etc/init.d/nginx start Starting nginx: nginx. ubuntu@zabbix-client-1:~$ sudo netstat -lntp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 17217/nginx tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1225/sshd tcp 0 0 127.0.0.1:6011 0.0.0.0:* LISTEN 16055/1 tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 16332/zabbix_agentd tcp6 0 0 :::22 :::* LISTEN 1225/sshd tcp6 0 0 ::1:6011 :::* LISTEN 16055/1
2.6 配置自定义监控Nginx进程状态的模板,方法等 * nginx is running ubuntu@zabbix-client-1:~$ sudo /etc/init.d/nginx stop Stopping nginx: nginx. ubuntu@zabbix-client-1:~$ /etc/init.d/nginx status * could not access PID file for nginx
通过以上操作,可以发现,通过status查询running字符串能够定位进程的状态 Stopping nginx: nginx. ubuntu@zabbix-client-1:~$ /etc/init.d/nginx status | grep -c running 0 ubuntu@zabbix-client-1:~$ sudo /etc/init.d/nginx start Starting nginx: nginx. ubuntu@zabbix-client-1:~$ /etc/init.d/nginx status | grep -c running 1
配置自定义参数 # For Nginx status UserParameter=nginx.status,/etc/init.d/nginx status | grep -c running ubuntu@zabbix-client-1:~$ sudo /etc/init.d/zabbix-agent restart Stopping Zabbix agent daemon: zabbix_agentd Starting Zabbix agent daemon: zabbix_agentd
在WEB界面中创建Nginx相关的模板
Applications - Create application
Items - Create item
Triggers - Create trigger
将模板Tpl_Nginx应用到zabbix-client-1上
校验Nginx的采集数据,可以看到最近一次采集到的值为1
2.7 配置HTTP Check方式的监控 Stopping Zabbix server daemon: zabbix_server Starting Zabbix server daemon: zabbix_server
Configuration - Web - zabbix-client-1 - Create scenario
Steps - Add
校验HTTPCheck的采集数据
2.8 配置邮件报警并模拟故障 ubuntu@zabbix-server:~$ sudo vim /usr/local/etc/alert.d/sendmail.py #! /usr/bin/env python import os import sys SENDMAIL = "/usr/sbin/sendmail" # sendmail location FROM = "zabbix@heylinux.com" TO = sys.argv[1] SUBJECT = sys.argv[2] TEXT = sys.argv[3] # Prepare actual message message = """From: %s To: %s Subject: %s %s """ % (FROM, TO, SUBJECT, TEXT) # Send the mail p = os.popen("%s -t -i" % SENDMAIL, "w") p.write(message) status = p.close() with open("/tmp/zabbixpy.log", "w") as f: f.write(message) if status: print "Sendmail exit status", status ubuntu@zabbix-server:~$ sudo chmod +x /usr/local/etc/alert.d/sendmail.py
在WEB界面中创建sendmail.py
Configuration - Actions - Create Action
Profile - Media - Add
报警的配置也已经完成,下面我们模拟Nginx进程故障 Stopping nginx: nginx.
很快就可以在主页上看到Web monitoring与进程的报警信息
在邮箱中也可以看到报警的邮件
重新启动Nginx Starting nginx: nginx.
可以看到,主页已经恢复正常,同时也收到了Nginx进程恢复的邮件
3. 至此,就完成了整个自定义配置的过程,让我们再来回顾一下都配置了哪些内容
4. 接下来,就是更多高级的功能了 |