前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >zabbix监控在lnmp环境下编译安装小记

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

作者头像
张戈
发布2018-03-23 14:27:41
1.2K0
发布2018-03-23 14:27:41
举报
文章被收录于专栏:张戈的专栏

最近在复习运维常见的监控告警软件的时候,想起了 zabbix,于是先用军哥的 lnmp 一键安装包快速搭建了 lnmp 环境,然后成功编译安装了 zabbix,特地将安装过程和遇到的问题记录在此,以便自己或有需要的人来参考翻阅。

由于已有 php 运行环境,所以只需要编译安装 zabbix 即可。

一、安装依赖组件

代码语言:javascript
复制
yum -y install net-snmp net-snmp-devel perl-DBI php-gd php-xml php-bcmath fping OpenIPMI-devel php-mbstring

二、编译安装 zabbix

①、下载 zabbix

代码语言:javascript
复制
cd /usr/local/src
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"

②、编译安装

代码语言:javascript
复制
#解压zabbix
tar zxvf zabbix-2.4.3.tar.gz
 
#编译zabbix
cd zabbix-2.4.3
 
./configure --prefix=/usr/local/zabbix --enable-server --with-mysql --with-net-snmp --with-libcurl --with-openipmi --enable-proxy --enable-agent
 
#成功将出现如下信息:
***********************************************************
*            Now run 'make install'                       *
*                                                         *
*            Thank you for using Zabbix!                  *
*              <http://www.zabbix.com>                    *
***********************************************************
#直接make install 安装即可:
 
make install

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

a. 找不到 mysqlclient library:

代码语言:javascript
复制
checking for mysql_config... /usr/bin/mysql_config
checking for main in -lmysqlclient... no
configure: error: Not found mysqlclient library

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

代码语言:javascript
复制
#如果是32位系统,应该是lib32,总之,先看下路径所指文件是否存在:
ln -s /usr/lib64/mysql/libmysqlclient.so.18.0.0 /usr/lib64/mysql/libmysqlclient.so
ln -s /usr/lib64/mysql/libmysqlclient_r.so.18.0.0 /usr/lib64/mysql/libmysqlclient_r.so

b. 找不到 MySQL library:

代码语言:javascript
复制
configure: error: MySQL library not found

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

代码语言:javascript
复制
yum install mysql-devel

三、配置 zabbix

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

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

代码语言:javascript
复制
#创建zabbix数据库和zabbix用户
mysql -uroot -proot密码 -e "create database zabbix default character set utf8;"
mysql -uroot -proot密码 -e "grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix2014';flush privileges;"
 
 
#导入zabbix初始数据
cat database/mysql/schema.sql | mysql -uzabbix -pzabbix2014 zabbix
cat database/mysql/images.sql | mysql -uzabbix -pzabbix2014 zabbix
cat database/mysql/data.sql | mysql -uzabbix -pzabbix2014 zabbix

③、修改配置

代码语言:javascript
复制
#创建服务
cp misc/init.d/fedora/core/zabbix_server /etc/init.d/
cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
 
#修改参数,注意根据实际情况修改DB用户名和密码:
sed -i 's/^DBUser=.*$/DBUser=zabbix/g' /usr/local/zabbix/etc/zabbix_server.conf
sed -i 's/^.*DBPassword=.*$/DBPassword=zabbix2014/g' /usr/local/zabbix/etc/zabbix_server.conf
sed -i 's/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/g' /etc/init.d/zabbix_server
sed -i 's/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/g' /etc/init.d/zabbix_agentd

④、部署 WEB

代码语言:javascript
复制
#因为只是测试,所以直接丢到了default下,http://ip/zabbix就能访问了
cp -r frontends/php /home/wwwroot/default/zabbix
#修改权限
chown -R www:www /home/wwwroot/default/zabbix

⑤、增加服务端口

代码语言:javascript
复制
#直接在终端执行如下命令行即可:
cat >>/etc/services <<EOF
zabbix-agent 10050/tcp #Zabbix Agent
zabbix-agent 10050/udp #Zabbix Agent
zabbix-trapper 10051/tcp #Zabbix Trapper
zabbix-trapper 10051/udp #Zabbix Trapper
EOF

⑥、启动 zabbix 服务

代码语言:javascript
复制
service zabbix_server start
service zabbix_agentd start
 
#可选配置:将服务加入开机启动项
chkconfig zabbix_server on
chkconfig zabbix_agentd on

四、WEB 端的安装

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

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

下一步会检测运行环境,若出现红色的,就自查并解决即可,比如这次出现了一个这样的提示:

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

提示 max_input_time 的值应该改成 300,所以只需要编辑 php.ini,找到 max_input_time 并修改为 300,保存后执行 service php-fpm restart,再刷新安装向导已经没有问题了,继续按照向导直到安装完毕:

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

完成后进入 zabbix 登陆界面:

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

输入默认的用户名:admin 和 密码:zabbix 即可登入:

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

五、问题与解决

①、监控报错

登陆 zabbix 后,发现仪表盘报如下错误:

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

看了下后台日志:

代码语言:javascript
复制
[root@lcoalhost ~]# tail -f /tmp/zabbix_server.log
  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)
  9785:20150128:114951.637 Database is down. Reconnecting in 10 seconds.
  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)
  9785:20150128:115001.638 Database is down. Reconnecting in 10 seconds.
  ...

原来是 mysql.sock 路径问题。

解决方法:

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

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

代码语言:javascript
复制
test -d /var/lib/mysql || mkdir /var/lib/mysql
ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock

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

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

①、中文设置

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

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

解决办法:

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

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

代码语言:javascript
复制
'zh_CN' => array('name' => _('Chinese (zh_CN)'),        'display' => false),

修改为:

代码语言:javascript
复制
'zh_CN' => array('name' => _('Chinese (zh_CN)'),        'display' => true),

Ps:里面好多语言默认都是 false 屏蔽了,想开启只需要改成 true 即可在语言配置中开启。

修改保存后,刷新网页,已经可以找到Chinese (zh_CN)了:

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

②、图形中文显示为方框

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

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

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

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

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

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

具体步骤:

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

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

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

代码语言:javascript
复制
mv -f msyh.ttc DejaVuSans.ttf

刷新页面,已经正常了:

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015年01月28日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、安装依赖组件
  • 二、编译安装 zabbix
    • ①、下载 zabbix
      • ②、编译安装
      • 三、配置 zabbix
        • ③、创建 zabbix 数据库,并导入初始数据
          • ③、修改配置
            • ④、部署 WEB
              • ⑤、增加服务端口
                • ⑥、启动 zabbix 服务
                • 四、WEB 端的安装
                • 五、问题与解决
                  • ①、监控报错
                    • ①、中文设置
                      • ②、图形中文显示为方框
                      相关产品与服务
                      云数据库 MySQL
                      腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档