Zabbix分布式监控系统实践之 (2) 自定义配置
2015-07-14 13:51
901 查看
目录结构
Zabbix分布式监控系统实践之 (0) 什么是Zabbix
Zabbix分布式监控系统实践之 (1) 环境部署
Zabbix分布式监控系统实践之 (2) 自定义配置
本文内容
Zabbix分布式监控系统实践之 (2) 自定义配置
参考资料
https://www.zabbix.com/wiki/templates/start
环境介绍
OS: Ubuntu 10.10 Server 64-bit
Servers:
zabbix-server:10.6.1.181
zabbix-client-1:10.6.1.182
1. 环境部署
在上一个章节,我们已经搭建好了一个最小的环境,即一个server,一个agent;但这仅仅只是一个开始,想要用Zabbix实现对服务器的资源按照自己的需求进行监控,然后绘图,报警,还需要一系列的配置才行。
而在本章,我们就通过完成以下任务来完成对Zabbix自定义配置的熟悉:
1.通过Zabbix内建的方法来监控CPU,内存,交换分区,磁盘空间,网络IO等系统信息;
2.设置Trigger,指定各个监控项的阈值;
3.自定义各个监控项的绘图格式和颜色等;
4.在agent上安装Nginx;
5.配置自定义监控Nginx进程状态的模板,方法等;
6.配置HTTP Check方式的监控;
7.配置邮件报警并模拟故障;
2. 配置步骤
2.1 配置Agent并创建Host,使Server与Agent建立联系
查看Agent主机名
ubuntu@zabbix-client-1:~$ hostname
view source
print?
配置相应的选项
ubuntu@zabbix-client-1:~$ sudo vim /usr/local/etc/zabbix_agentd.conf
view source
print?
重启Agent
ubuntu@zabbix-client-1:~$ sudo /etc/init.d/zabbix-agent restart
view source
print?
到WEB界面中创建Host
Configuration - Hosts - Create host
创建成功后,可以看到对应的Host,但右侧不会显示绿色的被监控图标,因为目前还没有配置任何监控选项
2.2 通过Zabbix内建的方法来监控CPU,内存,交换分区,磁盘空间等系统信息
到WEB界面中选择内置模板Template OS Linux
Configuration - Templates
然后在Host列表中,可以看到zabbix-client-1已经处于绿色的被监控状态了
Configuration - Hosts
内置模板已经具备一些监控选项和绘图,我们可以直接查看
Monitoring - Graphs
如下所示,即zabbix-client-1的CPU Load,磁盘空间,以及网络流量的图表
注:默认的自动发现配置为每个小时执行一次,因此在没有修改配置的情况下需要1个小时以后才能看到这些图表。
(手动修改可以通过 Configuration - Hosts - zabbix-client-1 - Discovery rules中修改对应的 Interval的值)
2.3 设置Trigger,指定各个监控项的阈值
Configuration - Hosts - zabbix-client-1 - Triggers
<img width="600" title="os-template-6" class="alignnone size-full wp-image-2323" alt="" src="http://heylinux.com/wp-content/uploads/2013/01/os-template-6.jpg" 288"="">
默认已经有了不少的Trigger,比如磁盘的报警阈值就设置为了20%
手动修改磁盘的报警阈值为10%
Template - Template OS Linux - Discovery rules - Mounted filesystem discovery - Trigger prototypes
等待Discovery rules更新过后,可以看到阈值已经更新为了10%
修改可用内存的报警阈值就更加简单了
Template - Template OS Linux - Triggers - Lack of available memory on server {HOST.NAME}
Zabbix的配置参数主要都是通过Template来统一管理的,所以就需要到Template中进行修改,完成后会自动更新到所引用的Hosts。
2.4 自定义各个监控项的绘图格式和颜色等
Template - Template OS Linux - Graphs - CPU load
手动修改CPU Load的绘图格式如下
Processor load (1 min average per core) 为 红色加粗线条
Processor load (5 min average per core) 为 绿色填充区域
Processor load (15 min average per core) 为 黄色线条
查看新的绘图样式,可以看到以上修改已经即刻生效了。
Monitoring - Graphs
2.5 在agent上安装Nginx
ubuntu@zabbix-client-1:~$ sudo apt-get install python-software-properties
ubuntu@zabbix-client-1:~$ sudo add-apt-repository ppa:nginx/stable
ubuntu@zabbix-client-1:~$ sudo apt-get update
ubuntu@zabbix-client-1:~$ sudo apt-get install nginx
ubuntu@zabbix-client-1:~$ sudo /etc/init.d/nginx start
view source
print?
ubuntu@zabbix-client-1:~$ sudo netstat -lntp
view source
print?
2.6 配置自定义监控Nginx进程状态的模板,方法等
定位监控的方法
ubuntu@zabbix-client-1:~$ /etc/init.d/nginx status
view source
print?
ubuntu@zabbix-client-1:~$ sudo /etc/init.d/nginx stop
view source
print?
ubuntu@zabbix-client-1:~$ /etc/init.d/nginx status
view source
print?
通过以上操作,可以发现,通过status查询running字符串能够定位进程的状态
0为未运行,1为运行
ubuntu@zabbix-client-1:~$ sudo /etc/init.d/nginx stop
view source
print?
ubuntu@zabbix-client-1:~$ /etc/init.d/nginx status| grep-c running
view source
print?
ubuntu@zabbix-client-1:~$ sudo /etc/init.d/nginx start
view source
print?
ubuntu@zabbix-client-1:~$ /etc/init.d/nginx status| grep-c running
view source
print?
配置自定义参数
ubuntu@zabbix-client-1:~$ sudo vim /usr/local/etc/zabbix_agentd.conf
view source
print?
ubuntu@zabbix-client-1:~$ sudo /etc/init.d/zabbix-agent restart
view source
print?
在WEB界面中创建Nginx相关的模板
Configuration - Templates - Create template
Applications - Create application
Items - Create item
Triggers - Create trigger
将模板Tpl_Nginx应用到zabbix-client-1上
Configuration - Hosts - zabbix-client-1 - Templates - Add
校验Nginx的采集数据,可以看到最近一次采集到的值为1
Monitoring - Latest data
2.7 配置HTTP Check方式的监控
安装所需软件
ubuntu@zabbix-server:~$ sudo apt-get install lynx
ubuntu@zabbix-server:~$ sudo /etc/init.d/zabbix-server restart
view source
print?
Configuration - Web - zabbix-client-1 - Create scenario
Steps - Add
校验HTTPCheck的采集数据
Monitoring - Web - Nginx-Webfront-Status
2.8 配置邮件报警并模拟故障
在Zabbix Server上创建sendmail.py脚本
ubuntu@zabbix-server:~$ sudo apt-get install python
ubuntu@zabbix-server:~$ sudo apt-get install sendemail mailutils
ubuntu@zabbix-server:~$ sudo vim /usr/local/etc/alert.d/sendmail.py
view source
print?
ubuntu@zabbix-server:~$ sudo chmod +x /usr/local/etc/alert.d/sendmail.py
在WEB界面中创建sendmail.py
Administration - Media types - Create media type
Configuration - Actions - Create Action
Profile - Media - Add
报警的配置也已经完成,下面我们模拟Nginx进程故障
ubuntu@zabbix-client-1:~$ sudo /etc/init.d/nginx stop
view source
print?
很快就可以在主页上看到Web monitoring与进程的报警信息
在邮箱中也可以看到报警的邮件
重新启动Nginx
ubuntu@zabbix-client-1:/usr/local/etc$ sudo /etc/init.d/nginx start
view source
print?
可以看到,主页已经恢复正常,同时也收到了Nginx进程恢复的邮件
3. 至此,就完成了整个自定义配置的过程,让我们再来回顾一下都配置了哪些内容
1.通过Zabbix内建的方法来监控CPU,内存,交换分区,磁盘空间,网络IO等系统信息;
2.设置Trigger,指定各个监控项的阈值;
3.自定义各个监控项的绘图格式和颜色等;
4.在agent上安装Nginx;
5.配置自定义监控Nginx进程状态的模板,方法等;
6.配置HTTP Check方式的监控;
7.配置邮件报警并模拟故障;
4. 接下来,就是更多高级的功能了
比如
实现Zabbix通过邮件发送Screen图形报表;
当然还有更多的扩展和经验可以在后面不断的熟悉过程中总结。
好了,开始你的Zabbix之旅吧!
Zabbix分布式监控系统实践之 (0) 什么是Zabbix
Zabbix分布式监控系统实践之 (1) 环境部署
Zabbix分布式监控系统实践之 (2) 自定义配置
本文内容
Zabbix分布式监控系统实践之 (2) 自定义配置
参考资料
https://www.zabbix.com/wiki/templates/start
环境介绍
OS: Ubuntu 10.10 Server 64-bit
Servers:
zabbix-server:10.6.1.181
zabbix-client-1:10.6.1.182
1. 环境部署
在上一个章节,我们已经搭建好了一个最小的环境,即一个server,一个agent;但这仅仅只是一个开始,想要用Zabbix实现对服务器的资源按照自己的需求进行监控,然后绘图,报警,还需要一系列的配置才行。
而在本章,我们就通过完成以下任务来完成对Zabbix自定义配置的熟悉:
1.通过Zabbix内建的方法来监控CPU,内存,交换分区,磁盘空间,网络IO等系统信息;
2.设置Trigger,指定各个监控项的阈值;
3.自定义各个监控项的绘图格式和颜色等;
4.在agent上安装Nginx;
5.配置自定义监控Nginx进程状态的模板,方法等;
6.配置HTTP Check方式的监控;
7.配置邮件报警并模拟故障;
2. 配置步骤
2.1 配置Agent并创建Host,使Server与Agent建立联系
查看Agent主机名
ubuntu@zabbix-client-1:~$ hostname
view source
print?
1 | zabbix-client-1 |
ubuntu@zabbix-client-1:~$ sudo vim /usr/local/etc/zabbix_agentd.conf
view source
print?
1 | Server=10.6.1.181 |
2 | ServerActive=10.6.1.181 |
3 | Hostname=zabbix-client-1 |
ubuntu@zabbix-client-1:~$ sudo /etc/init.d/zabbix-agent restart
view source
print?
1 | Stopping Zabbix agent daemon: zabbix_agentd |
2 | Starting Zabbix agent daemon: zabbix_agentd |
Configuration - Hosts - Create host
创建成功后,可以看到对应的Host,但右侧不会显示绿色的被监控图标,因为目前还没有配置任何监控选项
2.2 通过Zabbix内建的方法来监控CPU,内存,交换分区,磁盘空间等系统信息
到WEB界面中选择内置模板Template OS Linux
Configuration - Templates
然后在Host列表中,可以看到zabbix-client-1已经处于绿色的被监控状态了
Configuration - Hosts
内置模板已经具备一些监控选项和绘图,我们可以直接查看
Monitoring - Graphs
如下所示,即zabbix-client-1的CPU Load,磁盘空间,以及网络流量的图表
注:默认的自动发现配置为每个小时执行一次,因此在没有修改配置的情况下需要1个小时以后才能看到这些图表。
(手动修改可以通过 Configuration - Hosts - zabbix-client-1 - Discovery rules中修改对应的 Interval的值)
2.3 设置Trigger,指定各个监控项的阈值
Configuration - Hosts - zabbix-client-1 - Triggers
<img width="600" title="os-template-6" class="alignnone size-full wp-image-2323" alt="" src="http://heylinux.com/wp-content/uploads/2013/01/os-template-6.jpg" 288"="">
默认已经有了不少的Trigger,比如磁盘的报警阈值就设置为了20%
手动修改磁盘的报警阈值为10%
Template - Template OS Linux - Discovery rules - Mounted filesystem discovery - Trigger prototypes
等待Discovery rules更新过后,可以看到阈值已经更新为了10%
修改可用内存的报警阈值就更加简单了
Template - Template OS Linux - Triggers - Lack of available memory on server {HOST.NAME}
Zabbix的配置参数主要都是通过Template来统一管理的,所以就需要到Template中进行修改,完成后会自动更新到所引用的Hosts。
2.4 自定义各个监控项的绘图格式和颜色等
Template - Template OS Linux - Graphs - CPU load
手动修改CPU Load的绘图格式如下
Processor load (1 min average per core) 为 红色加粗线条
Processor load (5 min average per core) 为 绿色填充区域
Processor load (15 min average per core) 为 黄色线条
查看新的绘图样式,可以看到以上修改已经即刻生效了。
Monitoring - Graphs
2.5 在agent上安装Nginx
ubuntu@zabbix-client-1:~$ sudo apt-get install python-software-properties
ubuntu@zabbix-client-1:~$ sudo add-apt-repository ppa:nginx/stable
ubuntu@zabbix-client-1:~$ sudo apt-get update
ubuntu@zabbix-client-1:~$ sudo apt-get install nginx
ubuntu@zabbix-client-1:~$ sudo /etc/init.d/nginx start
view source
print?
1 | Starting nginx: nginx. |
view source
print?
1 | Active Internet connections (only servers) |
2 | Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name |
3 | tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 17217/nginx |
4 | tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1225/sshd |
5 | tcp 0 0 127.0.0.1:6011 0.0.0.0:* LISTEN 16055/1 |
6 | tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 16332/zabbix_agentd |
7 | tcp6 0 0 :::22 :::*LISTEN 1225/sshd |
8 | tcp6 0 0 ::1:6011:::*LISTEN 16055/1 |
定位监控的方法
ubuntu@zabbix-client-1:~$ /etc/init.d/nginx status
view source
print?
1 | * nginx is running |
view source
print?
1 | Stopping nginx: nginx. |
view source
print?
1 | * could not access PID file for nginx |
0为未运行,1为运行
ubuntu@zabbix-client-1:~$ sudo /etc/init.d/nginx stop
view source
print?
1 | Stopping nginx: nginx. |
view source
print?
1 | 0 |
view source
print?
1 | Starting nginx: nginx. |
view source
print?
1 | 1 |
ubuntu@zabbix-client-1:~$ sudo vim /usr/local/etc/zabbix_agentd.conf
view source
print?
1 | # For Nginx status |
2 | UserParameter=nginx.status,/etc/init.d/nginx status| grep -c running |
view source
print?
1 | Stopping Zabbix agent daemon: zabbix_agentd |
2 | Starting Zabbix agent daemon: zabbix_agentd |
Configuration - Templates - Create template
Applications - Create application
Items - Create item
Triggers - Create trigger
将模板Tpl_Nginx应用到zabbix-client-1上
Configuration - Hosts - zabbix-client-1 - Templates - Add
校验Nginx的采集数据,可以看到最近一次采集到的值为1
Monitoring - Latest data
2.7 配置HTTP Check方式的监控
安装所需软件
ubuntu@zabbix-server:~$ sudo apt-get install lynx
ubuntu@zabbix-server:~$ sudo /etc/init.d/zabbix-server restart
view source
print?
1 | Stopping Zabbix server daemon: zabbix_server |
2 | Starting Zabbix server daemon: zabbix_server |
Steps - Add
校验HTTPCheck的采集数据
Monitoring - Web - Nginx-Webfront-Status
2.8 配置邮件报警并模拟故障
在Zabbix Server上创建sendmail.py脚本
ubuntu@zabbix-server:~$ sudo apt-get install python
ubuntu@zabbix-server:~$ sudo apt-get install sendemail mailutils
ubuntu@zabbix-server:~$ sudo vim /usr/local/etc/alert.d/sendmail.py
view source
print?
01 | #! /usr/bin/env python |
02 |
03 | import os |
04 | import sys |
05 |
06 | SENDMAIL = "/usr/sbin/sendmail" # sendmail location |
07 |
08 | FROM = "zabbix@heylinux.com" |
09 | TO = sys.argv[ 1 ] |
10 |
11 | SUBJECT = sys.argv[ 2 ] |
12 |
13 | TEXT = sys.argv[ 3 ] |
14 |
15 | # Prepare actual message |
16 |
17 | message = """\ |
18 | From: %s |
19 | To: %s |
20 | Subject: %s |
21 |
22 | %s |
23 | """ % (FROM, TO, SUBJECT, TEXT) |
24 |
25 | # Send the mail |
26 |
27 | p = os.popen( "%s -t -i" % SENDMAIL, "w" ) |
28 | p.write(message) |
29 | status = p.close() |
30 | with open ( "/tmp/zabbixpy.log" , "w" ) as f: |
31 | f.write(message) |
32 |
33 | if status: |
34 | "Sendmail exit status" , status |
在WEB界面中创建sendmail.py
Administration - Media types - Create media type
Configuration - Actions - Create Action
Profile - Media - Add
报警的配置也已经完成,下面我们模拟Nginx进程故障
ubuntu@zabbix-client-1:~$ sudo /etc/init.d/nginx stop
view source
print?
1 | Stopping nginx: nginx. |
在邮箱中也可以看到报警的邮件
重新启动Nginx
ubuntu@zabbix-client-1:/usr/local/etc$ sudo /etc/init.d/nginx start
view source
print?
1 | Starting nginx: nginx. |
3. 至此,就完成了整个自定义配置的过程,让我们再来回顾一下都配置了哪些内容
1.通过Zabbix内建的方法来监控CPU,内存,交换分区,磁盘空间,网络IO等系统信息;
2.设置Trigger,指定各个监控项的阈值;
3.自定义各个监控项的绘图格式和颜色等;
4.在agent上安装Nginx;
5.配置自定义监控Nginx进程状态的模板,方法等;
6.配置HTTP Check方式的监控;
7.配置邮件报警并模拟故障;
4. 接下来,就是更多高级的功能了
比如
实现Zabbix通过邮件发送Screen图形报表;
当然还有更多的扩展和经验可以在后面不断的熟悉过程中总结。
好了,开始你的Zabbix之旅吧!
相关文章推荐
- ”Tomcat version 5.5 only supports J2EE 1.2, 1.3, and 1.4 Web modules“解决方案
- 调整Linux系统实现高并发
- InitPHP框架搭建高可用WEB应用01
- Linux下启动停止查看杀死Tomcat进程
- 嵌入式(linux+ARM)线路图
- 大话设计模式(十一 三层架构,分层开发)
- 第二篇:opencv纠错,R6010-abort() has been called
- Nginx配置文件详细说明
- 查看linux的基本信息
- python+django+nginx+uwsgi环境解决timeout 504
- 基于nginx和ffmpeg搭建HLS流媒体服务器
- org.apache.commons.collections4
- linux命令(2)---cd
- Sqoop2的安装与使用
- linux下svn修改用户名和密码
- CentOS系统优化系列之“修改时区和时间”
- 阿里云 centos 安装apache和php
- 从预装版VM快速入门hadoop
- shell学习小结
- 让x86的android模拟器能模拟arm架构系统