红联Linux门户
Linux帮助

zabbix2.0.1安装

发布时间:2014-09-23 09:36:25来源:51cto作者:leezqang

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
tcp0  0 0.0.0.0:10050   0.0.0.0:*   LISTEN  11681/zabbix_agentd  
tcp0  0 0.0.0.0:10051   0.0.0.0:*   LISTEN  11953/zabbix_server  
tcp0  0 127.0.0.1:199   0.0.0.0:*   LISTEN  8485/snmpd
tcp0  0 127.0.0.1:9000  0.0.0.0:*   LISTEN  11627/php-fpm.conf)  
tcp0  0 0.0.0.0:33060.0.0.0:*   LISTEN  8805/mysqld  
tcp0  0 0.0.0.0:80  0.0.0.0:*   LISTEN  11604/nginx


然后可以在浏览器中输入 http://FQDN/ 安装zabbix

默认登陆用户名密码是 admin/zabbix

简单安装zabbix2.0.1介绍完毕。