系统环境

标题 版本 备注
系统版本 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 -
Zabbix v6.4.14 -

zabbix-agent 安装

1.安装必要的依赖包:

1
apt install -y libsnmp-dev libevent-dev golang libssh2-1-dev libopenipmi-dev libpcre++-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

6.配置编译参数:

1
./configure --prefix=/usr/local/zabbix_agent --enable-agent --enable-agent2

7.执行安装命令:

1
make install

8.在 /etc/profile.d/ 目录下新建 zabbix-agent 的系统环境配置文件 zabbix_agent.sh ,内容如下:

1
2
3
cat << 'EOF' > /etc/profile.d/zabbix_agent.sh
PATH=$PATH:/usr/local/zabbix_agent/bin:/usr/local/zabbix_agent/sbin
EOF

9.执行命令 source /etc/profile.d/zabbix_agent.sh 使环境配置立即生效:

1
source /etc/profile.d/zabbix_agent.sh

10.编辑 zabbix_agent 安装目录 /usr/local/zabbix_agent/etc/ 下的 zabbix_agent2.conf 文件, 内容如下:

1
2
3
4
5
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=Zabbix server
ControlSocket=/tmp/agent.sock
Include=./zabbix_agent2.d/plugins.d/*.conf

补充:

ServerServerActive 参数在 Zabbix 代理配置中有以下区别:

  1. Server参数:

    • 该参数指定了被动模式下,Zabbix Agent向哪个Zabbix Server/Proxy报告数据的IP地址或主机名。
    • 在被动模式下,Agent不主动连接Server,而是等待来自Server的请求,然后响应。
  2. ServerActive参数:

    • 该参数指定了主动模式下,Zabbix Agent主动连接的Zabbix Server的IP地址或主机名。
    • 在主动模式下,Agent会主动连接指定的Server,主动发送数据。

在实际生产环境中,建议同时配置这两个参数:

  1. Server参数:

    • 设置为Zabbix Server的IP地址或主机名,以支持被动模式监控。
    • 例如: Server=192.168.1.1
  2. ServerActive参数:

    • 也设置为Zabbix Server的IP地址或主机名,以支持主动模式监控。
    • 例如: ServerActive=192.168.1.1

同时配置这两个参数可以让Zabbix Agent同时支持被动和主动两种工作模式,从而实现数据的高可靠采集。被动模式用于检测Agent是否可用,主动模式用于实现大部分的性能监控数据采集。两种模式相互补充,增强了监控的可靠性。

需要注意的是,如果Agent与Server在同一台服务器上,可以将这两个参数都设置为127.0.0.1。但如果Agent与Server部署在不同的服务器上,则需要将这两个参数设置为对应的Server IP或主机名。

11.在 /lib/systemd/system/ 目录下新建 zabbix_agent2 启动文件 zabbix_agent2.service ,内容为:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target

[Service]
Environment="CONFFILE=/usr/local/zabbix_agent/etc/zabbix_agentd.conf"
EnvironmentFile=-/etc/sysconfig/zabbix-agent
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_agentd.pid
KillMode=control-group
ExecStart=/usr/local/zabbix_agent/sbin/zabbix_agentd -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s

[Install]
WantedBy=multi-user.target

12.执行命令 systemctl daemon-reload 加载启动脚本文件

1
systemctl daemon-reload

13.启动 zabbix_agent 并设置为开机启动

1
systemctl enable --now zabbix_agent2.service