在lnmp环境下编译安装zabbix

2015年5月21日13:52:40 评论 6,710

先用lnmp一键安装包快速搭建lnmp环境,下载地址:http://lnmp.org/download.html

一、安装依赖组件

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

二、编译安装zabbix

1. 下载zabbix

# cd /usr/local/src
# wget -O zabbix-3.0.0alpha4.tar.gz -c "http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Development/3.0.0alpha4/zabbix-3.0.0alpha4.tar.gz/download"

2.  编译安装

#解压zabbix
tar zxvf zabbix-3.0.0alpha4.tar.gz

#编译zabbix
cd zabbix-3.0.0alpha4

./configure --prefix=/usr/local/zabbix --enable-server --with-mysql --with-net-snmp --with-libxml2 --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:

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

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

#如果是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:

configure: error: MySQL library not found

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

yum install mysql-devel

三、配置zabbix

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

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

#创建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 'zabbix@2015';flush privileges;"

#导入zabbix初始数据
cat database/mysql/schema.sql | mysql -uzabbix -pzabbix@2015 zabbix
cat database/mysql/images.sql | mysql -uzabbix -pzabbix@2015 zabbix
cat database/mysql/data.sql | mysql -uzabbix -pzabbix@2015 zabbix

2. 修改配置

#创建服务
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

3. 部署WEB

#直接丢到了default下,http://ip/zabbix就能访问了
cp -r frontends/php /home/wwwroot/default/zabbix
#修改权限
chown -R www:www /home/wwwroot/default/zabbix

4. 增加服务端口

#直接在终端执行如下命令行即可:
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

5. 启动zabbix服务

service zabbix_server start
service zabbix_agentd start

#将服务加入开机启动项
chkconfig zabbix_server on
chkconfig zabbix_agentd on

PS:启动zabbix服务如果出现zabbix_server [15104]: cannot run as root!错误,是因为zabbix不能用root用户启动,创建一个zabbix用户即可。

# useradd zabbix

四、WEB端的安装

直接在浏览器访问http://ip地址/zabbix进入安装向导,和一般的php建站程序的安装一样。在检测运行环境界面下,若出现红色的,就自查并解决即可。 完成后输入默认的用户名:admin 和 密码:zabbix 即可登入

五、问题与解决

1. 监控报错 登陆zabbix后,发现仪表盘报如下错误: 在lnmp环境下编译安装zabbix   看了下zabbix_server.log日志:

connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

是mysql.sock路径问题。

解决方法:

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

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

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

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

2. 中文设置

修改为中文界面的步骤是:Profile -> Language -> Chinese (zh_CN) ->Save
可当我安装之后,却没有Chinese (zh_CN)这这个下拉选项。

解决办法:

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

b、vim locales.inc.php,找到

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

修改为:

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

里面好多语言默认都是false屏蔽了,想开启只需要改成true即可在语言配置中开启。修改保存后,刷新网页即可

3. 图形中文显示为方框

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

在lnmp环境下编译安装zabbix

 

解决办法:

喜欢什么字体就在C:\windows\fonts 下找到对应字体上传到zabbix字体目录:/home/wwwroot/default/zabbix/fonts/覆盖默认的字体文件 DejaVuSans.ttf 即可。

 

weinxin
聂扬帆博客
一个分享IT运维相关工作经验和实战技巧的个人博客

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: