1、Centos Zabbix监控服务端搭建 一、环境介绍 Zabbix 需要依赖LAMP(Apache、Mysql、PhP)环境,Apache也可以使用Nginx代替,为了节省时间网上有很多一键安装的脚本,下载执行安装即可。 系统:CentOS-5.6-x86_64 软件:nginx-0.8.53 mysql-5.1.56 php-5.2.17 zabbix 2.0.3 LNMP一键下载地址:http://bbs.linuxtone.org/docs/autoinstall/lemp_auto_v1.0.6.tar.gz Zabbix 下载地
2、址: 将安装包放到 /opt 目录下 二、LNMP安装 tar zxvf lemp_auto_v1.0.6.tar.gz cd lemp ./lemp.sh 后面的步骤根据提示操作即可 第一张是开始安装,第二张是安装完成的,从二图可以看出每个软件包安装的目录信息。 在此感谢linuxtone论坛的脚本,为实验节省了不少时间。 三、Zabbix 安装 (1)yum安装zabbix需要的其他组件 yum -y install net-snmp-devel curl-devel (2)添加zabbix用户 groupadd zabbix
3、 添加zabbix组 useradd zabbix -g zabbix 新建zabbix用户并将其加入到zabbix组 (3)解压软件 tar zxvf zabbix-2.0.3.tar.gz cd zabbix-2.0.3 (4)为zabbix创建数据库并添加用户 注:先查看数据库是否启动,肉未启动先使用/etc/init.d/mysqld start 启动数据库 在mysql -uroot -p,输入默认密码1登陆数据库。 create database zabbix character set u
4、tf8; #新建一个数据库叫zabbix grant all on zabbix.* to zabbix@localhost identified by 'redhat'; #给zabbix这个数据库授 权,只允许zabbix这个用户通过本地登录,zabbix用户的密码为redhat grant all on *.* to zabbix@"%" identified by "redhat"; (5)将zabbix源码包中的数据导入到新建的zabbix数据库 注:这一步是zabbix2.3与其他旧版不同的,在版本2.3里数据库的结构和名字都变了,而且导入也要严格按
5、照顺序来。 mysql -uzabbix -p'redhat' zabbix < /zabbix/zabbix-2.0.3/database/mysql/schema.sql #这个是zabbix的数据库表结构,要先导入。 mysql -uzabbix -p'redhat' zabbix < /opt/zabbix-2.0.3/database/mysql/images.sql mysql -uzabbix -p'redhat' zabbix < /opt/zabbix-2.0.3/database/mysql/data.sql (6)编译安装 ./con
6、figure --prefix=/usr/local/zabbix --enable-server --enable-proxy --enable-agent --with-mysql=/usr/local/mysql-5.2.17/bin/mysql_config --with-net-snmp --with-libcurl make make install (7)为zabbix server添加端口 vim /etc/services 添加如下信息 zabbix-agent 10050/tcp Zabbix Agent zabbix-agent 10050/udp Za
7、bbix Agent zabbix-trapper 10051/tcp Zabbix Trapper zabbix-trapper 10051/udp Zabbix Trapper (8)更改配置文件中数据库相关的用户名密码 vim /usr/local/zabbix/etc/zabbix_server.conf 修改以下三项: DBName=zabbix DBUser=zabbix DBPassword=redhat 注:DBPassword 默认是被注释掉的 (10)给zabbix服务端程序做软链接 cd /usr/local/zabbix
8、/bin/ for i in *;do ln -s /usr/local/zabbix/bin/${i} /usr/bin/${i};done cd /usr/local/zabbix/sbin/ for i in *;do ln -s /usr/local/zabbix/sbin/${i} /usr/sbin/${i};done (12)拷贝相应的web程序到相关WEB服务目录下 cp -r /opt/zabbix-2.0.3/frontends/php /data/www/wwwroot/zabbix (13)拷贝zabbix服务端和客户端启动脚本到/etc/in
9、it.d目录下. cp /opt/zabbix-2.0.3/misc/init.d/fedora/core5/zabbix_server /etc/init.d chmod +x /etc/init.d/zabbix_server # 为脚本加上可执行权限 vi /etc/init.d/zabbix_server 编辑 ZABBIX_BIN="/usr/local/zabbix/zabbix/sbin/zabbix_server" :wq保存退出 cp /opt/zabbix-2.0.3/misc/init.d/fedora/core5/zabbix_agentd
10、 /etc/init.d chmod +x /etc/init.d/zabbix_agentd vi /etc/init.d/zabbix_agentd 编辑 ZABBIX_BIN="/usr/local/zabbix/zabbix/sbin/zabbix_agentd" :wq保存退出 (14)启动zabbix,并且添加开机自启动 service zabbix-server start service zabbix-agentd start #启动服务 chkconfig zabbix-server on chkconfig zabbix-
11、agentd on #开机自启动 (15)在Nginx服务中添加zabbix虚拟主机 vim /usr/local/nginx/conf/vhosts/monitor.conf server { listen 80; server_name zabbixA; #access_log logs/zabbix_access.log main; location / { root /data/www/wwwroot/zabbix; index index.html index.htm index.php; } lo
12、cation ~ \.php$ { root /data/www/wwwroot/zabbix; fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_index index.php; include fastcgi_params; } } (16)启动nginx添加开机自启动 service nginx start chkconfig nginx on (17)修改P
13、HP配置文件php.ini内容 vim /usr/local/php-5.2.17/etc/php.ini date.timezone = Asia/Shanghai post_max_size = 32M max_execution_time = 300M max_input_time = 300M 注:更改完之后需要重启nginx和php (18)启动重启php 默认开机是启动的 pkill php #关闭php 也可以通过如下命令 /usr/local/php-5.2.17/sbin/php-fpm start|stop 启动重启之后最
14、好使用ps -ef | grep php 查看下 四、浏览器安装 (1)浏览器打开刚安装的zabbix http://IP/zabbix (2)检测php组件,全部OK才可以点击next 注:这个地方要有些改动。 最后一栏 PHP gettext 肯定是No状态,因为在LNMP中没有加入 PHP gettext,所以动态编译下php。 cd lemp/packages #这个目录都是一键安装源码包的存放位置 tar -zxvf php-5.2.17.tar.gz #解压php源码包 cd php-5.2.17/ext/gettext #ph
15、p自带的有这个,只是编译的时候没加 /usr/local/php-5.2.17/bin/phpize #执行此命令 ./configure --with-php-config=/usr/local/php-5.2.17/bin/php-config #重新编译php make && make install #安装 vim /usr/local/php-5.2.17/etc/php.ini 最后一行加上 extension = "gettext.so" 保存退出,重启php即可! (3)连接zabbix数据库 (4)设置zabbix服务IP和
16、端口,name可以忽略 (5)预览设置 (6)如果created:faild,点击Down将php生成的文件下载到本地,然后在上传到/data/www/wwwroot/zabbix/conf下在点击try连接测试,出现下图的OK即可。 (7)输入用户名密码登录 默认的用户名:admin 密码:zabbix 到此服务端的安装就完成了 错误总结: 1.启动服务报错: [root@localhost sbin]# ./zabbix_server ./zabbix_server: error while loading shared libraries: li
17、bmysqlclient.so.16: cannot open shared object file: No such file or directory [root@localhost sbin]# echo /usr/local/mysql-5.1.56/lib/mysql/ >> /etc/ld.so.conf -bash: /etc/ld.so.conf: Permission denied [root@localhost sbin]# echo /usr/local/mysql-5.1.56/lib/mysql/ >/etc/ld.so.conf [root@l
18、ocalhost sbin]# ./zabbix_server ./zabbix_server: error while loading shared libraries: libmysqlclient.so.16: cannot open shared object file: No such file or directory [root@localhost sbin]# ldconfig [root@localhost sbin]# ./zabbix_server ./zabbix_server: error while loading shared libraries: lib
19、iconv.so.2: cannot open shared object file: No such file or directory [root@localhost sbin]# find / -name libiconv.so.2 /usr/local/lib/libiconv.so.2 [root@localhost sbin]# echo /usr/local/lib/ >/etc/ld.so.conf [root@localhost sbin]# ldconfig 2、新建主机添加Linux_OS模板报错 this version of PCRE is
20、not compiled with PCRE_UTF8 support at offset 0 解决方法:重新编译PCRE源码 1、下载pcre-7.8.tar.bz2 2、解压缩: tar xjpf pcre-7.8.tar.bz2 3、配置: cd pcre-7.8 ./configure --prefix=/usr/local/pcre-7.8 --libdir=/usr/local/lib/pcre --includedir=/usr/local/include/pcre --enable-utf8 configure有许多参数可配,具体参见./configure --help及手册 4、编译: make 5、安装: make install






