zl程序教程

您现在的位置是:首页 >  其他

当前栏目

zabbix编译安装

安装 编译 Zabbix
2023-09-11 14:16:42 时间

zabbix软件下载地址

安装zabbix所需要的LNMP环境可参考这篇文章  ,本文重点讲解编译安装zabbix部分。

一:安装zabbix  server端

1. 安装zabbix所需依赖的软件包

yum install -y net-snmp net-snmp-devel curl curl-devel libxml2 libxml2-devel

2.编译安装zabbix

tar xf zabbix-3.0.15.tar.gz
cd /usr/local/src/zabbix-3.0.15/
--prefix=/data/zabbix --enable-server --enable-agent --with-mysql=/usr/bin/mysql_config --enable-java --enable-ipv6 --with-libcurl=/usr/bin/curl-config --with-libxml2
make && make install

3.创建zabbix日志目录,并设置相应权限,便于排查问题

mkdir /var/log/zabbix
chown -R zabbix.zabbix /var/log/zabbix

默认的zabbix日志是存放在/tmp目录下面。

4.编辑zabbix_server配置文件(/data/zabbix/etc/zabbix_server.conf)修改如下内容

# egrep -v "^#|^$" /data/zabbix/etc/zabbix_server.conf  
LogFile=/var/log/zabbix/zabbix_server.log
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
AlertScriptsPath=/data/zabbix/etc/zabbix/alertscripts

5.编辑zabbix_agentd配置文件(/usr/local/etc/zabbix_agentd.conf)修改如下内容

# egrep -v "^$|^#" /data/zabbix/etc/zabbix_agentd.conf
LogFile=/var/log/zabbix/zabbix_agentd.log
Server=127.0.0.1     ##此处地址最好改为内网地址
ServerActive=127.0.0.1
Hostname=Zabbix server

6.拷贝zabbix服务端、客户端启动脚本到/etc/init.d目录下。

# cd /usr/local/src/zabbix-3.2.2/misc/
# cp init.d/tru64/zabbix_server /etc/init.d/
# cp init.d/tru64/zabbix_agentd /etc/init.d/
# chmod +x /etc/init.d/zabbix_*

 7.修改zabbix_server,zabbix_agentd启动脚本,使其支持chkconfig配置服务。

vim /etc/init.d/zabbix_server
#!/bin/sh下面一行添加
#chkconfig: 345 95 95
#description: Zabbix_Server
vim /etc/init.d/zabbix_agentd
#!/bin/sh下面一行添加
#chkconfig: 345 95 95
#description: Zabbix_agentd

8.添加到系统服务

chkconfig zabbix_server on

 chkconfig zabbix_agentd on

9. 启动zabbix服务

/etc/init.d/zabbix_server start
/etc/init.d/zabbix_agentd start

10.检查zabbix服务状态

# netstat -nltp | grep 1005
tcp        0      0 0.0.0.0:10050               0.0.0.0:*                   LISTEN      16479/zabbix_agentd 
tcp        0      0 0.0.0.0:10051               0.0.0.0:*                   LISTEN      16421/zabbix_server 
tcp        0      0 :::10050                    :::*                        LISTEN      16479/zabbix_agentd 
tcp        0      0 :::10051                    :::*                        LISTEN      16421/zabbix_server 
# netstat -nltp | grep zabbix
tcp        0      0 0.0.0.0:10050               0.0.0.0:*                   LISTEN      16479/zabbix_agentd 
tcp        0      0 0.0.0.0:10051               0.0.0.0:*                   LISTEN      16421/zabbix_server 
tcp        0      0 :::10050                    :::*                        LISTEN      16479/zabbix_agentd 
tcp        0      0 :::10051                    :::*                        LISTEN      16421/zabbix_server

11. 拷贝zabbix web程序到 WEB 服务目录下

# mkdir /var/www/html/zabbix
# cp –rf /usr/local/src/zabbix-3.2.2/frontends/php/* /var/www/html/zabbix/

12.重启apache服务

/etc/init.d/httpd restart

13.通过http://IP/zabbix 进行图形化安装zabbix

下面的图形化安装可以参考编译安装zabbix。

 

编译过程中出现的问题:

1.mysql安装包mysql-devel缺失。

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

解决方案:确认是否安装了mysql mysql-devel mysql-server 包。执行 yum install mysql-devel -y 安装完后再次编译即可。

[root@manage zabbix-3.0.15]# rpm -qa mysql*
mysql-libs-5.1.73-8.el6_8.x86_64
mysql-5.1.73-8.el6_8.x86_64
mysql-devel-5.1.73-8.el6_8.x86_64
mysql-server-5.1.73-8.el6_8.x86_64

2.编译时--with-mysql后面没有指定/usr/bin/mysql_config 。

checking for mysql_config... configure: error: MySQL library not found

解决方案:查找mysql_config的路径。指定到mysql即可。(--with-mysql=/usr/bin/mysql_config )

[root@manage zabbix-3.0.15]# find / -name "mysql_config*"
/usr/share/man/man1/mysql_config.1.gz
/usr/bin/mysql_config
/usr/lib64/mysql/mysql_config

3.编译时--with-libcurl模块缺少指定路径。

configure: error: Not found curl Library

解决方案:安装yum install curl-devel -y;安装完毕后,使用find / -name "curl-config*"查询安装路径。

[root@manage zabbix-3.0.15]# find / -name "curl-config*"
/usr/share/man/man1/curl-config.1.gz
/usr/bin/curl-config

 由于安装系统时所选择的包不同,在编译的时候可能还会有其它的报错提示,大家可以根据错误提示,来定位自己的问题。