Zabbix Proxy实现跨机房分布式监控
Zabbix Proxy实现跨机房监控
·
前言
zabbix proxy 可以代替 zabbix server 收集性能和可用性数据,然后把数据汇报给 zabbix server。比如公司有本地机房,有阿里云,有腾讯云,有aws,有Google Cloud等,那样的话就可以监控各个机房的数据。服务端只需要放一个即可。从而实现跨机房的分布式监控
zabbix的proxy的数据库有如下三种,看你的需求选择:
- sqlite3
- mysql
- postgresql
注意
如果配置没有生效,请重启Zabbix Proxy 即可。
### 重启zabbix-proxy
systemctl restart zabbix-proxy
## 如果不行重启客户端
systemctl restart zabbix-agent
## 重启之后结果如下
8111:20221214:171434.795 proxy #28 started [icmp pinger #1]
8107:20221214:171435.814 enabling Zabbix agent checks on host "aws-to-aliyun-proxy": host became available
图示如下:
官网
### 官网
https://www.zabbix.com/documentation/5.0/zh/manual/concepts/proxy
## 官网架构图
https://www.zabbix.com/documentation/5.0/zh/manual/distributed_monitoring/proxies
## zabbix proxy的配置参数
https://www.zabbix.com/documentation/5.0/zh/manual/appendix/config/zabbix_proxy
## 官网下载
https://www.zabbix.com/cn/download?zabbix=5.0&os_distribution=debian&os_version=10&components=proxy&db=mysql&ws=
部署实践(基于Mysql)
我们在Ubuntu系统上进行安装 Zabbix Proxy,参考官网进行配置即可。
## 以ubuntu 为例进行安装
# mysql -uroot -p
password
mysql> create database zabbix_proxy character set utf8 collate utf8_bin;
mysql> create user zabbix@localhost identified by 'password';
mysql> grant all privileges on zabbix_proxy.* to zabbix@localhost;
mysql> quit;
# zcat /usr/share/doc/zabbix-proxy-mysql*/schema.sql.gz | mysql -uzabbix -p zabbix_proxy
zabbix proxy配置
vim zabbix_proxy.conf
Server=10.10.10.120
ServerPort=10051
Hostname=xx-base-zabbix-proxy-01
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_proxy.pid
SocketDir=/var/run/zabbix
DBName=zabbix_proxy
DBUser=zabbix
DBPassword=xx
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
StatsAllowedIP=0.0.0.0/0 # 要特别注意
## 0:主动模式
ProxyMode=0
zabbix-agent的配置
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=10.10.10.128 # proxy的地址
ServerActive=10.10.10.128 # proxy的地址
Hostname=szcxg-base-zk-prd-02
Hostname=szcxg-base-zk-prd-02
UnsafeUserParameters=1
Include=/etc/zabbix/zabbix_agentd.d/*.conf
测试显示:
20513:20221027:115252.412 proxy #24 started [poller #3]
20517:20221027:115252.413 proxy #26 started [poller #5]
20494:20221027:115252.414 proxy #5 started [trapper #4]
20518:20221027:115252.414 proxy #27 started [unreachable poller #1]
20497:20221027:115252.505 proxy #8 started [preprocessing worker #1]
20498:20221027:115252.505 proxy #9 started [preprocessing worker #2]
20511:20221027:115253.418 enabling Zabbix agent checks on host "xx-base-zk-prd-02": host became available
部署实践(sqlite3)
## 官网
https://www.zabbix.com/cn/download?zabbix=5.0&os_distribution=centos&os_version=7&components=proxy&db=sqlite3&ws=
##
mkdir /data/zabbix-proxy/sqlite3/
## 创建数据库文件
touch /data/zabbix-proxy/sqlite3/zabbix_proxy.db
##
chown -R zabbix:zabbix /data/zabbix-proxy/
###
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
#
yum clean all
###
yum install zabbix-proxy-sqlite3
导入表结构:
## 导入表结构
zcat /usr/share/doc/zabbix-proxy-sqlite3-5.0.28/schema.sql.gz |sqlite3 /data/zabbix-proxy/sqlite3/zabbix_proxy.db
##
vim zabbix_proxy.conf
Server=zabbix-server.xx.net
Hostname=txy-gz-zabbix-proxy-prd-01
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_proxy.pid
SocketDir=/var/run/zabbix
DBName=/data/zabbix-proxy/sqlite3/zabbix_proxy.db
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
StatsAllowedIP=0.0.0.0
vim /etc/zabbix/zabbix_agentd.conf
##
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=zabbix-proxy-txy-gz.xx.com
ServerActive=zabbix-proxy-txy-gz.xx.com
Hostname=tyx-gz-xx-clickhouse-01
Include=/etc/zabbix/zabbix_agentd.d/*.conf
zabbix模板可以使用 linux zabbix agent 主动式或者被动式模板,如果其中一个不通,可以用另外一个。
更多推荐
所有评论(0)