在 ubuntu 22.04 中,通过源码编译安装 zabbix-server 服务
系统环境
标题 | 版本 | 备注 |
---|---|---|
系统版本 | ubuntu 22.04.3 LTS (Jammy Jellyfish) | - |
内核版本 | 5.15.0-91-generic #98-Ubuntu SMP Mon Oct 2 15:18:56 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux | - |
Tengine | v3.1.0 | - |
PHP | v7.4.30 | - |
MariaDB | v10.11.7 | - |
Zabbix | v6.4.14 | - |
Java | v8u361 | - |
Zabbix 简介
zabbix 官方网址: https://www.zabbix.com/
Zabbix是一个开源的企业级分布式监控解决方案,用于监控各种网络服务、服务器和网络硬件的性能和可用性。它提供了出色的可扩展性和灵活性,可以监控从小型环境到大型复杂环境的各种IT基础设施。
Zabbix的主要特点包括:
分布式监控:Zabbix采用分布式架构,支持代理和无代理两种监控模式,能够监控大规模的网络环境。
多平台支持:Zabbix可以监控各种操作系统和硬件平台,包括Linux、Windows、Unix、网络设备等。
丰富的监控项目:Zabbix可监控CPU、内存、磁盘利用率、网络带宽、进程、服务、Web场景等多种监控项目。
灵活的通知机制:Zabbix支持多种通知方式,如电子邮件、短信、脚本执行等,可根据预定义的触发条件发送警报。
强大的数据可视化:Zabbix提供了图形化的Web界面和丰富的报表功能,方便用户查看和分析监控数据。
自动化操作:Zabbix支持自动化远程命令执行,可对异常情况进行自动化处理和恢复。
监控模板和自动发现:Zabbix内置了丰富的监控模板,并支持自动发现新加入的设备。
高性能和容错性:Zabbix具有高性能和容错能力,可以在不中断运行的情况下进行配置更改和软件升级。
Zabbix广泛应用于各种企业环境中,用于监控IT基础设施的健康状况和可用性,及时发现和解决潜在问题,确保系统的稳定运行。它的开源性和强大功能使其成为广受欢迎的企业级监控解决方案之一。
LTMP 环境部署
关于 LTMP 环境中的 Tengine 安装,请参考:在 ubuntu 22.04 中,通过源码编译安装 LTMP 中的 Tengine 服务(不支持 Lua 脚本语言)
关于 zabbix-web-server
虚拟主机的配置如下:
1 | server { |
关于 LTMP 环境中的 MariaDB 安装,请参考:在 ubuntu 22.04 中,通过二进制安装 MariaDB 服务
关于 zabbix-server
数据库的创建及授权如下:
1 | -- 登陆数据库 |
关于 LTMP 环境中的 PHP 安装,请参考:在 ubuntu 22.04 中,通过源码编译安装 LNMP 中的 PHP 环境
关于 JAVA 环境部署,请参考:在 ubuntu 22.04 中,通过二进制安装 Java 环境
Zabbix 安装
1.安装必要的依赖包:
1 | apt install -y libsnmp-dev libevent-dev golang libssh2-1-dev libopenipmi-dev |
2.添加运行 zabbix 的用户 zabbix:
1 | useradd -s /sbin/nologin zabbix |
3.点击这里下载 zabbix 源码文件到服务器的 /usr/local/src/
目录下:
1 | wget -O /usr/local/src/zabbix-6.4.14.tar.gz https://cdn.zabbix.com/zabbix/sources/stable/6.4/zabbix-6.4.14.tar.gz |
4.将下载的 zabbix 源码包解压至下载目录:
1 | tar -zxf /usr/local/src/zabbix-6.4.14.tar.gz -C /usr/local/src/ |
5.进入解压目录:
1 | cd /usr/local/src/zabbix-6.4.14 |
服务端 - zabbix-server
1.配置编译参数:
1 | ./configure --prefix=/usr/local/zabbix_server --enable-server --enable-proxy --enable-agent --enable-agent2 --enable-webservice --enable-java --with-mysql --with-libxml2 --with-net-snmp --with-ssh2 --with-zlib --with-libevent --with-openssl --with-libcurl --with-libpcre2 --with-iconv --with-openipmi |
2.执行 make
命令开始编译:
1 | make |
3.执行 make install
命令开始安装:
1 | make install |
4.在 /etc/profile.d/
目录下创建 zabbix 系统环境配置文件 zabbix.sh
,内容为:
1 | cat << 'EOF' > /etc/profile.d/zabbix.sh |
5.执行命令 source /etc/profile.d/zabbix.sh
使环境配置立即生效:
1 | source /etc/profile.d/zabbix.sh |
6.执行命令 zabbix_server --vesion
看能否正常输出 zabbix 版本号,如果能正常输出,则代表 zabbix 环境配置完成。
1 | root@instance-2UkeKOzr:/usr/local/zabbix_server/etc# zabbix_server --version |
注意: 如果你在执行上面的命令时,报 zabbix_server: error while loading shared libraries: libmariadb.so.3: cannot open shared object file: No such file or directory
错误,则可以使用下面方法解决。
1.使用 find
命令查找 mairaidb 库文件:
1 | root@instance-2UkeKOzr:/usr/local/zabbix_server/etc# find /* -type f -iname libmariadb.so.* |
2.然后将查找到的文件软链接到 /usr/lib/
目录下即可
1 | root@instance-2UkeKOzr:/usr/local/zabbix_server/etc# ln -s /usr/local/mysql/lib/libmariadb.so.3 /usr/lib/ |
7.在 /lib/systemd/system/
目录下创建 zabbix 启动文件 zabbix_server.service
,内容为:
1 | cat << 'EOF' > /lib/systemd/system/zabbix_server.service |
8.编辑 zabbix_server 安装目录 /usr/local/zabbix_server/etc
下的 zabbix_server.conf
文件,配置内容为(主要是配置数据库的连接):
1 | LogFile=/tmp/zabbix_server.log |
9.导入 zabbix 初始化数据到 mariadb 数据库中:
1 | mysql -uzabbix -p -h 127.0.0.1 zabbix < /usr/local/src/zabbix-6.4.14/database/mysql/schema.sql |
10.执行命令,加载 zabbix_server 启动脚本:
1 | systemctl daemon-reload |
网页端 - zabbix-server
1.将 zabbix 解压目录 /usr/local/src/zabbix-6.4.14
下的 ui
目录复制到 nginx web 目录 /data/website/zabbix/
目录下:
1 | cp -r /usr/local/src/zabbix-6.4.14/ui /data/website/zabbix/ |
2.打开浏览器,输入服务器IP开始安装 zabbix_web 端,如下图:
注意: 如果你在安装的时候同我一样,无法选择中文支持,那么请按照下面方法操作
1.执行命令 apt install -y language-pack-zh-hans language-pack-zh-hans-base
这2个中文语言包:
1 | apt install -y language-pack-zh-hans language-pack-zh-hans-base |
2.然后执行下命令 locale -a
查看是否有 zh_CN.UTF-8
:
1 | root@instance-2UkeKOzr:~# locale -a |
3.执行命令 locale-gen
生成语言:
1 | root@instance-2UkeKOzr:~# locale-gen |
4.重启下 nginx 和 php-fpm 服务:
1 | systemctl restart nginx.service php-fpm.service |
最后,再次刷新下安装网页!
3.编辑 php 安装目录 /usr/local/php/etc/
目录下的 php.ini
文件,调整下面三个参数:
1 | sed -i 's/post_max_size = 8M/post_max_size = 16M/' /usr/local/php/etc/php.ini |
然后重启下 php-fpm 和 nginx 服务:
1 | systemctl restart nginx.service php-fpm.service |
确保 zabbix 安装步骤的 检查必要条件
通过:
4.在 配置数据库链接
页面根据创建的数据库信息填入对应的栏中,如下图:
5.在 设置
页面根据自身需求填入相应信息,如下图:
6.安装前的信息确认,如下图:
7.在安装界面根据提示,下载 zabbix.conf.php
文件,上传到服务器的 zabbix web 目录/data/website/zabbix/ui/
下的 conf/
目录下:
8.由于你 php 运行的用户是 php-fpm
, 则需要将 zabbix web 目录所属主和组都修改为 php-fpm
,否则安装完 zabbix web 后,会提示 Configuration file error
错误:
1 | chown -R php-fpm:php-fpm /data/website/zabbix |
再次刷新 zabbix web 页面,如下图:
9.使用默认账号(Admin)密码(zabbix)登陆后,发现系统信息
板块中的 zabbix 服务器运行状态
为 否
,这是因为我们还未启动服务器上的 zabbix_server 服务,如图:
10.切换到服务器命令行终端,执行命令:
1 | systemctl enable --now zabbix_server.service |
再次刷新 zabbix web 页面,如图: