当前位置:首页 > linux教程 > 列表

lnmp环境下zabbix编译安装步骤详解

发布:smiling 来源: PHP粉丝网  添加日期:2015-05-07 15:00:44 浏览: 评论:0 

zabbix是一款监控软件了我们通常把zabbix安装在linux系统中,下文我们一起来看看在lnmp环境下zabbix编译安装了,希望文章能够帮助到各位朋友,由于已有php运行环境,所以只需要编译安装zabbix即可.

一、安装依赖组件

yum -y install net-snmp net-snmp-devel perl-DBI php-gd php-xml php-bcmath fping OpenIPMI-devel php-mbstring

二、编译安装zabbix

①、下载zabbix

  1. cd /usr/local/src 
  2. wget -O zabbix-2.4.3.tar.gz -c "http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.4.3/zabbix-2.4.3.tar.gz/download" 

②、编译安装

  1. #解压zabbix 
  2. tar zxvf zabbix-2.4.3.tar.gz 
  3.  
  4. #编译zabbix 
  5. cd zabbix-2.4.3 
  6.  
  7. ./configure --prefix=/usr/local/zabbix --enable-server --with-mysql --with-net-snmp --with-libcurl --with-openipmi --enable-proxy --enable-agent 
  8.  
  9. #成功将出现如下信息: 
  10. *********************************************************** 
  11. *            Now run 'make install'                       * 
  12. *                                                         * 
  13. *            Thank you for using Zabbix!                  * 
  14. *                                 * 
  15. *********************************************************** 
  16. #直接make install 安装即可: 
  17. --phpfensi.com 
  18. make install 

Ps:configure可能出现下列错误:

a. 找不到mysqlclient library:

  1. checking for mysql_config... /usr/bin/mysql_config 
  2. checking for main in -lmysqlclient... no 
  3. configure: error: Not found mysqlclient library 

如下建立软链接之后,重新编译即可.

  1. #如果是32位系统,应该是lib32,总之,先看下路径所指文件是否存在: 
  2. ln -s /usr/lib64/mysql/libmysqlclient.so.18.0.0 /usr/lib64/mysql/libmysqlclient.so 
  3. ln -s /usr/lib64/mysql/libmysqlclient_r.so.18.0.0 /usr/lib64/mysql/libmysqlclient_r.so 

b.找不到 MySQL library:

configure:error:MySQL library not found

这是未安装mysql-devel组件产生的错误,先用yum安装,然后重新编译即可:

yum install mysql-devel

三、配置zabbix

Ps:以下步骤如果不是绝对路径,均位于zabbix解压后的文件夹目录,即/usr/local/src/zabbix-2.4.3

③、创建zabbix数据库,并导入初始数据.

  1. #创建zabbix数据库和zabbix用户 
  2. mysql -uroot -proot密码 -e "create database zabbix default character set utf8;" 
  3. mysql -uroot -proot密码 -e "grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix2014'flush privileges;" 
  4.  
  5.  
  6. #导入zabbix初始数据 
  7. cat database/mysql/schema.sql | mysql -uzabbix -pzabbix2014 zabbix 
  8. cat database/mysql/images.sql | mysql -uzabbix -pzabbix2014 zabbix 
  9. cat database/mysql/data.sql | mysql -uzabbix -pzabbix2014 zabbix 

③、修改配置

  1. #创建服务 
  2. cp misc/init.d/fedora/core/zabbix_server /etc/init.d/ 
  3. cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/ 
  4.  
  5. #修改参数,注意根据实际情况修改DB用户名和密码: 
  6. sed -i 's/^DBUser=.*$/DBUser=zabbix/g' /usr/local/zabbix/etc/zabbix_server.conf 
  7. sed -i 's/^.*DBPassword=.*$/DBPassword=zabbix2014/g' /usr/local/zabbix/etc/zabbix_server.conf 
  8. sed -i 's/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/g' /etc/init.d/zabbix_server 
  9. sed -i 's/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/g' /etc/init.d/zabbix_agentd 

④、部署WEB

  1. #因为只是测试,所以直接丢到了default下,http://ip/zabbix就能访问了 
  2. cp -r frontends/php /home/wwwroot/default/zabbix 
  3. #修改权限 
  4. chown -R www:www /home/wwwroot/default/zabbix 

⑤、增加服务端口

  1. #直接在终端执行如下命令行即可: 
  2. cat >>/etc/services <<EOF 
  3. zabbix-agent 10050/tcp #Zabbix Agent 
  4. zabbix-agent 10050/udp #Zabbix Agent 
  5. zabbix-trapper 10051/tcp #Zabbix Trapper 
  6. zabbix-trapper 10051/udp #Zabbix Trapper 
  7. EOF 

⑥、启动zabbix服务

  1. service zabbix_server start 
  2. service zabbix_agentd start 
  3.  
  4. #可选配置:将服务加入开机启动项 
  5. chkconfig zabbix_server on 
  6. chkconfig zabbix_agentd on 

四、WEB端的安装

因为我是放到lnmp的default目录,所以直接在浏览器访问http://ip地址/zabbix进入安装向导,和一般的php建站程序的安装一样,非常简单。

下一步会检测运行环境,若出现红色的,就自查并解决即可,比如这次出现了一个这样的提示:提示max_input_time的值应该改成300,所以只需要编辑php.ini,找到max_input_time并修改为300,保存后执行service php-fpm restart,再刷新安装向导已经没有问题了,继续按照向导直到安装完毕:

完成后进入zabbix登陆界面:输入默认的用户名:admin 和 密码:zabbix 即可登入.

五、问题与解决

①、监控报错

登陆zabbix后,发现仪表盘报如下错误,看了下后台日志:

  1. [[email protected] ~]# tail -f /tmp/zabbix_server.log 
  2.   9785:20150128:114951.637 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 
  3.   9785:20150128:114951.637 Database is down. Reconnecting in 10 seconds. 
  4.   9785:20150128:115001.638 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 
  5.   9785:20150128:115001.638 Database is down. Reconnecting in 10 seconds. 
  6.   ... 

原来是mysql.sock路径问题.

解决方法:

方法(1).修改/usr/local/zabbix/etc/zabbix_server.conf,找到#DBSocket=/tmp/mysql.sock,取消注释.

方法(2).建立软链接.

  1. test -d /var/lib/mysql || mkdir /var/lib/mysql 
  2. ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock 

推荐第一种方法,保存后,使用service zabbix_server restart 重启zabbix服务即可解决此问题.

①、中文设置

修改为中文界面的步骤是:Profile -> Language -> Chinese (zh_CN)  ->Save

可当我安装之后,却没有Chinese (zh_CN)这这个下拉选项。

解决办法:

1、在zabbix网站目录(/home/wwwroot/default/zabbix)找到 include/locales.inc.php 文件

2、编辑 locales.inc.php,找到

'zh_CN' => array('name' => _('Chinese (zh_CN)'),        'display' => false),

修改为:

'zh_CN' => array('name' => _('Chinese (zh_CN)'),        'display' => true),

Ps:里面好多语言默认都是false屏蔽了,想开启只需要改成true即可在语言配置中开启,修改保存后,刷新网页,已经可以找到Chinese (zh_CN)了.

②、图形中文显示为方框

由于还没有添加受监控的客户端,所以先把server自身的监控打开.

步骤:组态(配置) -> 主机 -> 激活主机

进入图形后,发现文字都是方框:

看来是字体问题,只需要用 Windows 下的常用字体替换一下即可。

具体步骤:

1). 我比较喜欢微软雅黑,所以在 C:\windows\fonts 下找到微软雅黑字体:msyh.ttc

2). 上传到zabbix字体目录:/home/wwwroot/default/zabbix/fonts/

3.). 用msyh.ttc覆盖默认的字体文件 DejaVuSans.ttf 即可:

mv -f msyh.ttc DejaVuSans.ttf

刷新页面,已经正常了.

zabbix监控在lnmp环境下编译安装小记

好了,关于zabbix服务端的安装就记录到这,后续有时间在来记录下zabbix客户端的安装及使用.

Tags: lnmp环境 zabbix编译安装

分享到: