Zabbix 官网下载地址:https://cdn.zabbix.com/zabbix/sources/stable/7.0/
OpenIPMI 官网下载地址:https://sourceforge.net/projects/openipmi/files/
libevent 官网下载地址:https://github.com/libevent/libevent/releases
Apache 官网下载地址:https://downloads.apache.org/httpd
PHP 官网下载地址:https://www.php.net/distributions/
一、查看KyLin系统版本
[root@localhost /root]# uname -a
Linux localhost.localdomain 4.19.90-24.4.v2101.ky10.x86_64 #1 SMP Mon May 24 12:14:55 CST 2021 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost /root]# cat /etc/os-release
NAME="Kylin Linux Advanced Server"
VERSION="V10 (Sword)"
ID="kylin"
VERSION_ID="V10"
PRETTY_NAME="Kylin Linux Advanced Server V10 (Sword)"
ANSI_COLOR="0;31"
二、准备工作
- 操作系统:
Kylin V10
- MySQL:
>= 8.0.30
- GCC:
7.3.0
- GO:
>= 1.21
- OpenIPMI:
2.0.36
- libevent:
2.1.12
- PHP:
>= 8.0.0
- Web服务:
Nginx
或者Apache
三、安装依赖
1.安装OpenSSL
使用系统自带的
OpenSSL 1.1.1f
版本即可。
查看 OpenSSL 版本:
[root@localhost /root]# openssl version
OpenSSL 1.1.1f 31 Mar 2020
2.安装JDK
这里安装的版本为 1.8.0_421
,可参考我博客中相关文档。
3.安装MySQL
这里安装的版本为 8.0.34
,可参考我博客中相关文档。
3.1 修改my.cnf配置文件
Zabbix仅支持 utf8_bin、utf8mb3_bin、utf8mb4_bin排序规则。
修改MySQL的主配置文件my.cnf
:
# my.cnf配置
vim /etc/my.cnf
# 修改或添加部分信息
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_bin
3.2 重启MySQL服务
修改完配置文件后,需重启服务后生效:
systemctl restart mysqld
3.3 配置动态链接库路径
配置和更新系统的 MySQL 库路径,以确保系统可以正确找到并使用特定版本的 MySQL 库:
echo "/data/mysql/mysql/lib" | sudo tee -a /etc/ld.so.conf.d/mysql.conf
ldconfig
4.安装GCC
使用系统自带的
7.3.0
版本即可。
查看 GCC版本:
[root@localhost /root]# gcc --version
gcc (GCC) 7.3.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
5.安装Go
zabbix安装使用
--enable-agent2
,需要GO环境,如果不使用可以不配置GO环境。这里安装的版本为
1.22.5
。
5.1 下载并解压go源代码
下载go源码包并解压到指定路径/usr/local
下:
cd /usr/local/src
wget https://dl.google.com/go/go1.22.5.linux-amd64.tar.gz
tar -xzf go1.22.5.linux-amd64.tar.gz -C /usr/local
5.2 配置环境变量
配置/etc/profile
环境变量文件,添加 Go 语言的环境变量:
cat >> /etc/profile <<'EOF'
# go
export PATH=$PATH:/usr/local/go/bin
EOF
执行环境变量生效:
source /etc/profile
5.3 验证go版本
安装成功并配置好环境变量后,直接通过执行go
命令检查 Go 版本来验证:
go version
# 显示版本
go version go1.22.5 linux/amd64
5.4 查看go环境变量
查看所有 Go 环境变量,可以执行以下命令:
go env
6.安装OpenIPMI
这里安装的版本为
2.0.36
。
6.1 下载并解压OpenIPMI源代码
安装依赖项:
yum install -y python3-devel readline-devel
下载 OpenIPMI 源代码并解压:
cd /usr/local/src
wget <下载地址:https://sourceforge.net/projects/openipmi/files/OpenIPMI%202.0%20Library/OpenIPMI-2.0.36.tar.gz/download>
tar -xzf OpenIPMI-2.0.36.tar.gz
cd OpenIPMI-2.0.36
6.2 编译并安装OpenIPMI
在编译 OpenIPMI 时,指定安装路径,这里安装到 /usr/local/openipmi
:
./configure --prefix=/usr/local/openipmi
开始安装 OpenIPMI 源码:
make -j $(nproc)
make install
6.3 配置动态链接库路径
配置和更新系统的 OpenIPMI 库路径,以确保系统可以正确找到并使用特定版本的 OpenIPMI 库:
echo /usr/local/openipmi/lib > /etc/ld.so.conf.d/openipmi.conf
ldconfig
6.4 配置pkg-config路径并添加到环境变量
设置环境变量,以确保系统能够正确找到并使用安装在 /usr/local/openipmi
路径下的 OpenIPMI 库文件和头文件:
cat > /etc/profile.d/openipmi.sh << 'EOF'
# openipmi
export PATH="/usr/local/openipmi/bin:$PATH"
export PKG_CONFIG_PATH="/usr/local/openipmi/lib/pkgconfig:$PKG_CONFIG_PATH"
export C_INCLUDE_PATH="/usr/local/openipmi/include:$C_INCLUDE_PATH"
export LD_LIBRARY_PATH="/usr/local/openipmi/lib:$LD_LIBRARY_PATH"
export LIBRARY_PATH="/usr/local/openipmi/lib:$LIBRARY_PATH"
EOF
加载新的环境变量:
source /etc/profile
6.5 验证OpenIPMI版本
使用 pkg-config
命令来检查,显示 2.0.36
表示安装成功:
pkg-config --modversion OpenIPMI
# 显示版本
2.0.36
7.安装libevent
这里安装的版本为
2.1.12
。
7.1 下载并解压libevent源代码
cd /usr/local/src
wget https://github.com/libevent/libevent/releases/download/release-2.1.12-stable/libevent-2.1.12-stable.tar.gz
tar -xzf libevent-2.1.12-stable.tar.gz
cd libevent-2.1.12-stable
stable
表示该版本为稳定版本。
7.2 编译并安装libevent
在编译 libevent 时,指定安装路径,这里安装到 /usr/local/libevent
:
./configure --prefix=/usr/local/libevent
开始安装 libevent 源码:
make -j $(nproc)
make install
7.3 配置动态链接库路径
配置和更新系统的 libevent 库路径,以确保系统可以正确找到并使用特定版本的 libevent 库:
echo /usr/local/libevent/lib > /etc/ld.so.conf.d/libevent.conf
ldconfig
7.4 配置pkg-config路径并添加到环境变量
设置环境变量,以确保系统能够正确找到并使用安装在 /usr/local/libevent
路径下的 libevent 库文件和头文件:
cat > /etc/profile.d/libevent.sh << 'EOF'
# libevent
export PATH="/usr/local/libevent/bin:$PATH"
export PKG_CONFIG_PATH="/usr/local/libevent/lib/pkgconfig:$PKG_CONFIG_PATH"
export C_INCLUDE_PATH="/usr/local/libevent/include:$C_INCLUDE_PATH"
export LD_LIBRARY_PATH="/usr/local/libevent/lib:$LD_LIBRARY_PATH"
export LIBRARY_PATH="/usr/local/libevent/lib:$LIBRARY_PATH"
EOF
加载新的环境变量:
source /etc/profile
7.5 验证libevent版本
使用 pkg-config
命令来检查,显示 2.1.12-stable
表示安装成功:
pkg-config --modversion libevent
# 显示版本
2.1.12-stable
8.安装Zabbix依赖包
除了前面这些,还需要安装一些 Zabbix 的构建工具和依赖项:
yum install -y openssl-devel libcurl-devel libxml2-devel net-snmp-devel unixODBC-devel libssh-devel openldap-devel fping
四、安装并配置Zabbix Server
这里源码安装的版本为
7.0.5
。
1.下载并解压Zabbix源代码
下载 Zabbix 源码包并解压:
cd /usr/local/src
wget https://cdn.zabbix.com/zabbix/sources/stable/7.0/zabbix-7.0.5.tar.gz
tar -xzf zabbix-7.0.5.tar.gz
cd zabbix-7.0.5
2.编译并安装Zabbix
在编译Zabbix时,指定安装路径,这里安装到 /data/zabbix
:
./configure --prefix=/data/zabbix \
--enable-server \
--enable-agent \
--enable-agent2 \
--with-mysql \
--with-net-snmp \
--with-libcurl \
--with-libxml2 \
--with-unixodbc \
--enable-java \
--enable-ipv6 \
--with-openssl \
--with-openipmi=/usr/local/openipmi \
--with-libpcre \
--with-libevent=/usr/local/libevent \
--with-iconv
开始编译并安装 Zabbix 源码:
make -j $(nproc)
make install
3.验证Zabbix Server版本
安装成功后,可以通过检查 Zabbix Server 版本来验证:
/data/zabbix/sbin/zabbix_server --version
# 显示版本
zabbix_server (Zabbix)