一、 Zabbix简介
Zabbix是一个企业级的开源分布式监控解决方案,由一个国外的团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费的技术支持赢利。
Zabbix官方网站:http://www.zabbix.com
Zabbix 2.2官方文档:https://www.zabbix.com/documentation/2.2/manual
Zabbix通过C/S模式采集数据,通过B/S模式在web端展示和配置。
Server端:通过收集SNMP和agent发送的数据,写入MySQL数据库,再通过php+Apache(Nginx)在web前端展示。
被监控端:主机通过安装agent方式采集数据,网络设备通过SNMP方式采集数据。
Zabbix运行条件
Server:Zabbix Server需运行在LAMP(Linux+Apache+Mysql+PHP)环境下,对硬件要求低 Agent:目前已有的agent基本支持市面常见的OS,包含Linux、HPUX、S olaris、Sun、windows SNMP:支持各类常见的网络设备
二、 Zabbix功能
具备常见的商业监控软件所具备的功能(主机的性能监控、网络设备性能监控、数据库性能监控、FTP等通用协议监控、多种告警方式、详细的报表图表绘制) 支持自动发现网络设备和服务器 支持分布式,能集中展示、管理分布式的监控点 扩展性强,server提供通用接口,可以自己开发完善各类监控
三、 优劣势
优点:
① 开源,无软件成本投入
② Server对设备性能要求低(实际测试环境:虚拟机Redhat EL AS5,2GCPU 1G内存,监控5台设备,CPU使用率基本保持在10%以下,内存剩余400M以上)
③ 支持设备多
④ 支持分布式集中管理
⑤ 开放式接口,扩展性强
缺点:
① 全英文,界面不友好
② 无厂家支持,出现问题解决比较麻烦
③ 需在被监控主机上安装agent
四、 安装部署
本文基于《LNMP最新源码安装脚本》
1. 服务端环境准备
yum -y install net-snmp net-snmp-devel mkdir zabbix cd zabbix wget http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.1/zabbix-2.2.1.tar.gz tar xzf zabbix-2.2.1.tar.gz cd zabbix-2.2.1 useradd zabbix mysqlrootpwd=admin /usr/local/mysql/bin/mysql -uroot -p$mysqlrootpwd << EOF create database zabbix; use zabbix; source database/mysql/schema.sql; source database/mysql/data.sql; source database/mysql/images.sql; grant all on zabbix.* to zabbix@'localhost' identified by 'zabbix123'; flush privileges; EOF
2. 安装zabbix
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql \ --with-net-snmp --with-libcurl --enable-proxy make && make install
3. 修改配置文件
cat >> /etc/services <<EOF zabbix_agent 10050/tcp #Zabbix Agent zabbix_agent 10050/udp #Zabbix Agent zabbix_trapper 10051/tcp #Zabbix Trapper zabbix_trapper 10051/udp #Zabbix Trapper EOF cp misc/init.d/tru64/{zabbix_server,zabbix_agentd} /etc/init.d/ sed -i 's@^DAEMON=.*@DAEMON=/usr/local/zabbix/sbin/zabbix_server@' /etc/init.d/zabbix_server sed -i 's@^DAEMON=.*@DAEMON=/usr/local/zabbix/sbin/zabbix_agentd@' /etc/init.d/zabbix_agentd chmod +x /etc/init.d/{zabbix_server,zabbix_agentd} sed -i '1a #chkconfig: 2345 96 96' /etc/init.d/zabbix_server sed -i '2a# description: zabbix_server' /etc/init.d/zabbix_server sed -i '1a #chkconfig: 2345 96 96' /etc/init.d/zabbix_agentd sed -i '2a# description: zabbix_agentd' /etc/init.d/zabbix_agentd chkconfig --add zabbix_server chkconfig --add zabbix_agentd chkconfig zabbix_server on chkconfig zabbix_agentd on sed -i 's@^DBname=.*@DBName=zabbix@' /usr/local/zabbix/etc/zabbix_server.conf sed -i 's@^DBUser=.*@DBUser=zabbix@' /usr/local/zabbix/etc/zabbix_server.conf sed -i 's@^# DBPassword.*@DBPassword=zabbix123@' /usr/local/zabbix/etc/zabbix_server.conf sed -i 's@^# DBSocket=.*@DBSocket=/tmp/mysql.sock@' /usr/local/zabbix/etc/zabbix_server.conf cp -r frontends/php/ /home/wwwroot/default/zabbix chown -R www.www /home/wwwroot/default/zabbix #PHP参数修改,防止web前端check不通过 sed -i 's@^post_max_size.*@post_max_size = 32M@' /usr/local/php/etc/php.ini sed -i 's@^max_execution_time.*@max_execution_time = 300@' /usr/local/php/etc/php.ini sed -i 's@^max_input_time.*@max_input_time = 300@' /usr/local/php/etc/php.ini service php-fpm restart
zabbix web前端配置(http://www.linuxeye.com/zabbix)
配置完成后,出现登陆界面(http://www.linuxeye.com/zabbix),默认用户名:admin,密码:zabbix
zabbix后台界面修改成中文:点击右上角Profile – Language
启动zabbix_server报错
# service zabbix_server start /usr/local/zabbix/sbin/zabbix_server: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory
解决方法:
echo '/usr/local/lib' >> /etc/ld.so.conf ldconfig
Thu Apr 25 10:59:16 CST 2013