Zabbix分布式监控系统实践 自定义配置
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
zabbix-client-1
配置相应的选项
ubuntu@zabbix-client-1:~$ sudo vim /usr/local/etc/zabbix_agentd.conf
Server=10.6.1.181
ServerActive=10.6.1.181
Hostname=zabbix-client-1
重启Agent
ubuntu@zabbix-client-1:~$ sudo /etc/init.d/zabbix-agent restart
Stopping Zabbix agent daemon: zabbix_agentd
Starting Zabbix agent daemon: zabbix_agentd
到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
默认已经有了不少的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
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进程状态的模板,方法等
定位监控的方法
ubuntu@zabbix-client-1:~$ /etc/init.d/nginx status
* 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字符串能够定位进程的状态
0为未运行,1为运行
ubuntu@zabbix-client-1:~$ sudo /etc/init.d/nginx stop
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
配置自定义参数
ubuntu@zabbix-client-1:~$ sudo vim /usr/local/etc/zabbix_agentd.conf
# 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相关的模板
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
Stopping Zabbix server daemon: zabbix_server
Starting Zabbix server daemon: zabbix_server
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
#! /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
Administration - Media types - Create media type
Configuration - Actions - Create Action
Profile - Media - Add
报警的配置也已经完成,下面我们模拟Nginx进程故障
ubuntu@zabbix-client-1:~$ sudo /etc/init.d/nginx stop
Stopping nginx: nginx.
很快就可以在主页上看到Web monitoring与进程的报警信息
在邮箱中也可以看到报警的邮件
重新启动Nginx
ubuntu@zabbix-client-1:/usr/local/etc$ sudo /etc/init.d/nginx start
Starting nginx: nginx.
可以看到,主页已经恢复正常,同时也收到了Nginx进程恢复的邮件
3. 至此,就完成了整个自定义配置的过程,让我们再来回顾一下都配置了哪些内容
1.通过Zabbix内建的方法来监控CPU,内存,交换分区,磁盘空间,网络IO等系统信息;
2.设置Trigger,指定各个监控项的阈值;
3.自定义各个监控项的绘图格式和颜色等;
4.在agent上安装Nginx;
5.配置自定义监控Nginx进程状态的模板,方法等;
6.配置HTTP Check方式的监控;
7.配置邮件报警并模拟故障;
4. 接下来,就是更多高级的功能了
比如 实现Zabbix通过邮件发送Screen图形报表; http://www.linuxidc.com/Linux/2013-06/85759.htm
当然还有更多的扩展和经验可以在后面不断的熟悉过程中总结。
好了,开始你的Zabbix之旅吧!
Zabbix分布式监控系统实践 自定义配置的更多相关文章
- Zabbix分布式监控系统实践
https://www.zabbix.com/wiki/howto/install/Ubuntu/ubuntuinstall 环境介绍OS: Ubuntu 10.10 Server 64-bitSer ...
- zabbix分布式监控服务 安装与配置
zabbix安装与配置 一.什么是zabbix及优缺点(对比cacti和nagios) Zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位/解决存 ...
- 分布式监控系统Zabbix-3.0.3-完整安装记录(0)
一.Linux下开源监控系统简单介绍1)cacti:存储数据能力强,报警性能差2)nagios:报警性能差,存储数据仅有简单的一段可以判断是否在合理范围内的数据长度,储存在内存中.比如,连续采样数据存 ...
- 分布式监控系统之Zabbix基础
1.为什么要使用监控系统? 我们知道一个系统不管怎么讲它都会出故障,我们为了保证线上业务的最大化的可用性,通常我们要给关键业务做高可用:做高可用的目的是为了让故障发生时,能够有一个备用的解决方案,将故 ...
- 分布式监控系统之Zabbix基础使用
前文我们了解了分布式监控系统zabbix的相关组件的作用和zabbix的部署,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13997582.html:今天我们 ...
- LNMP+zabbix分布式监控搭建及版本升级
LNMP+zabbix分布式监控搭建需要组件:gcc gcc-c++ openssl* pcre pcre-devel gd gd-devel libjpeg-devel libpng-devel l ...
- 分布式监控系统Zabbix3.2给异常添加邮件报警
在前一篇 分布式监控系统Zabbix3.2跳坑指南 中已安装好服务端和客户端,此处客户端是被监控的服务器,可能有上百台服务器.监控的目的一个是可以查看历史状态,可以对比零晨和工作区间数据的对比,以便后 ...
- 分布式监控系统Zabbix3.2监控数据库的连接数
在 分布式监控系统Zabbix3.2跳坑指南 和 分布式监控系统Zabbix3.2给异常添加邮件报警 已经介绍了如何安装以及报警.此篇通过介绍监控数据库的3306端口连接数来了解如何监控其它端口和配置 ...
- zabbix分布式监控的部署与win被控端
zabbix是一个分布式监视,管理系统,基于server-clinet架构,可用于监视各种网络服务,服务器和网络机器等状态. server端基于C语言,web管理端Frontend则是基于PHPA制作 ...
随机推荐
- webstorm tools window
webstorm左侧的文件列表不见了, 通过菜单,view-->tools window-->project window就可以找到
- MySQL主从复制之异步模式
MySQL主从复制有异步模式.半同步模式.GTID模式以及多源复制模式,MySQL默认模式是异步模式.所谓异步模式,只MySQL 主服务器上I/O thread 线程将二进制日志写入binlog文件之 ...
- ORACLE表空间offline谈起,表空间备份恢复
从ORACLE表空间offline谈起,表空间备份恢复将表空间置为offline,可能的原因包括维护.备份恢复等目的:表空间处于offline状态,那么Oracle不会允许任何对该表空间中对象的SQL ...
- Vue实战:音乐播放器(一) 页面效果
先看一下效果图 首页 歌单详情页 歌手列表 歌手详情页 排行页面 榜单的详情页(排序样式) 搜索页面 搜索结果 播放器内核 歌词自动滚动 播放列表 用户中心
- MDX 入门
之前用到的SQL,解释:结构化查询语言(Structured Query Language)(发音:/ˈes kjuː ˈel/ "S-Q-L"),是一种特殊目的的编程语言,是一种 ...
- 从Android手机中取出已安装的app包,导出apk
从Android手机中取出已安装的app包,导出apk TAG:Android,提取,apk,adb,pm,root,导出apk 假设有这样一个场景,A君看到你手机上一个实用APP,想要安装到自己手机 ...
- 002--PowerDesigner显示注释comment
PowerDesigner显示注释comment 参考博客:https://blog.csdn.net/chao_1990/article/details/52620206 原始样式 显示操作 调出执 ...
- String类为什么是final
String 本身一个对象,对象在jvm启动的时候就要实例化和其他类调用就要实例化,第一性能,第二安全,因为string的高频繁的使用,如果被继承,哪里性能将会大大降低,因为不能被继承,换句话来说就比 ...
- react 之 flux
[WangQi]---flux---[react] 一.什么是Flux Flux 是一种架构思想,专门解决软件的结构问题.它跟MVC 架构是同一类东西,但是更加简单和清晰. 二.flux的基本概念 ...
- python之getopt
getopt可以分析输入的参数,根据不同的参数输入不同的命令 getopt.getopt( [命令行参数列表], "短选项", "长选项列表" ) getopt ...