首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Zabbix跨机房分布式部署proxy实战

Zabbix跨机房分布式部署proxy实战

作者头像
王先森sec
发布2023-04-24 16:58:21
发布2023-04-24 16:58:21
2.1K0
举报
文章被收录于专栏:王先森王先森

概述

Zabbix proxy 是一个监控代理服务器,可以实现集中或者分布式的监控。通过proxy代理可以实现多节点,跨区域,成百上千服务器的监控。proxy代理主要适用于下面情况。

  • zabbix监控的主机太多,一台Server支撑不住的情况。
  • 服务器在同一个地区不同的机房,通过proxy很容易实现数据的传输和中转。
  • 服务器在多个省或者在国外,通过proxy实现分布式部署和监控。

proxy可以部署为主动(Active)模式或被动(passive)模式,通常为了减轻Server端的压力,proxy部署为主动(Active)模式。当proxy部署为主动模式(Active)时,Zabbix Server的负载最小。

安装配置

系统

服务器IP

角色

CentOS 7.6.1810

10.1.1.200

zabbix-server

CentOS 7.6.1810

10.1.1.15(外)\172.16.1.15(内)

zabbix-proxy

EulerOS 2.0

172.16.1.240

zabbix-agent

安装部署zabbix-proxy

在zabbix-proxy上:

代码语言:javascript
复制
yum -y install zabbix-proxy-mysql

proxy需要一个独立的数据库,请勿和server同库:

代码语言:javascript
复制
yum -y install mariadb-server
mysql -uroot -p
create database zabbix_proxy defaults charset utf8;
grant all privileges on zabbix_proxy.* to zabbix_proxy@'localhost' identified by '123456';

导入zabbix-proxy SQL:

代码语言:javascript
复制
cd /usr/share/doc/zabbix-proxy-mysql-4.0.27/
zcat schema.sql.gz |mysql -uzabbix_proxy -p zabbix_proxy

zabbix-proxy配置:

代码语言:javascript
复制
[root@bj_proxy ~]$grep ^[a-Z] /etc/zabbix/zabbix_proxy.conf    
ProxyMode=0                                      //默认主动模式0,被动模式1
Server=10.1.1.200                                //zabbix_server的外网IP
ServerPort=10051
Hostname=bj_proxy                                //需要和主机名一致
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0                                    //不切割日志,默认1M
PidFile=/var/run/zabbix/zabbix_proxy.pid
SocketDir=/var/run/zabbix
DBName=zabbix_proxy
DBSchema=zabbix_proxy
DBUser=zabbix_proxy
DBPassword=123456
ConfigFrequency=600                              //多久从zabbix-server接受配置
DataSenderFrequency=60                           //多久向zabbix-server发送收集数据
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4                                        //等待agent回应超时时间
ExternalScripts=/usr/lib/zabbix/externalscripts   //也需要放一份到代理
LogSlowQueries=3000

### 启动proxy
systemctl restart zabbix-proxy.service
systemctl enable zabbix-proxy.service 

Agent安装配置

代码语言:javascript
复制
wget https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.27-1.el7.x86_64.rpm
rpm -ivh zabbix-agent-4.0.27-1.el7.x86_64.rpm
[root@euler ~]# grep ^[a-Z] /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
EnableRemoteCommands=1
Server=172.16.1.15
ServerActive=172.16.1.15
Hostname=Euler
Include=/etc/zabbix/zabbix_agentd.d/*.conf

### 启动agent
systemctl restart zabbix-agent.service 
systemctl enable zabbix-agent.service

配置web界面

在我们的zabbix界面上点击管理–>agent代理程序–>创建代理 agent代理程序名称 为 zabbix_proxy的主机名 (建议一致 )

加速代理验证

代码语言:javascript
复制
## 重启server来加速
[root@zabbix ~]# systemctl restart zabbix-server.service
### 重启proxy
[root@bj_proxy ~]$systemctl restart zabbix-proxy.service 
[root@bj_proxy ~]$tailf /var/log/zabbix/zabbix_proxy.log 
 60540:20210120:163621.926 only character set "utf8" and collation "utf8_bin" should be used in database
 60540:20210120:163621.926 proxy #0 started [main process]
 60545:20210120:163621.926 proxy #1 started [configuration syncer #1]
 60545:20210120:163621.939 received configuration data from server at "10.1.1.200", datalen 3516

添加主机

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-08-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
  • 安装配置
    • 安装部署zabbix-proxy
    • Agent安装配置
    • 配置web界面
    • 加速代理验证
    • 添加主机
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档