在尝试了众多的系统/性能监控管理软件,如基础的MRTG,RRDTOOL,以及在RRDTOOL基础上开发的cacti,nagios,big sister等等,发现在使用上都比较复杂,没有对这些工具的使用参数有一个深入研究,是很难用好的.今天偶尔试了试这个zabbix,发现安装配置方面相当简洁,易用,而且界面美观,web界面是PHP编写,比较熟悉.各个方面都很不错.附上两张zabbix网站的截图.
下面是我的安装过程的记录,系统方面的APACHE+PHP+MYSQL的安装我就不记录了,请参考相关文档.
1.创建ZABBIX的系统账号
为了安全起见建议创建使用zabbix用户运行ZABBIX.
useradd zabbix
2.解压:
tar xvzf zabbix-1.1beta12.tar.gz
3.创建 ZABBIX 数据库(FOR MYSQL/PostgreSQL).
mysql -u root -p
>create database zabbix;
>quit;
cd create/mysql
cat schema.sql |mysql -u root -p zabbix
cd ../data
cat data.sql |mysql -u<username> -p<password> zabbix
4.编译:
服务器端+客户端的编译:
./configure --with-mysql --with-net-snmp --enable-server --enable-agent --prefix=/usr/local/zabbix
客户端只需执行:
./configure
make
make install
cd /usr/local/zabbix/bin
for i in * ; do ln -s /usr/local/zabbix/bin/$i /usr/bin/$i ; done
5.配置:
(1).vi /etc/services
该文件是zabbix建议操作,可忽略:
加入:
zabbix_agent 10050/tcp
zabbix_trap 10051/tcp
(2) WEB interface
回到zabbix的编译目录,
vi frontends/php/include/db.inc.php
更改数据库相关内容:
$DB_TYPE ="MYSQL";
$DB_SERVER ="localhost";
$DB_DATABASE ="zabbix";
$DB_USER ="root";
$DB_PWD ="";
cp php /home/httpd/html/zabbix -R
chown zabbix /home/httpd/html/zabbix/ -R
(3) 生成配置文件:
mkdir /etc/zabbix
cp misc/conf/* /etc/zabbix/
配置相关内容(以下内容请根据大家具体服务器的IP/MYSQL的账号情况做相应修改):
zabbix_agent.conf
grep -v '^#' zabbix_agent.conf |grep -v '^$'
Server=10.5.21.46
Timeout=3
UserParameter=mysql.ping,/usr/local/mysql/bin/mysqladmin -uroot -p ping|grep alive|wc -l
UserParameter=mysql.uptime,/usr/local/mysql/bin/mysqladmin -uroot -p status|cut -f2 -d":"|cut -f1 -d"T"
UserParameter=mysql.threads,/usr/local/mysql/bin/mysqladmin -uroot -p status|cut -f3 -d":"|cut -f1 -d"Q"
UserParameter=mysql.questions,/usr/local/mysql/bin/mysqladmin -uroot -p status|cut -f4 -d":"|cut -f1 -d"S"
UserParameter=mysql.slowqueries,/usr/local/mysql/bin/mysqladmin -uroot -p status|cut -f5 -d":"|cut -f1 -d"O"
UserParameter=mysql.qps,/usr/local/mysql/bin/mysqladmin -uroot -p status|cut -f9 -d":"
UserParameter=mysql.version,/usr/local/mysql/bin/mysql -V
zabbix_agentd.conf
grep -v '^#' zabbix_agentd.conf |grep -v '^$'
Server=10.5.21.46
Hostname=localhost
ListenPort=10050
ListenIP=10.5.21.46
StartAgents=5
RefreshActiveChecks=120
DisableActive=1
DebugLevel=3
PidFile=/var/tmp/zabbix_agentd.pid
LogFile=/var/log/zabbix_agentd.log
Timeout=3
UserParameter=mysql.ping,/usr/local/mysql/bin/mysqladmin -uroot -p ping|grep alive|wc -l
UserParameter=mysql.uptime,/usr/local/mysql/bin/mysqladmin -uroot -p status|cut -f2 -d":"|cut -f1 -d"T"
UserParameter=mysql.threads,/usr/local/mysql/bin/mysqladmin -uroot -p status|cut -f3 -d":"|cut -f1 -d"Q"
UserParameter=mysql.questions,/usr/local/mysql/bin/mysqladmin -uroot -p status|cut -f4 -d":"|cut -f1 -d"S"
UserParameter=mysql.slowqueries,/usr/local/mysql/bin/mysqladmin -uroot -p status|cut -f5 -d":"|cut -f1 -d"O"
UserParameter=mysql.qps,/usr/local/mysql/bin/mysqladmin -uroot -p status|cut -f9 -d":"
UserParameter=mysql.version,/usr/local/mysql/bin/mysql -V
zabbix_server.conf
grep -v '^#' zabbix_server.conf |grep -v '^$'
Server=1
StartPollers=6
StartTrappers=5
ListenPort=10051
HousekeepingFrequency=1
SenderFrequency=30
DebugLevel=3
Timeout=5
UnreachablePeriod=45
UnavailableDelay=15
UnavailableDelay=60
PidFile=/var/tmp/zabbix_server.pid
LogFile=/var/log/zabbix_server.log
AlertScriptsPath=/home/zabbix/bin/
PingerFrequency=30
DBHost=localhost
DBName=zabbix
DBUser=root
DBPassword=
DBSocket=/usr/local/mysql/data/mysql.sock
zabbix_trapper.conf
grep -v '^#' zabbix_trapper.conf |grep -v '^$'
DebugLevel=2
Timeout=3
LogFile=/var/log/zabbix_trapper.log
DBHost=localhost
DBName=zabbix
DBUser=root
DBPassword=
DBSocket=/usr/local/mysql/data/mysql.sock
(4). 生成启动脚本
cp misc/init.d/redhat/zabbix_* /usr/local/zabbix/bin/
编辑zabbix_agentd_ctl 和 zabbix_suckerd_ctl
BASEDIR=/usr/local/zabbix 为指定的zabbix安装目录.
zabbix_suckerd_ctl文件中的
ZABBIX_SUCKERD=$BASEDIR/bin/zabbix_suckerd可能因为版本关系应该改为
ZABBIX_SUCKERD=$BASEDIR/bin/zabbix_server
6.启动服务:
服务器端
/usr/local/zabbix/bin/zabbix_suckerd_ctl start
客户端
/usr/local/zabbix/bin/zabbix_agentd_ctl start
7.打开浏览器:
http://10.5.21.46/zabbix
用户名admin,初始密码为空.
进去后随便先逛逛,感受一下,我先不啰嗦了,至此服务器端+本地的agent安装配置基本完成.具体使用和配置文档稍后补上.