Zabbix是一个企业级的开源分布式监控解决方案,由一个国外的团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费的技术支持赢利。
官方网站:http://www.zabbix.com
Zabbix 2.0官方文档:https://www.zabbix.com/documentation/doku.php?id=2.0
Zabbix通过C/S模式采集数据,通过B/S模式在web端展示和配置。
被监控端:主机通过安装agent方式采集数据,网络设备通过SNMP方式采集数据
Server端:通过收集SNMP和agent发送的数据,写入MySQL数据库,再通过php+apache在web前端展示。
Zabbix运行条件:
Server:
Zabbix Server需运行在LAMP(Linux+Apache+Mysql+PHP)环境下,对硬件要求低
Agent:
目前已有的agent基本支持市面常见的OS,包含Linux、HPUX、Solaris、Sun、windows等
SNMP:
支持各类常见的网络设备
具备常见的商业监控软件所具备的功能(主机的性能监控、网络设备性能监控、数据库性能监控、FTP等通用协议监控、多种告警方式、详细的报表图表绘制)
支持自动发现网络设备和服务器
支持分布式,能集中展示、管理分布式的监控点
扩展性强,server提供通用接口,可以自己开发完善各类监控
优点:
开源,无软件成本投入
Server对设备性能要求低(实际测试环境:虚拟机Redhat EL AS5,2GCPU 1G内存,监控5台设备,CPU使用率基本保持在10%以下,内存剩余400M以上)
支持设备多
支持分布式集中管理
开放式接口,扩展性强
当监控的item比较多服务器队列比较大时可以采用被对状态,被监控客户端主动从server端去下载需要监控的item然后取数据上传到server端。这种方式对服务器的负载比较小。
缺点:
全英文,界面不友好
无厂家支持,出现问题解决比较麻烦
需在被监控主机上安装agent,所有数据都存在数据库里,产生的数据据很大,瓶颈主要在数据库。
Zabbix Server需要运行在CentOS、RedHat Linux、Debain等Linux系统上,这里以RHEL作为部署环境。
Root用户安装必须的包,建议配置好yum,通过yum安装下列包,解决包的依赖关系。
LAMP环境
#yum install mysql-server httpd php
其他需要用到的包:
#yum install mysql-devel gcc net-snmp-devel curl-devel perl-DBI php-gd php-mysql php-bcmath php-mbstring php-xml
下载最新的Zabbix安装包(官网:http://www.zabbix.com)到本地,解压
#tar zxvf zabbix-2.0.4.tar.gz(目前最新的为2.0.5,我安装的是2.0.4)
增加zabbix用户和组
#groupadd zabbix
# useradd -g zabbix -m zabbix
启动MySQL数据库:
#service mysqld start
修改MySQL root用户密码(默认密码为空)
# mysqladmin -uroot -p password root
测试能否正常登陆数据库
#mysql �Curoot �Cproot
创建Zabbix数据库
Mysql> create database zabbix character set utf8;
导入数据库sql脚本
#cd zabbix-2.0.4
# mysql -uroot -proot zabbix < database/mysql/schema.sql
# mysql -uroot -proot zabbix < database/mysql/images.sql
# mysql -uroot -proot zabbix < database/mysql/data.sql
配置编译,prefix是安装后程序目录
# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl -enable-proxy
# make install
添加服务端口,添加后如下
# grep zabbix /etc/services
zabbix-agent 10050/tcp # Zabbix Agent
zabbix-agent 10050/udp # Zabbix Agent
zabbix-trapper 10051/tcp # Zabbix Trapper
zabbix-trapper 10051/udp # Zabbix Trapper
添加配置文件
# mkdir -p /etc/zabbix
# cp conf/{zabbix_server.conf,zabbix_agentd.conf} /etc/zabbix
# chmod 400 /etc/zabbix/zabbix_server.conf
# chown zabbix /etc/zabbix/zabbix_server.conf
# chown -R zabbix:zabbix /etc/zabbix
修改Server配置文件
基本不用修改,用默认配置即可,只需修改一项DBPassword=密码(此密码是前面设置的数据库密码)
# vi /etc/zabbix/zabbix_server.conf
修改Agentd配置文件,更改HOST NAME 为本机的主机名
#vi /etc/zabbix/zabbix_agentd.conf
添加web前端php文件
# cd frontends/
# cp -rf php /var/www/html/
# cd /var/www/html
# mv php zabbix
# chown -R zabbix:zabbix zabbix
修改php相关参数
# vi /etc/php.ini 找到如下几项,改成下面的值,前面有;号的要删掉(如果修改会提示出错,也可以按照提示进行修改)
max_execution_time = 300
date.timezone = Asia/Shanghai
max_input_time = 600
post_max_size = 32M
memory_limit = 128M
mbstring.func_overload = 2
重启apache
#service httpd restart
在本地浏览器上访问Zabbis Serve地址开始web前端配置,http://ServerIP/zabbix
会出现安装界面按提示next,
这里的Check of pre-requisites 必须全部项目OK后才能继续配置,如有提示fail,去server上检查是否安装这个包或配置是否按上述更改。
测试连接通过
这里按照提示下载文件,然后放到要求的目录下并改名。完成后点解finish
配置完成后,出现登陆界面,默认的用户为:admin,密码为:zabbix
到这里安装完成,其实安装很简单,可以参考官方文档。
安装完成后的server程序在/usr/local/zabbix/sbin/目录下,可以直接启动
#/usr/local/zabbix/sbin/zabbix_server
启动agentd
#/usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/conf/zabbix_agentd.conf
检查启动是否正常,查看进程是否起来,分server和agentd
#ps �Cef|grep zabbix
如果进程没起来,可以查看对应的日志错误,默认在/tmp/zabbix-*.log