zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Zabbix之zabbix-server源码安装

2023-09-14 09:13:18 时间

一、zabbix介绍

  zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。zabbix由2部分构成,zabbix server与可选组件zabbix agent。zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。
  示例环境版本说明:

  • zabbix:zabbix-5.2.5
  • 数据库:mysql-5.7.32
  • 操作系统:centos 7.6

二、安装步骤

1、下载最新版安装包

[[root@s211 opt]## wget https://cdn.zabbix.com/zabbix/sources/stable/5.2/zabbix-5.2.5.tar.gz

2、解压安装包

[root@s211 opt]# tar -zxvf zabbix-5.2.5.tar.gz

3、创建zabbix账户

[root@s211 opt]# groupadd zabbix
[root@s211 opt]# useradd -g zabbix zabbix

4、安装mysql

安装方式可以参考博文MySQL之CentOS7环境下mysql5.7解压安装或者Mysql之rpm方式安装

5、创建zabbix库及用户

mysql> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)

mysql> create user ‘zabbix’@‘localhost’ identified by ‘zabbix!123’;
Query OK, 0 rows affected (0.00 sec)

mysql> grant all privileges on zabbix.* to ‘zabbix’@‘localhost’;
Query OK, 0 rows affected (0.00 sec)

6、创建数据库 schema 和插入 dataset

mysql> use zabbix;
mysql> source /opt/zabbix-5.2.5/database/mysql/schema.sql;
mysql> source /opt/zabbix-5.2.5/database/mysql/images.sql;
mysql> source /opt/zabbix-5.2.5/database/mysql/data.sql;

说明:如果是需要编译安装zabbix-server导入如上三个sql脚本,如果是按照zabbix-proxy只需要导入schema.sql。

7、配置源代码

  当配置 Zabbix server 或者 proxy 的源代码时,需要指定所使用的数据库类型。一次只能使用 Zabbix server 或 Zabbix proxy 进程编译一种数据库类型。如果要查看所有受支持的配置选项,请在解压缩的 Zabbix 源代码目录中运行:
./configure --help
本实例使用mysql数据库,安装zabbix-server:

[root@s211 zabbix-5.2.5]# ./configure --enable-server --prefix=/usr/local --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
看到如下提示说明编译成功
在这里插入图片描述

说明:需要提前安装gcc,gcc+,如果未安装参照如下方式先行安装:

[root@s211 zabbix-5.2.5]# yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-devel libidn libidn-devel openssl openssl-devel nss_ldap openldap openldap-devel openldap-clients openldap-servers libxslt-devel libevent-devel ntp libtool-ltdl bison libtool vim-enhanced

8、安装

[root@s211 zabbix-5.2.5]# make install

make[2]: Leaving directory `/opt/zabbix-5.2.5’
make[1]: Leaving directory `/opt/zabbix-5.2.5’

9、查看和编辑配置文件

[root@s211 zabbix-5.2.5]# cat /usr/local/etc/zabbix_server.conf |grep -Ev ‘#|$’
LogFile=/tmp/zabbix_server.log
DBName=zabbix
DBUser=zabbix
Timeout=4
LogSlowQueries=3000
StatsAllowedIP=127.0.0.1
根据第5步设置修改配置文件。

10、启动守护进程

[root@s211 zabbix-5.2.5]# zabbix_server
[root@s211 zabbix-5.2.5]#

11、检查zabbix-server服务

[root@s211 zabbix-5.2.5]# ps -ef |grep zabbix
zabbix 21008 1 0 22:43 ? 00:00:00 zabbix_server
root 21209 3421 0 22:47 pts/0 00:00:00 grep --color=auto zabbix

12、安装 ZABBIX WEB 界面

见zabbix系列的另外一篇博文《Zabbix之ZABBIX-WEB界面安装》。

三、FAQ

1、编译时报错Not found libxml2 library

  • 报错信息:
    在这里插入图片描述
  • 解决方案:

yum install libxml2 libxml2-devel -y

2、编译时报错unable to find net-snmp-config

  • 报错信息:
    在这里插入图片描述

  • 解决方案:

yum install -y net-snmp-devel

说明:编译时每个人的系统环境会略有差别,根据报错信息提示处理一般都可以解决。

3、启动zabbix-server时报错libmysqlclient.so.20文件找不到

  • 报错信息:

[root@s211 zabbix-5.2.5]# zabbix_server
zabbix_server: error while loading shared libraries: libmysqlclient.so.20: cannot open shared object file: No such file or directory

  • 解决方案:

[root@s211 zabbix-5.2.5]# find / -name libmysqlclient.so.20
/home/bdsc/mysql-5.7.32-el7-x86_64/lib/libmysqlclient.so.20
[root@s211 zabbix-5.2.5]# cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
[root@s211 zabbix-5.2.5]# touch /etc/ld.so.conf.d/mysql.conf
[root@s211 zabbix-5.2.5]# echo “/home/bdsc/mysql-5.7.32-el7-x86_64/lib” > /etc/ld.so.conf.d/mysql.conf
[root@s211 zabbix-5.2.5]# ldconfig
[root@s211 zabbix-5.2.5]# zabbix_server
[root@s211 zabbix-5.2.5]#