Zabbix安装及配置
一、zabbix简介
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix由zabbix server与可选组件zabbix agent两部门组成。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视。
zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。
Zabbix主要功能:
- CPU负荷
- 内存使用
- 磁盘使用
- 网络状况
- 端口监视
- 日志监视
官方也提供了安装资料:http://www.zabbix.com/wiki/howto/monitor
二、zabbix安装
本文环境:
server IP : 192.168.6.10
client IP : 192.168.6.20
Server端配置:
!!!! zabbix需要LNMP或LAMP环境,这里只简单介绍一下php相关,其余不再赘述。
PHP相关:
yum -y install libpng zlib freetype
tar xf jpegsrc.v7.tar.gz -C /usr/src
./configure --enable-shared && make && make install
tar xf gd-2.0.33.tar.gz -C /usr/src
./configure --with-png --with-freetype --with-jpeg && make && make install
tar xf libiconv-1.9.2.tar.gz -C /usr/src
./configure --prefix=/usr/local/libiconv && make && make install
PHP编译命令:./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php5
--enable-mbstring --with-gettext --enable-bcmath --with-gd --with-iconv=/usr/local/libiconv/ --with-freetype-dir --with-jpeg-dir=/usr/local/include --enable-sockets
zabbix数据库可以和zabbix服务器分离,如采用专门的mysql服务器存储数据,此时要给zabbix数据库受相应的权限。
mysql> create database zabbix character set utf8;
mysql> grant all privileges on zabbix.* to 'zabbix'@'192.168.6.10' identified by '123456';
mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by '123456';
mysql> flush privileges;
注:ip为zabbix服务器的IP地址。
[root@RedHat6-1 ~]# useradd -M -s /sbin/nologin zabbix
\\创建zabbix运行用户
[root@RedHat6-1 ~]# tar xf zabbix-2.0.3.tar.gz -C /usr/src/
[root@RedHat6-1 ~]# cd /usr/src/zabbix-2.0.3/database/mysql/
[root@RedHat6-1 mysql]# mysql -uroot -p zabbix < schema.sql
[root@RedHat6-1 mysql]# mysql -uroot -p zabbix < images.sql
[root@RedHat6-1 mysql]# mysql -uroot -p zabbix < data.sql
\\导入数据库表
[root@RedHat6-1 mysql]# yum install mysql-dev gcc net-snmp-devel curl-devel perl-DBI php-gd php-mysql php-bcmath php-mbstring php-xm
\\安装依赖的软件包,推荐使用网络yum源
\\yum源下载地址:http://mirrors.163.com/.help/centos.html
\\编辑文件,把文件里面的$releasever全部替换为版本号,即6 最后保存(:0,$s/\$releasever/6/g)
[root@RedHat6-1 zabbix-2.0.3]# ./configure --prefix=/usr/local/zabbix --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy
***********************************************************
* Now run 'make install' *
* *
* Thank you for using Zabbix! *
* <http://www.zabbix.com> *
***********************************************************
[root@RedHat6-1 zabbix-2.0.3]# make && make install
[root@RedHat6-1 zabbix-2.0.3]# 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
\\添加zabbix服务端口
[root@RedHat6-1 zabbix-2.0.3]# vim /usr/local/zabbix/etc/zabbix_server.conf
39 LogFile=/tmp/zabbix_server.log
\\日志文件路径
87 DBName=zabbix
\\数据库名字
103 DBUser=zabbix
\\数据库用户
104 DBPassword=123456
\\用户密码
105 ListenIP=192.168.6.10
\\监听的IP
106 PidFile=/tmp/zabbix_server.pid
\\PID文件路径
[root@RedHat6-1 zabbix-2.0.3]# vim /usr/local/zabbix/etc//zabbix_agent.conf
PidFile=/tmp/zabbix_agentd.pid
\\进程PID
LogFile=/tmp/zabbix_agentd.log
\\日志保存位置
EnableRemoteCommands=1
\\允许执行远程命令
Server=192.168.10.197
\\agent端的ip
Hostname=client1
\\必须与zabbix创建的host name相同
[root@RedHat6-1 zabbix-2.0.3]# cd frontends/
[root@RedHat6-1 frontends]# cp -rf php/ /usr/local/httpd/htdocs/zabbix
\\复制网页前端文件,本文采用LAMP环境,故放到此目录
[root@RedHat6-1 frontends]# chown zabbix:zabbix /usr/local/nginx/html/zabbix
[root@RedHat6-1 frontends]# vim /usr/local/php5/php.ini
444 max_execution_time = 300
454 max_input_time = 300
465 memory_limit = 128M
740 post_max_size = 32M
date.timezone = Asia/Shanghai
mbstring.func_overload=2
\\以上两条添加至末尾
浏览器访问 http://192.168.6.10/zabbix/setup.php 按提示操作,如有错误请返回到server端检查相关的软件包是否安装。
[root@RedHat6-1 ~]# cp /usr/src/zabbix-2.0.3/misc/init.d/fedora/core/* /etc/init.d/
[root@RedHat6-1 ~]# chmod +x /etc/init.d/zabbix_*
\\添加系统服务
\\如启动报错,请执行下面语句
[root@RedHat6-1 ~]# ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/
[root@RedHat6-1 ~]# chkconfig --add zabbix_server
[root@RedHat6-1 ~]# chkconfig --add zabbix_agentd
[root@RedHat6-1 ~]# chkconfig zabbix_server on
[root@RedHat6-1 ~]# chkconfig zabbix_agentd on
\\设置开机启动
[root@RedHat6-1 ~]# /etc/init.d/zabbix_server start
[root@RedHat6-1 ~]# /etc/init.d/zabbix_agentd start
\\启动服务,查看监听的端口
[root@RedHat6-1 ~]# netstat -anpt | grep zabbix
\\端口应该监听在10050和10051
\\如果10051端口没有被监听,请检查/tmp/zabbix_server.log
客户端配置:
[root@RedHat6-1 ~]# useradd -M -s /sbin/nologin zabbix
[root@RedHat6-1 ~]# tar xf zabbix-2.0.3.tar.gz -C /usr/src/
[root@RedHat6-1 ~]# cd /usr/src/zabbix-2.0.3/etc
[root@RedHat6-1 etc]# vim zabbix_agent.conf
server=192.168.6.10
//服务端IP地址
[root@RedHat6-1 etc]# vim /etc/service
zabbix-agent 10050/tcp Zabbix Agent
zabbix-agent 10050/udp Zabbix Agent
zabbix-trapper 10051/tcp Zabbix Trapper
zabbix-trapper 10051/udp Zabbix Trapper
[root@RedHat6-1 etc]# cp /usr/src/zabbix-2.0.3/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
[root@RedHat6-1 etc]# chmod +x /etc/init.d/zabbix_agentd
[root@RedHat6-1 etc]# vim /etc/init.d/zabbix_agentd
BASEDIR=/usr/local/zabbix
\\修改成安装路径
[root@RedHat6-1 etc]# chkconfig --add zabbix_agentd
[root@RedHat6-1 etc]# chkconfig zabbix_agentd on
[root@RedHat6-1 etc]# /etc/init.d/zabbix_agentd start
[root@RedHat6-1 etc]# netstat -anpt | grep zabbix
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 19830/zabbix_agentd