zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。它能监视各种网络参数,保证服务器系统的安全运营;并提供柔软的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix由2部分构成,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服务端安装配置
web端 192.168.8.39
mysql数据库:192.168.8.40
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界面需要安装的数据库程序包
# yum install -y *.rpm
Error: Package: zabbix-server-2.0.8-3.el6.x86_64 (/zabbix-server-2.0.8-3.el6.x86_64)
Requires: iksemel
Error: Package: zabbix-server-2.0.8-3.el6.x86_64 (/zabbix-server-2.0.8-3.el6.x86_64)
Requires: fping
Error: Package: zabbix-server-mysql-2.0.8-3.el6.x86_64 (/zabbix-server-mysql-2.0.8-3.el6.x86_64)
Requires: libiksemel.so.3()(64bit)
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
安装依赖包
# yum install -y epel-release
# yum install -y iksemel fping libiksemel
查看服务端的程序列表
# rpm -ql zabbix-server-mysql
/usr/sbin/zabbix_server_mysql
/usr/share/doc/zabbix-server-mysql-2.0.8
/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/p_w_picpaths.sql
/usr/share/doc/zabbix-server-mysql-2.0.8/create/schema.sql
/usr/share/doc/zabbix-server-mysql-2.0.8/upgrades
/usr/share/doc/zabbix-server-mysql-2.0.8/upgrades/dbpatches
/usr/share/doc/zabbix-server-mysql-2.0.8/upgrades/dbpatches/1.6
/usr/share/doc/zabbix-server-mysql-2.0.8/upgrades/dbpatches/1.6/mysql
/usr/share/doc/zabbix-server-mysql-2.0.8/upgrades/dbpatches/1.6/mysql/patch.sql
/usr/share/doc/zabbix-server-mysql-2.0.8/upgrades/dbpatches/1.8
/usr/share/doc/zabbix-server-mysql-2.0.8/upgrades/dbpatches/1.8/mysql
/usr/share/doc/zabbix-server-mysql-2.0.8/upgrades/dbpatches/1.8/mysql/patch.sql
/usr/share/doc/zabbix-server-mysql-2.0.8/upgrades/dbpatches/1.8/mysql/upgrade
/usr/share/doc/zabbix-server-mysql-2.0.8/upgrades/dbpatches/2.0
/usr/share/doc/zabbix-server-mysql-2.0.8/upgrades/dbpatches/2.0/mysql
/usr/share/doc/zabbix-server-mysql-2.0.8/upgrades/dbpatches/2.0/mysql/patch.sql
/usr/share/doc/zabbix-server-mysql-2.0.8/upgrades/dbpatches/2.0/mysql/rc4_rc5.sql
/usr/share/doc/zabbix-server-mysql-2.0.8/upgrades/dbpatches/2.0/mysql/upgrade
这三个sql为zabbix建表所需要的sql语句
/usr/share/doc/zabbix-server-mysql-2.0.8/create/data.sql
/usr/share/doc/zabbix-server-mysql-2.0.8/create/p_w_picpaths.sql
/usr/share/doc/zabbix-server-mysql-2.0.8/create/schema.sql
mysql> GRANT ALL ON *.* TO 'root'@'192.168.%.%' IDENTIFIED BY 'mypass' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
mysql> create database zabbix;
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
| zabbix |
+--------------------+
安装mysql客户端
# yum install -y mysql
# mysql -uroot -pmypass -h192.168.8.40 zabbix < /usr/share/doc/zabbix-server-mysql-2.0.8/create/schema.sql
# mysql -uroot -pmypass -h192.168.8.40 zabbix < /usr/share/doc/zabbix-server-mysql-2.0.8/create/p_w_picpaths.sql
# mysql -uroot -pmypass -h192.168.8.40 zabbix < /usr/share/doc/zabbix-server-mysql-2.0.8/create/data.sql
验证表是否导入成功
mysql> show tables;
+-----------------------+
| Tables_in_zabbix |
+-----------------------+
| acknowledges |
| actions |
| alerts |
| applications |
| auditlog |
| auditlog_details |
| autoreg_host |
...........................
+-----------------------+
103 rows in set (0.00 sec)
mysql> GRANT ALL ON zabbix.* TO 'zbuser'@'192.168.%.%' IDENTIFIED BY 'zbuserpass';
mysql> FLUSH PRIVILEGES;
# cd /etc/zabbix/
# vim zabbix_server.conf
DBHost=192.168.8.40 # 连接数据库的主机名
DBName=zabbix # 数据库名
DBUser=zbuser # 连接数据库所使用的用户
DBPassword=zbuserpass # 用户的数据
DBPort=3306 # 连接数据库的端口
修改时区
# vim /etc/php.ini
date.timezone = Asia/Shanghai
重启apache服务
# service httpd restart
停止 httpd: [确定]
正在启动 httpd:httpd: apr_sockaddr_info_get() failed for localhost.centos6.5
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
[确定]
报错是因为反解主机名问题,需要修改主机名
# vim /etc/httpd/conf/httpd.conf
ServerName web.zabbix.com:80
# vim /etc/hosts
# hostname 192.168.8.40 web.zabbix.com
192.168.8.40 web.zabbix.com
五、启动zabbix服务端
# service zabbix-server start
启动zabbix-server服务,这里要注意的是httpd安装好和php也要安装上,启动httpd服务和zabbix-server之后就可以在页面上访问安装了,zabbix-server会启动一大堆进程,默认监听的端口是10051:
可以看到zabbix相关的web配置
# cat /etc/httpd/conf.d/zabbix.conf
访问zabbix web页面开始配置
http://192.168.8.39/zabbix/
默认账户
admin
密码 zabbix
# yum localinstall -y zabbix-2.0.8-3.el6.x86_64.rpm zabbix-agent-2.0.8-3.el6.x86_64.rpm zabbix-sender-2.0.8-3.el6.x86_64.rpm
# cd /etc/zabbix/
# vim zabbix_agentd.conf
Server=192.168.8.39 # 只需要改这个监.控服务器地址就可以启动了
# service zabbix-agent start
七、添加监控主机到zabbix服务中去
1.点击Create host 添加一个主机
2.再创建一个监控项item,点击上图中的Item项,再点击右上角的create item就可以创建item项了,这里我们添加两个做为测试,一个是eth0的数据流出量和流入量
对监控项赋值
3.创建图形展示数据,点击Graphs,再点create graphs就可以创建图形展示数据了,填上相关的参数:
4.多个图组合在一个屏幕上查看的创建,也就是定义screens