-曾老湿, 江湖人称曾老大。
-多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作。 -擅长Web集群架构与自动化运维,曾负责国内某大型金融公司运维工作。 -devops项目经理兼DBA。 -开发过一套自动化运维平台(功能如下): 1)整合了各个公有云API,自主创建云主机。 2)ELK自动化收集日志功能。 3)Saltstack自动化运维统一配置管理工具。 4)Git、Jenkins自动化代码上线及自动化测试平台。 5)堡垒机,连接Linux、Windows平台及日志审计。 6)SQL执行及审批流程。 7)慢查询日志分析web界面。
分布式监控
概述 |
---|
Zabbix通过Zabbix proxies为IT基础设施提供有效和可用的分布式监控
代理(proxies)可用于代替Zabbix server本地收集数据,然后将数据报告给服务器。
proxy特征 |
---|
当选择使用/不使用proxy时,必须考虑几个注意事项。 项。
Proxy | |
---|---|
轻量级(Lightweight) | Yes |
图形界面(GUI) | No |
独立工作(Works independently) | Yes |
易于维护(Easy maintenance) | Yes |
自动生成数据库(Automatic DB creation)1 | Yes |
本地管理(Local administration) | No |
准备嵌入式硬件 (Ready for embedded hardware) | Yes |
单向TCP连接(One way TCP connections) | Yes |
集中配置(Centralised configuration) | Yes |
生成通知(Generates notifications) | No |
[1] 自动数据库创建功能仅适用于SQLite。其他数据库需要手动设置
zabbix porxy代理概述
概述 |
---|
zabbix proxy 可以代替 zabbix server 收集性能和可用性数据,然后把数据汇报给 zabbix server,并且在一定程度上分担了zabbix server 的压力.
此外,当所有agents和proxies报告给一个Zabbix server并且所有数据都集中收集时,使用proxy是实现集中式和分布式监控的最简单方法。
zabbix proxy 使用场景: 1.监控远程区域设备 2.监控本地网络不稳定区域 3.当 zabbix 监控上千设备时,使用它来减轻 server 的压力 4.简化分布式监控的维护

zabbix proxy 仅仅需要一条 tcp 连接到 zabbix server,所以防火墙上仅仅需要加上一条规则即可。
proxy 收集到数据之后,首先将数据缓存在本地,然后在一定得时间之后传递给 zabbix server,这样就不会因为服务器的任何临时通信问题而丢失数据。这个时间由 proxy配置文件中参数 ProxyLocalBuffer 和 ProxyOfflineBuffer 决定。
注意: 1.zabbix proxy 数据库必须和 server 分开,否则数据会被破坏。 2.从Zabbix server数据库直接更新最新配置的proxy可能会比Zabbix server新,而Zabbix server的配置由于 CacheUpdateFrequency 的原因而无法快速更新。因此,proxy收集发送Zabbix server数据可能会被忽略。
zabbix porxy代理功能
zabbix proxy 是一个数据收集器,它不计算触发器、不处理事件、不发送报警。有关proxy功能的概述,如下表:
功能 | proxy支持(yes/no) | |
---|---|---|
项目(Items) | ||
Zabbix agent checks | Yes | |
Zabbix agent checks (active) | Yes 1 | |
Simple checks | Yes | |
Trapper items | Yes | |
SNMP checks | Yes | |
SNMP traps | Yes | |
IPMI checks | Yes | |
JMX checks | Yes | |
日志文件监控(Log file monitoring) | Yes | |
内部检查(Internal checks) | Yes | |
SSH checks | Yes | |
Telnet checks | Yes | |
外部检查(External checks) | Yes | |
内置web监控(Built-in web monitoring) | Yes | |
网络发现(Network discovery) | Yes | |
自动发现(Low-level discovery) | Yes | |
触发器计算(Calculating triggers) | No | |
处理事件(Processing events) | No | |
发送报警(Sending alerts) | No | |
远程命令(Remote commands) | No |
使用 agent active 模式,一定要记住在 agent 的配置文件参数 ServerActive 加上 proxy 的 IP 地址。
zabbix proxy代理企业场景

zabbix proxy分布式场景实践环境规划 |
---|
服务器功能 | 服务器外网 | 服务器内网 |
---|---|---|
zabbix-server | 10.0.0.71 | 172.16.1.71 |
zabbix-proxy | 10.0.0.8 | 172.16.1.8 |
zabbix-agent | 10.0.0.7 | 172.16.1.7 |
安装部署zabbix proxy |
---|
[root@web01 ~]# yum install -y https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-proxy-mysql-3.4.15-1.el7.x86_64.rpm
配置zabbix proxy数据库 |
---|
[root@web01 ~]# yum install -y mariadb-server
[root@web01 ~]# systemctl start mariadb
[root@web01 ~]# systemctl enable mariadb
[root@web01 ~]# mysql
#创建数据库
MariaDB [(none)]> create database zabbix_proxy charset utf8;
#创建用户
MariaDB [(none)]> grant all on zabbix_proxy.* to zabbix_proxy@'localhost' identified by '123';
导入数据 |
---|
#查看数据文件
[root@web01 ~]# rpm -ql zabbix-proxy-mysql
/usr/share/doc/zabbix-proxy-mysql-3.4.15/schema.sql.gz
#导入数据
[root@web01 ~]# zcat /usr/share/doc/zabbix-proxy-mysql-3.4.15/schema.sql.gz |mysql zabbix_proxy
#查看导入后的数据
[root@web01 ~]# mysql
MariaDB [(none)]> show databases;
MariaDB [zabbix_proxy]> show tables;
修改zabbix proxy配置文件 |
---|
[root@web01 ~]# vim /etc/zabbix/zabbix_proxy.conf
Server=10.0.0.71
Hostname=hlj_proxy
DBName=zabbix_proxy
DBHost=localhost
DBUser=zabbix_proxy
DBPassword=123
启动zabbix proxy并加入开机自启 |
---|
[root@web01 ~]# systemctl start zabbix-proxy
[root@web01 ~]# systemctl enable zabbix-proxy
[root@web01 ~]# netstat -lntup
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 82597/zabbix_proxy
配置zabbix agent |
---|
[root@web02 ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=172.16.1.7
ServerActive=172.16.1.7
Hostname=web02
页面配置zabbix proxy |
---|