默认通过 Yum 安装 Zabbix-Proxy 后会自动配置好一个服务实例,但是一个 Zabbix-Proxy 无法同时为两台 Zabbix-Server 提供服务,所以就想到了在系统内运行两个 Zabbix-Proxy 服务。

前提条件:已经安装并运行了一个 Zabbix-Proxy 服务。

1、复制 /etc/zabbix/zabbix_proxy.conf 为 /etc/zabbix/zabbix_proxy2.conf ,并修改以下几个配置项:

# 模式选择(0为主动模式 1为被动模式)
ProxyMode=1
Server=xxx.xxx.xxx.xxx
ServerPort=10050
ListenPort=10052
LogFile=/var/log/zabbix/zabbix_proxy2.log
PidFile=/var/run/zabbix2/zabbix_proxy.pid
SocketDir=/var/run/zabbix2
DBName=/etc/zabbix/db/zabbix_proxy2.sqlite3
SNMPTrapperFile=/var/log/snmptrap/snmptrap2.log
......

2、新建 systemd 服务配置文件 /usr/lib/systemd/system/zabbix-proxy2.service

[Unit]
Description=Zabbix Proxy
After=syslog.target
After=network.target

[Service]
Environment="CONFFILE=/etc/zabbix/zabbix_proxy2.conf"
EnvironmentFile=-/etc/sysconfig/zabbix-proxy
Type=forking
Restart=on-failure
PIDFile=/run/zabbix2/zabbix_proxy.pid
KillMode=control-group
ExecStartPre=/bin/mkdir -p /var/run/zabbix2 ; /bin/chown zabbix:zabbix /var/run/zabbix2
ExecStart=/usr/sbin/zabbix_proxy -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
TimeoutSec=0

[Install]
WantedBy=multi-user.target

3、启用服务并运行

systemctl enable zabbix-proxy2
systemctl start zabbix-proxy2


原文链接地址:http://blog.exsvc.cn/article/two-zabbix-proxy-instance.html
转载请注明:转载自 易科博客 ,谢谢!

11 对 “同一系统内同时运行两个 Zabbix-Proxy 服务”的想法;

  1. 感谢博主,在这里找到了一个 VM 开启两个 proxy 服务的办法。

  2. 顺便问问博主,请问是在哪里看到 “一个 Zabbix-Proxy 无法同时为两台 Zabbix-Server 提供服务” 这个说法的呢?
    我在网络上,以及 Zabbix 官网也没有看到对此的说明。

    1. 个人测试的,官方并没说可以将一个Proxy用于两个Server

  3. 我在公司 VM 测试会发现一个 proxy 给两个 Server用的时候,会有大量的监控项队列延迟。
    请问你那边也会有这样子的现象吗?

    1. 一个Proxy给两个Server用会造成配置混乱的,你可以监测下Proxy的日志

      1. 是需要看 proxy 的 DebugLevel=4 的日志吗?
        我看过 DebugLevel=3 的日志,只是显示收到了两个 Server 发过来的 configuration data,并没有看出其他的异常。

  4. 有没有办法在同一系统内同时运行两个zabbix_server,主要我不知道如何修改前端配置使前端连接到对应的zabbix_server

    1. 最简单的方式是用docker的方式安装,这样的话可以任意多个,然后映射到不同的端口即可

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注