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