同一系统内同时运行两个 Zabbix-Proxy 服务
默认通过 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
原文链接地址:https://blog.exsvc.cn/article/two-zabbix-proxy-instance.html
转载请注明:转载自 易科博客 ,谢谢!
感谢博主,在这里找到了一个 VM 开启两个 proxy 服务的办法。
其实在 docker 中部署更简单
顺便问问博主,请问是在哪里看到 “一个 Zabbix-Proxy 无法同时为两台 Zabbix-Server 提供服务” 这个说法的呢?
我在网络上,以及 Zabbix 官网也没有看到对此的说明。
个人测试的,官方并没说可以将一个Proxy用于两个Server
我在公司 VM 测试会发现一个 proxy 给两个 Server用的时候,会有大量的监控项队列延迟。
请问你那边也会有这样子的现象吗?
一个Proxy给两个Server用会造成配置混乱的,你可以监测下Proxy的日志
是需要看 proxy 的 DebugLevel=4 的日志吗?
我看过 DebugLevel=3 的日志,只是显示收到了两个 Server 发过来的 configuration data,并没有看出其他的异常。
你可以结合日志和Proxy的内部数据来看
非常感谢
有没有办法在同一系统内同时运行两个zabbix_server,主要我不知道如何修改前端配置使前端连接到对应的zabbix_server
最简单的方式是用docker的方式安装,这样的话可以任意多个,然后映射到不同的端口即可