首页 > 代码库 > 自动化运维工具之Zabbix服务器监控基本应用详解(一)

自动化运维工具之Zabbix服务器监控基本应用详解(一)

Zabbix基本概述:
Zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。它能监视各种网络参数,保证服务器系统的安全运营;并提供柔软的通知机制以让系统管理员快速定位/解决存在的各种问题。

zabbix由zabbix server与可选组件zabbix agent构成:
zabbix server:可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X等平台之上。

zabbix agent:需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。zabbix agent可以运行在Linux ,Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows 2000/2003/XP/Vista等系统之上。

Server:指安装zabbix服务的服务器(以下简称服务器端),是最重要的部份,主要安装在linux系统上(支持多种操作系统),采用mysql存储监.控数据并使用apache+php的方式呈现。

Agent:指安装在被监.控设备上的zabbix代理(以下简称代理),被监.控设备上的数据由代理收集后统一上传到服务器端由服务器端收集、整理并呈现。

SNMP:也是agent的一种,指支持SNMP协议的设备(也可以是服务器),通过设定SNMP的参数将相关监.控数据传送至服务器端(大部份的交换机、防火墙等网络设备都支持SNMP协议)。

IPMI:Agent的另一种方式,主要应用于设备的物理性能监.控,例如设备的温度、风扇的转速等。


Zabbix常用术语
1. 主机(host):要监控的网络设备,可由IP或DNS名称指定;

2. 主机组(host group):主机的逻辑容器,可以包含主机和模板,但同一个组织内的主机和模板不能互相链接;主机组通常在给用户或用户组指派监控权限时使用;

3. 监控项(item):一个特定监控指标的相关的数据;这些数据来自于被监控对象;item是zabbix进行数据收集的核心,相对某个监控对象,每个item都由"key"标识;

4. 触发器(trigger):一个表达式,用于评估某监控对象的特定item内接收到的数据是否在合理范围内,也就是阈值;接收的数据量大于阈值时,触发器状态将从"OK"转变为"Problem",当数据再次恢复到合理范围,又转变为"OK";

5. 事件(event):触发一个值得关注的事情,比如触发器状态转变,新的agent或重新上线的agent的自动注册等;

6. 动作(action):指对于特定事件事先定义的处理方法,如发送通知,何时执行操作;
7. 报警升级(escalation):发送警报或者执行远程命令的自定义方案,如每隔5分钟发送一次警报,共发送5次等;

8. 媒介(media):发送通知的手段或者通道,如Email、Jabber或者SMS等;

9. 通知(notification):通过选定的媒介向用户发送的有关某事件的信息;

10. 远程命令(remote command):预定义的命令,可在被监控主机处于某特定条件下时自动执行;

11. 模板(template):用于快速定义被监控主机的预设条目集合,通常包含了item、trigger、graph、screen、application以及low-level discovery rule;模板可以直接链接至某个主机;

12. 应用(application):一组item的集合;

13. web场景(web scennario):用于检测web站点可用性的一个活多个HTTP请求;

14. 前端(frontend):Zabbix的web接口;



Zabbix安装配置及基本架构实现

技术分享

准备工作:

(1)准备好zabbix二进制rpm应用程序包:

zabbix_server端rpm包
1)zabbix-2.0.8-3.el6.x86_64.rpm                --主程序包
2)zabbix-get-2.0.8-3.el6.x86_64.rpm            --去被监.控端拉取数据的程序包
3)zabbix-server-2.0.8-3.el6.x86_64.rpm         --做为服务器端所需要安装的各
4)zabbix-server-mysql-2.0.8-3.el6.x86_64.rpm   --服务器端安装数据库程序包
5)zabbix-web-2.0.8-3.el6.noarch.rpm            --web界面需要安装的程序包
6)zabbix-web-mysql-2.0.8-3.el6.noarch.rpm      --web界面需要安装的数据库程序包

zabbix_client_agent端rpm包
1)zabbix-2.0.8-3.el6.x86_64.rpm
2)zabbix-agent-2.0.8-3.el6.x86_64.rpm
3)zabbix-sender-2.0.8-3.el6.x86_64.rpm

(2)安装epel源

# wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm 
# rpm -Uvh remi-release-6.rpm epel-release-6-8.noarch.rpm

Zabbix_DBServer安装配置如下:

(1)安装mysql数据库服务

# yum -y install mysql mysql-server
--启动mysql数据库服务
# service mysqld start

(2)授权root为远程用户及添加zabbix用户并授予权限,用于执行zabbix数据库创建,生产环境中不建议这样操作。

mysql> GRANT ALL ON *.* TO ‘root‘@‘172.16.%.%‘ IDENTIFIED BY ‘redhat‘ WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
mysql> CREATE DATABASE zabbix;
mysql> GRANT ALL ON zabbix.* TO ‘zbuser‘@‘172.16.%.%‘ IDENTIFIED BY ‘rehdat‘;
mysql> FLUSH PRIVILEGES;



Zabbix_Server安装配置如下:

(1)安装Zabbix过程如下

--安装相关依赖包
# yum -y install iksemel fping
--安装web环境
# yum -y install httpd php php-devel mysql
--安装zabbix服务
# yum -y install *.rpm

(2)查询安装的zabbix服务生成的文件及目录

# rpm -ql zabbix-server-mysql | grep create
/usr/share/doc/zabbix-server-mysql-2.0.8/create
/usr/share/doc/zabbix-server-mysql-2.0.8/create/data.sql
/usr/share/doc/zabbix-server-mysql-2.0.8/create/images.sql
/usr/share/doc/zabbix-server-mysql-2.0.8/create/schema.sql

使用以上3个*.sql创建zabbix数据表

# mysql -uroot -predhat -h172.16.100.3 zabbix < /usr/share/doc/zabbix-server-mysql-2.0.8/create/schema.sql 
# mysql -uroot -predhat -h172.16.100.3 zabbix < /usr/share/doc/zabbix-server-mysql-2.0.8/create/images.sql 
# mysql -uroot -predhat -h172.16.100.3 zabbix < /usr/share/doc/zabbix-server-mysql-2.0.8/create/data.sql


(3)配置zabbix配置文件

# vim /etc/zabbix/zabbix_server.conf
DBHost=172.16.100.3 #连接数据库的主机名
DBName=zabbix       #数据库名
DBUser=zbuser       #连接数据库所使用的用户
DBPassword=redhat   #连接数据库所使用的密码
DBPort=3306         #连接数据库的端口

配置php.ini

# vim /etc/php.ini
date.timezone = Asia/Shanghai

(4)重启httpd服务启动zabbix服务

# service zabbix-server start
# service httpd resart

(5)访问zabbix_web页面开始配置zabbix,过程如下所示:

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享



Zabbix_client_agent安装配置如下:

# yum -y install *.rpm
# vim /etc/zabbix/zabbix_agentd.conf
Server=172.16.100.2

启动agent服务:

# service zabbix-agent start


最后在zabbix web下添加监控主机客户端,如下所示:

技术分享

技术分享


针对添加主机创建一个监控项item,点击上图中的Item项,再点击右上角的create item就可以创建item项了,这里我们添加两个做为测试,一个是eth0的数据流出量、流入量和cpu性能数据:

技术分享


创建监控eth0流出量监控:技术分享

创建监控eth0流入量监控:

技术分享


创建监控CPU性能数据监控:技术分享

CPU swtich:

技术分享


创建图形展示数据,点击Graphs,再点create graphs就可以创建图形展示数据了,填上相关的参数:

技术分享


技术分享


多个图组合在一个屏幕上查看的创建,也就是定义screens

技术分享

技术分享

技术分享

技术分享

=============================================================

Zabbix进阶应用请关注下篇博文!!

本文出自 “Opensamlee” 博客,请务必保留此出处http://gzsamlee.blog.51cto.com/9976612/1865381

自动化运维工具之Zabbix服务器监控基本应用详解(一)