源码安装zabbix

1319 字
7 分钟
源码安装zabbix

一、源码编译安装zabbix服务端#

1.1 环境准备#

  • 数据库:postresql

1.2 下载zabbix server源码#

Terminal window
wget https://cdn.zabbix.com/zabbix/sources/stable/7.4/zabbix-7.4.8.tar.gz
tar -xf zabbix-7.4.8.tar.gz

1.3 创建用户组和用户#

Terminal window
# 创建用户zabbix组 参数:system:创建系统用户组、quiet:静默模式
addgroup --system --quiet zabbix
# 创建用户zabbix 参数:disabled-login:禁止登录、ingroup:加入组、home:指定家目录、no-create-home:不创建默认家目录
adduser --quiet --system --disabled-login --ingroup zabbix --home /var/lib/zabbix --no-create-home zabbix

1.4 创建zabbix数据库#

Terminal window
# 创建数据库用户,回车后输入密码,我这里输入密码admin@123
sudo -u postgres createuser --pwprompt zabbix
# 创建数据库
sudo -u postgres createdb -O zabbix -E Unicode -T template0 zabbix
# 进入源码目录导入初始模式和数据
cd /usr/local/src/zabbix-7.4.8
cd database/postgresql
# 如果是给Zabbix proxy创建数据库只应导入 schema.sql
cat schema.sql | sudo -u zabbix psql zabbix
cat images.sql | sudo -u zabbix psql zabbix
cat data.sql | sudo -u zabbix psql zabbix

1.5 编译安装#

先安装依赖

Terminal window
sudo apt-get install -y \
libsnmp-dev \
libmysqlclient-dev \
libcurl4-openssl-dev \
libxml2-dev \
libevent-dev \
libssl-dev \
libpcre3-dev \
libopenipmi-dev \
libpcre2-dev
Terminal window
# 配置编译参数
./configure --prefix=/usr/local/zabbix \
--enable-server --enable-agent --enable-ipv6 \
--with-net-snmp --with-libcurl --with-libxml2 --with-openipmi \
--with-postgresql=/usr/local/pgsql/bin/pg_config
# 编译安装
make install

参数详细解释:

  1. --prefix=/usr/local/zabbix
  • 指定 Zabbix 的安装前缀目录。这意味着所有 Zabbix 的程序和文件将被安装在这个路径下。
  1. --enable-server
  • 启用 Zabbix 服务器功能。如果你打算运行 Zabbix 服务器,你需要启用这个选项。
  1. --enable-agent
  • 启用 Zabbix 代理功能。如果你打算运行 Zabbix 代理,你需要启用这个选项。
  1. --with-postgresql=/usr/local/pgsql/bin/pg_config
  • 指定 PostgreSQL 配置文件的位置。这里的路径指向 pg_config 工具,这个工具可以提供 PostgreSQL 的配置信息和路径。
  1. --enable-ipv6
  • 启用 IPv6 支持。如果你的系统支持 IPv6,并且你希望 Zabbix 支持 IPv6,你需要启用这个选项。
  1. --with-net-snmp
  • 指定 Net-SNMP(网络管理系统)的安装路径。这通常通过 net-snmp-config 工具自动检测,但如果需要手动指定,可以使用这个参数。
  1. --with-libcurl
  • 指定 libcurl(一个支持多种协议的客户端-服务器程序库)的安装路径。这通常通过 libcurl-config 工具自动检测,但如果需要手动指定,可以使用这个参数。
  1. --with-libxml2
  • 指定 libxml2(一个用于处理 XML 数据的 C 库)的安装路径。这通常通过 libxml2-config 工具自动检测,但如果需要手动指定,可以使用这个参数。
  1. --with-openipmi
  • 指定 OpenIPMI(开放 IPMI 接口)的安装路径。这通常通过 openipmi-config 工具自动检测,但如果需要手动指定,可以使用这个参数。 这个配置命令告诉 ./configure 脚本你想要安装 Zabbix 服务器和代理,并连接到 PostgreSQL 数据库。此外,它还启用了对 IPv6、Net-SNMP、libcurl、libxml2 和 OpenIPMI 的支持。如果你不需要某些功能(例如,如果你不打算运行 Zabbix 代理或使用特定的库),你可以相应地省略或禁用这些选项。
Terminal window
# 修改安装目录权限
chown -R zabbix:zabbix /usr/local/zabbix

1.6 修改zabbix配置文件#

编辑zabbix_server.conf

Terminal window
cd /usr/local/zabbix/etc
# 修改以下配置
LogFile=/data/zabbix/logs/zabbix_server.log
DBName=zabbix_server #数据库名称
DBSchema= #数据库访问协议
DBUser=zabbix #数据库用户名称
DBPassword=123456 #数据库用户密码
DBPort=5432 #数据库端口

1.7 启动zabbix#

Terminal window
/usr/local/zabbix/sbin/zabbix_server -c /usr/local/zabbix/etc/zabbix_server.conf

1.8 安装nginx及php#

这里使用apt进行安装

Terminal window
apt install nginx
# 安装php各个组件
apt install php php-fpm php-mysql php-gd php-mbstring php-xml php-curl php-zip php-bcmath php-ldap php-pgsql -y

1.9 修改nginx及php配置#

1.9.1 nginx配置#

Terminal window
cd /etc/nginx/conf.d
vim zabbix.conf
# 添加如下配置
server {
listen 80;
server_name localhost; # 这里可以改成你的域名或IP
location / {
root /var/nginx/html/ui;
try_files $uri $uri/ /index.php?query_string;
index index.php index.html index.htm;
}
location ~ \.php$ {
root /var/nginx/html/ui;
# 使用套接字连接
# fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
# 使用ip连接
fastcgi_pass 127.0.0.1:9000
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

复制源码中的ui目录到/var/nginx/html/

Terminal window
cp -r /usr/local/src/zabbix-7.4.8/ui /var/nginx/html/

1.9.2 修改php配置#

Terminal window
vim /etc/php/8.1/fpm/pool.d/www.conf
# 将监听的套接字连接修改为ip连接
listen = /var/run/php/php8.1-fpm.sock
# 修改为
listen = 127.0.0.1:9000
# 启动后可查看端口是否开启
netstat -tlnp | grep 9000

修改php.ini,因为zabbix对于post_max_size、max_execution_time、max_input_time有要求

Terminal window
vim /etc/php/8.1/fpm/php.ini
# 搜索 post_max_size
post_max_size = 100M
# 搜索 max_execution_time
max_execution_time = 300
# 搜索 max_input_time
max_input_time = 300
# 若要求开启 bcmath 和 ldap,则需要安装php扩展
# 安装 bcmath 和 ldap 扩展
apt install php-bcmath php-ldap -y
# 连接数据库时需要的扩展
apt install php-pgsql php-mysql -y

1.10 启动nginx和php#

Terminal window
# 启动nginx和php
systemctl start nginx php-fpm

启动后访问ip加端口进入网页配置界面

二、源码编译安装zabbix agent#

2.1 编译agent#

server端的服务器上面在编译安装时顺带安装了agent(--enable-agent

对于其他监控服务器只需要使用源码安装编译agent即可

Terminal window
# 先安装依赖
apt install -y libpcre2-dev
Terminal window
./configure --prefix=/usr/local/zabbix/ --enable-agent
make
make install

2.2 修改agent配置文件#

修改zabbix_agent.conf配置文件

Terminal window
vim /usr/local/zabbix/etc/zabbix_agent.conf
# 修改以下内容
# agent监听端口
ListenPort=10050
# zabbix服务端ip
Server=your_zabbix_server_ip #
ServerActive=your_zabbix_server_ip

2.3 启动agent#

监控主机没有zabbix用户,先创建用户和用户组

Terminal window
addgroup --system --quiet zabbix
adduser --quiet --system --disabled-login --ingroup zabbix --home /var/lib/zabbix --no-create-home zabbix
Terminal window
# 启动zabbix agent
/usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/etc/zabbix_agentd.conf

2.4 使用zabbix_get测试#

使用zabbix_get进行测试,查看是否可以进行通信

Terminal window
# -s 指定监控主机、-k 使用指定key
[root@localhost /usr/local/zabbix/bin]# ./zabbix_get -s 10.22.51.91 -k agent.ping
1
# 1 则代表server与agent监控机通信没问题

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

源码安装zabbix
https://2233941.xyz/posts/源码安装zabbix/
作者
lumifly
发布于
2026-04-05
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
lumifly
不逐世间万丈星河,自守一隅细碎明光
✨ 今日一言
" 加载中... "
——
公告
欢迎来到我的博客!这是一则示例公告。
音乐
封面

音乐

暂未播放

0:00 0:00
暂无歌词
分类
标签
本年还剩 -- --%
本月还剩 -- --%
本周还剩 -- --%
距离--
--
--
天气预报
站点统计
文章
24
分类
1
标签
15
总字数
136,852
运行时长
0
最后活动
0 天前
站点信息
构建平台
Local
博客版本
Firefly v6.12.1
文章许可
CC BY-NC-SA 4.0

文章目录