1.什么是Zabbix
Zabbix是一个开源分布式监控平台,包含诸多监控功能,用于构建一个符合企业级的监控解决方案。软件由开源社区提供开发和维护,遵循GPL协议,可以自由传播和使用,但开发团队提供收费的技术支持服务。
官方网站: http://www.zabbix.com
1.2 Zabbix功能
具备常见的商业监控软件所具备的功能(主机的性能监控、网络设备性能监控、数据库性能监控、FTP等通用协议监控、多种告警方式、详细的报表图表绘制)
支持自动发现网络设备和服务器
支持分布式,能集中展示、管理分布式的监控点
扩展性强,server提供通用接口,可以自己开发完善各类监控
优点:
开源,无软件成本投入
Server对设备性能要求低(实际测试环境:虚拟机Redhat EL AS5,2GCPU 1G内存,监控5台设备,CPU使用率基本保持在10%以下,内存剩余400M以上)
支持设备多
支持分布式集中管理
开放式接口,扩展性强
当监控的item比较多服务器队列比较大时可以采用被对状态,被监控客户端主动从server端去下载需要监控的item然后取数据上传到server端。这种方式对服务器的负载比较小。
缺点:
全英文,界面不友好
无厂家支持,出现问题解决比较麻烦
需在被监控主机上安装agent,所有数据都存在数据库里,产生的数据据很大,瓶颈主要在数据库。
1.3 服务器端环境配置LAMP环境:#yum install mysql-server httpd php -y
其它的依赖包:#yum install mysql-devel gcc net-snmp-devel curl-devel per-DBI php-mysql php-bcmath php-gd php-mbstring php-xml -y
官方网站: http://www.zabbix.com 下载zabbix安装包
增加zabbix用户和组
#groupadd zabbix
# useradd -g zabbix -m zabbix
启动MySQL数据库:
#service mysqld start
修改MySQL root用户密码(默认密码为空)
# mysqladmin -uroot -p password westos
测试能否正常登陆数据库
#mysql –uroot –pwestos
创建Zabbix数据库
Mysql> create database zabbix character setutf8;
导入数据库sql脚本
#cd zabbix-2.0.4
# mysql -uroot -pwestos zabbix <database/mysql/schema.sql
# mysql -uroot -pwestos zabbix < database/mysql/images.sql
# mysql -uroot -pwestos zabbix <database/mysql/data.sql
配置编译安装,prefix是安装后程序目录
# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql--with-net-snmp --with-libcurl -enable-proxy
........
***********************************************************
* Now run 'make install' *
* *
* Thank you for using Zabbix! *
* <http://www.zabbix.com> *
***********************************************************
# make install
配置文件及Web端文件修改
vim /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在浏览器中输入http://IP/zabbix测试:
按照提示执行即可:
cd /var/www/html/zabbix/conf/
vim zabbix.conf.php 写入:
<?php
// Zabbix GUI configuration file
global $DB;
$DB['TYPE'] = 'MYSQL';
$DB['SERVER'] = 'localhost';
$DB['PORT'] = '0';
$DB['DATABASE'] = 'zabbix';
$DB['USER'] = 'root';
$DB['PASSWORD'] = 'westos';
// SCHEMA is relevant only for IBM_DB2 database
$DB['SCHEMA'] = '';
$ZBX_SERVER = 'localhost';
$ZBX_SERVER_PORT = '10051';
$ZBX_SERVER_NAME = 'zabbix';
$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
?>
未完待续......