源码安装zabbix
1319 字
7 分钟
源码安装zabbix
一、源码编译安装zabbix服务端
1.1 环境准备
- 数据库:postresql
1.2 下载zabbix server源码
wget https://cdn.zabbix.com/zabbix/sources/stable/7.4/zabbix-7.4.8.tar.gz
tar -xf zabbix-7.4.8.tar.gz1.3 创建用户组和用户
# 创建用户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 zabbix1.4 创建zabbix数据库
# 创建数据库用户,回车后输入密码,我这里输入密码admin@123sudo -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 zabbix1.5 编译安装
先安装依赖
sudo apt-get install -y \ libsnmp-dev \ libmysqlclient-dev \ libcurl4-openssl-dev \ libxml2-dev \ libevent-dev \ libssl-dev \ libpcre3-dev \ libopenipmi-dev \ libpcre2-dev# 配置编译参数./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参数详细解释:
--prefix=/usr/local/zabbix:
- 指定 Zabbix 的安装前缀目录。这意味着所有 Zabbix 的程序和文件将被安装在这个路径下。
--enable-server:
- 启用 Zabbix 服务器功能。如果你打算运行 Zabbix 服务器,你需要启用这个选项。
--enable-agent:
- 启用 Zabbix 代理功能。如果你打算运行 Zabbix 代理,你需要启用这个选项。
--with-postgresql=/usr/local/pgsql/bin/pg_config:
- 指定 PostgreSQL 配置文件的位置。这里的路径指向
pg_config工具,这个工具可以提供 PostgreSQL 的配置信息和路径。
--enable-ipv6:
- 启用 IPv6 支持。如果你的系统支持 IPv6,并且你希望 Zabbix 支持 IPv6,你需要启用这个选项。
--with-net-snmp:
- 指定 Net-SNMP(网络管理系统)的安装路径。这通常通过
net-snmp-config工具自动检测,但如果需要手动指定,可以使用这个参数。
--with-libcurl:
- 指定 libcurl(一个支持多种协议的客户端-服务器程序库)的安装路径。这通常通过
libcurl-config工具自动检测,但如果需要手动指定,可以使用这个参数。
--with-libxml2:
- 指定 libxml2(一个用于处理 XML 数据的 C 库)的安装路径。这通常通过
libxml2-config工具自动检测,但如果需要手动指定,可以使用这个参数。
--with-openipmi:
- 指定 OpenIPMI(开放 IPMI 接口)的安装路径。这通常通过
openipmi-config工具自动检测,但如果需要手动指定,可以使用这个参数。 这个配置命令告诉./configure脚本你想要安装 Zabbix 服务器和代理,并连接到 PostgreSQL 数据库。此外,它还启用了对 IPv6、Net-SNMP、libcurl、libxml2 和 OpenIPMI 的支持。如果你不需要某些功能(例如,如果你不打算运行 Zabbix 代理或使用特定的库),你可以相应地省略或禁用这些选项。
# 修改安装目录权限chown -R zabbix:zabbix /usr/local/zabbix1.6 修改zabbix配置文件
编辑zabbix_server.conf
cd /usr/local/zabbix/etc
# 修改以下配置LogFile=/data/zabbix/logs/zabbix_server.logDBName=zabbix_server #数据库名称DBSchema= #数据库访问协议DBUser=zabbix #数据库用户名称DBPassword=123456 #数据库用户密码DBPort=5432 #数据库端口1.7 启动zabbix
/usr/local/zabbix/sbin/zabbix_server -c /usr/local/zabbix/etc/zabbix_server.conf1.8 安装nginx及php
这里使用apt进行安装
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 -y1.9 修改nginx及php配置
1.9.1 nginx配置
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/中
cp -r /usr/local/src/zabbix-7.4.8/ui /var/nginx/html/1.9.2 修改php配置
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有要求
vim /etc/php/8.1/fpm/php.ini
# 搜索 post_max_sizepost_max_size = 100M
# 搜索 max_execution_timemax_execution_time = 300
# 搜索 max_input_timemax_input_time = 300
# 若要求开启 bcmath 和 ldap,则需要安装php扩展# 安装 bcmath 和 ldap 扩展apt install php-bcmath php-ldap -y
# 连接数据库时需要的扩展apt install php-pgsql php-mysql -y1.10 启动nginx和php
# 启动nginx和phpsystemctl start nginx php-fpm启动后访问ip加端口进入网页配置界面
二、源码编译安装zabbix agent
2.1 编译agent
server端的服务器上面在编译安装时顺带安装了agent(--enable-agent)
对于其他监控服务器只需要使用源码安装编译agent即可
# 先安装依赖apt install -y libpcre2-dev ./configure --prefix=/usr/local/zabbix/ --enable-agent make make install2.2 修改agent配置文件
修改zabbix_agent.conf配置文件
vim /usr/local/zabbix/etc/zabbix_agent.conf
# 修改以下内容# agent监听端口ListenPort=10050
# zabbix服务端ipServer=your_zabbix_server_ip #ServerActive=your_zabbix_server_ip2.3 启动agent
监控主机没有zabbix用户,先创建用户和用户组
addgroup --system --quiet zabbix
adduser --quiet --system --disabled-login --ingroup zabbix --home /var/lib/zabbix --no-create-home zabbix# 启动zabbix agent/usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/etc/zabbix_agentd.conf2.4 使用zabbix_get测试
使用zabbix_get进行测试,查看是否可以进行通信
# -s 指定监控主机、-k 使用指定key[root@localhost /usr/local/zabbix/bin]# ./zabbix_get -s 10.22.51.91 -k agent.ping1
# 1 则代表server与agent监控机通信没问题文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!
赣公网安备36072602000131号