zabbix由2部分构成,zabbix server与可选组件zabbix agent。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X等平台之上。
zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。zabbix agent可以运行在Linux ,Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows 2000/2003/XP/Vista)等系统之上。
zabbix server可以单独监视远程服务器的服务状态;同时也可以与zabbix agent配合,可以轮询zabbix agent主动接收监视数据(trapping方式),同时还可被动接收zabbix agent发送的数据(trapping方式)。
另外zabbix server还支持SNMP (v1,v2),可以与SNMP软件(例如:net-snmp)等配合使用。
zabbix的主要特点:
– 安装与配置简单,学习成本低
– 支持多语言(包括中文)
– 免费开源
– 自动发现服务器与网络设备
– 分布式监视以及WEB集中管理功能
– 可以无agent监视
– 用户安全认证和柔软的授权方式
– 通过WEB界面设置或查看监视结果
– email等通知功能
等等
Zabbix主要功能:
– CPU负荷
– 内存使用
– 磁盘使用
– 网络状况
– 端口监视
– 日志监视
安装zabbix前提是已经搭建lnmp或lamp环境
下面具体介绍在linux2.6.18-194.el5 中的安装过程
下载地址:http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.0.1/zabbix-2.0.1.tar.gz/download
编译安装 zabbix-2.0.1
zabbix-2.0的安装方式和以往的zabbix1.0各版本有不同的地方 ,如果遇到一些错误是可以google并加以解决的。下面是我的安装方法,如果不想多走弯路可以按照步骤step by step
准备工作
添加用户
- groupadd -r zabbix
- uaseradd -g zabbix -M -s /sbin/nologin zabbix
- export PATH=$PATH:/usr/local/webserver/mysql/bin
初始化mysql数据库,为编译安装做准备工作
- mysql -e “create databese zabbix;”
- mysql -e “grant all privileges on zabbix.* to zabbix@localhost identified by ‘zabbix’;”
- yum -y install curl curl-devel net-snmp net-snmp-devel perl-DBI php-gd php-xml php-bcmath
- tar xf zabbix-1.8.9.tar.gz
- cd zabbix
- mysql -uroot -hlocalhost -p”123456″ zabbix <database/mysql/schema.sql
- mysql -uroot -hlocalhost -p”123456″ zabbix <database/mysql/images.sql
- mysql -uroot -hlocalhost -p”123456″ zabbix <database/mysql/data.sql
查看php所安装的模块:
php -m 检查是否包括以下内容
bcmath ,mbstring ,sockets, gd ,gd PNG support ,gd JPEG support ,gd FreeType support ,libxml,
xmlwriter, xmlreader ,ctype , session ,gettext
以gettext为例 说明添加gettext模块
- cd /data2/software/php-5.4.4/ext/gettext/
- ./configure –with-php-config=/usr/local/webserver/php/bin/php-config
- make && make install
会在/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20100525/目录下生成gettext.so
编辑php.ini
- extension_dir = “/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20100525/”
- extension = “gettext.so”
重启nginx php-fpm 如果是apache也需重启服务
编译并安装zabbix-2.0.1
- ./configure –prefix=/usr/local/webserver/zabbix –enable-server –enable-agent –enable-proxy –with-mysql=/usr/local/webserver/mysql/bin/mysql_config –with-net-snmp –with-libcurl
- make && make install
在/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
配置server
- vim /usr/local/webserver/zabbix/etc/zabbix/zabbix_server.conf
- DBName=zabbix
- DBUser=zabbix
- DBPassword=zabbix
zabbix2.0版本默认到zabbix安装目录下的etc文件中去找server的配置文件,如果想另指配置文件位置比如/etc/zabbix 可以./configure中添加–sysconfig=/etc/zabbix
- cd /usr/local/webserver/zabbix/bin
- ln -sv /usr/local/webserver/zabbix/bin/* /usr/bin/
- ln -sv /usr/local/webserver/zabbix/sbin/* /usr/sbin/
- echo “/usr/local/webserver/mysql/lib/mysql” >> /etc/ld.so.conf
- ldconfig
- cd /data2/software/zabbix-2.0.1
- cp misc/init.d/Fedora/core/zabbix_* /etc/init.d
编辑/etc/init.d/zabbix_server
BASEDIR=/usr/local/webserver/zabbix (修改BASEDIR为zabbix的安装目录)
编辑/etc/init.d/zabbix_agentd
- BASEDIR=/usr/local/webserver/zabbix (修改BASEDIR为zabbix的安装目录)
- chkconfig –add zabbix_server
- chkconfig –level 35 zabbix_server on
- chkconfig –add zabbix_agentd
- chkconfig –level 35 zabbix_agentd on
调整php.ini参数使zabbix更好的工作
- 255 max_execution_time = 300
- 256 max_input_time = 300
- 439 post_max_size = 16M
- 663 [Date]
- 664 ; Defines the default timezone used by the date functions
- 665 date.timezone = Asia/Shanghai
将zabbix网页文件cp到对应的网页目录中去
cp -r frontends/php/* /data0/htdocs/www/
chmod 777 /data0/htdocs/www/conf (在登陆网页安装配置zabbix时会将zabbix.conf.php保存在conf目录中,所以要修改conf读写权限)
nginx的配置文件可以参照下文格式:
- server
- {
- listen 80;
- server_name www.s135.com;
- index index.html index.htm index.php;
- root /data0/htdocs/www;
- location ~ .*\.(php|php5)?$
- {
- root /data0/htdocs/www;
- #fastcgi_pass unix:/tmp/php-cgi.sock;
- fastcgi_pass 127.0.0.1:9000;
- fastcgi_param SCRIPT_FILENAME
- $document_root$fastcgi_script_name;
- fastcgi_index index.php;
- include fcgi.conf;
- }
- log_format wwwlogs ‘ – [] “” ‘
- ‘ “” ‘
- ‘”” ‘;
- access_log /data1/logs/wwwlogs.log wwwlogs;
- }
apache虚拟主机配置按照相应的格式修改即可
启动服务:
- /etc/init.d/zabbix_agentd start
- /etc/init.d/zabbix_server start
- /etc/init.d/fastcgi restart
- /etc/init.d/mysqld restart
- /etc/init.d/snmpd restart
- /etc/init.d/nginx restart
我在启动zabbix_agentd遇到问题是无法找到libiconv.so.2文件 因为libiconv.so.2是编译安装在/usr/local目录中的
所以要建立个软连接
- ln -sv /usr/local/lib/libiconv* /usr/lib/
64位机器的执行下面命令
- ln -sv /usr/local/lib/libiconv* /usr/lib64/
- [root@localhost conf]# netstat -tnlp
- Active Internet connections (only servers)
- Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
- tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 11681/zabbix_agentd
- tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 11953/zabbix_server
- tcp 0 0 127.0.0.1:199 0.0.0.0:* LISTEN 8485/snmpd
- tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 11627/php-fpm.conf)
- tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 8805/mysqld
- tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 11604/nginx
然后可以在浏览器中输入 http://FQDN/ 安装zabbix
安装截图如下:
默认登陆用户名密码是 admin/zabbix
简单安装zabbix2.0.1介绍完毕