Zabbix proxy分布式监控(学习笔记三十一)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 转载:http://www.cnblogs.com/yaoyaojcy/p/8182067.html自学Zabbix13.1分布式监控proxy介绍zabbix2.

转载:http://www.cnblogs.com/yaoyaojcy/p/8182067.html

自学Zabbix13.1分布式监控proxy介绍

zabbix2.4版本之前,zabbix提供了两种解决方案,分别为:proxy和nodes

proxy代替zabbix server在本地检索数据,然后提交给zabbix server

Nodes则就是一个完整的zabbix Server(不做介绍)

zabbix自从2.4版本之后,分布式监控就移除了 nodes 模式

1. 概述

    zabbix proxy可以代替zabbix server检索客户端的数据,然后把数据汇报给zabbix server,并且在一定程度上分担了zabbix server的压力.zabbix proxy可以非常简便的实现了集中式、分布式监控。

    zabbix proxy使用场景:

监控远程区域设备

监控本地网络不稳定区域

当zabbix监控上千设备时,使用它来减轻server的压力

简化zabbix的维护

2.zabbix proxy架构图

img_6db9e4a52e2afe4c27968348d1a92bae.png

zabbix proxy仅仅需要一条tcp连接到zabbix server,所以防火墙上仅仅需要加上一条规则即可。

zabbix proxy数据库必须和server分开,否则数据会被破坏,毕竟这两个数据库的表大部分都相同。总之记住,数据库分开即可。

proxy收集到数据之后,首先将数据缓存在本地,然后在一定得时间之后传递给zabbix server。

这个时间由proxy配置文件中参数ProxyLocalBuffer and ProxyOfflineBuffer决定。

3. zabbix proxy功能

   zabbix proxy是一个数据收集器,它不计算触发器、不处理事件、不发送报警,如下是proxy的功能.

ItemsFunction Supported by proxy

 Zabbix agent checks Yes

 Zabbix agent checks (active) Yes

 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

 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地址


分为两部分:

安装proxy

配置proxy

1. 安装proxy 

官方文档使用的是源码安装,因为方便我们使用yum安装,因为我们只有2台,所以就用agent当做Proxy

1.1 安装

[root@linux-node2 ~]# yum install -y zabbix-proxy zabbix-proxy-mysql mariadb-server

我们需要启动MySQL

[root@linux-node2 ~]# systemctl start mariadb.service

1.2 创建数据库

1mysql2create database zabbix_proxy character set utf8;3grant all on zabbix_proxy.* to zabbix_proxy@localhost identified by'zabbix_proxy';

1.3 导入数据

[root@linux-node2 ~]# cd /usr/share/doc/zabbix-proxy-mysql-3.0.8/[root@linux-node2 zabbix-proxy-mysql-3.0.8]# zcat schema.sql.gz | mysql -uzabbix_proxy -p zabbix_proxyEnter password: #密码是:zabbix_proxy 是我们数据库授权的密码

1.4 检查数据库

1mysql2show databases;3use zabbix_proxy;4show tables;5#查看是否含有数据

1.5 修改proxy的配置文件

1[root@linux-node2 zabbix-proxy-mysql-3.0.8]# vim /etc/zabbix/zabbix_proxy.conf  2Server=172.18.50.33 3Hostname=Zabbix proxy 4DBName=zabbix_proxy 5#数据库名称 6DBUser=zabbix_proxy 7#用户名 8DBPassword=zabbix_proxy 9#用户密码10配置文件中没有配置的内容如下:(有需要可以配置)11# ProxyLocalBuffer=012#数据保留的时间(小时为单位)13# ProxyOfflineBuffer=114#连不上Server,数据要保留多久(小时为单位,默认1小时)15# DataSenderFrequency=116#数据的发送时间间隔(默认是1秒)17# StartPollers=518#启动的线程数19# StartIPMIPollers=020#启动IPMI的线程数

过滤修改过的配置如下:

1[root@linux-node2 zabbix-proxy-mysql-3.0.8]# grep '^[a-Z]' /etc/zabbix/zabbix_proxy.conf 2Server=172.18.50.33 3Hostname=Zabbix proxy 4LogFile=/var/log/zabbix/zabbix_proxy.log 5LogFileSize=0 6PidFile=/var/run/zabbix/zabbix_proxy.pid 7DBName=zabbix_proxy 8DBUser=zabbix_proxy 9DBPassword=zabbix_proxy10SNMPTrapperFile=/var/log/snmptrap/snmptrap.log11Timeout=412ExternalScripts=/usr/lib/zabbix/externalscripts13LogSlowQueries=3000

1.6 启动, 查看proxy进程

[root@linux-node2 ~]# systemctl start zabbix-proxy

1[root@linux-node2 ~]# netstat -lntup 2Active Internet connections (only servers) 3Proto Recv-Q Send-Q Local Address          Foreign Address        State      PID/Program name    4tcp        0      0 0.0.0.0:3306            0.0.0.0:*              LISTEN      15685/mysqld        5tcp        0      0 0.0.0.0:22              0.0.0.0:*              LISTEN      1073/sshd            6tcp        0      0 127.0.0.1:25            0.0.0.0:*              LISTEN      2498/master          7tcp        0      0 0.0.0.0:10051          0.0.0.0:*              LISTEN      15924/zabbix_proxy  8tcp6      0      0 :::44589                :::*                    LISTEN      9052/java            9tcp6      0      0 :::8080                :::*                    LISTEN      9052/java          10tcp6      0      0 :::22                  :::*                    LISTEN      1073/sshd          11tcp6      0      0 :::8888                :::*                    LISTEN      9052/java          12tcp6      0      0 ::1:25                  :::*                    LISTEN      2498/master        13tcp6      0      0 :::39743                :::*                    LISTEN      9052/java          14tcp6      0      0 :::10051                :::*                    LISTEN      15924/zabbix_proxy  15tcp6      0      0 127.0.0.1:8005          :::*                    LISTEN      9052/java          16tcp6      0      0 :::8009                :::*                    LISTEN      9052/java

Zabbix-proxy 监控10051端口,因为是代理就必须跟Server的端口相同,对于Agent Proxy就是Server

 2. proxy配置

2.1 administrator --- proxies---creat proxy

img_cb4a8e8b7d3d963eb8f3706b4346f164.png
img_6afbf5483a8a56bb01b267b1910258ed.png

参数描述

Proxy nameproxy名称,必须和proxy配置文件中的hostname一致

Proxy mode选择proxy模式

Activeproxy主动连接到zabbix server并且请求配置文件数据

PassiveZabbix server连接到proxy

Hosts哪些主机需要被proxy监控

2.2 encryption选项

img_3025ebf044bbd8539dddc33f72a94e47.png

连接到代理服务器如何连接到被动代理:没有加密(默认),使用PSK(预共享密钥)或证书。

来自代理的连接选择从活动代理允许什么类型的连接

可以同时选择几种连接类型(用于测试和切换到其他连接类型)

默认没有加密

发行人允许颁发证书。证书首先由CA(证书颁发机构)验证。如果它是有效的,在CA签署,然后发行领域可以用来进一步限制允许约这个字段是可选的,如果你打算使用Zabbix安装使用证书从多个CAS。

科目允许证书。证书首先由CA.验证,如果它是有效的,由CA签名,则主题字段可用于只允许一个主题字符串值。如果此字段为空,则接受配置的CA签署的任何有效证书。

身份认证预共享密钥标识字符串。

预共享密钥最大长度:512进制数(256字节的PSK)

如果Zabbix uses GnuTLS或OpenSSL库,64进制数(32字节的PSK)

如果Zabbix使用MBED TLS(polarssl)。例如:1f87b595725ac58dd977beef14b97461a7c1045b9a1c963065002c5473194952

2.3 

配置主机HOST的时候,如果需要被proxy代理,那么都选择对应的proxy名称 。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
14天前
|
SpringCloudAlibaba Java 网络架构
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(二)Rest微服务工程搭建
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(二)Rest微服务工程搭建
69 0
|
14天前
|
SpringCloudAlibaba Java 网络架构
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
142 0
|
7天前
|
存储 JSON 监控
Erlang用于构建分布式屏幕监控软件的优点
Erlang是一种适用于并发编程的语言,特别适合构建分布式屏幕监控软件。其轻量级进程支持高并发,能同时处理多个屏幕的实时更新。Erlang的容错性和高可用性通过监督树机制保证了进程故障时的自动重启。此外,其内置的分布式特性使得跨节点的屏幕监控变得简单。Erlang还允许通过HTTP客户端库自动将监控数据提交到网站,便于数据存储和分析。因此,Erlang是构建此类软件的理想选择。
41 7
|
14天前
|
Prometheus 监控 Cloud Native
Golang深入浅出之-Go语言中的分布式追踪与监控系统集成
【5月更文挑战第4天】本文探讨了Go语言中分布式追踪与监控的重要性,包括追踪的三个核心组件和监控系统集成。常见问题有追踪数据丢失、性能开销和监控指标不当。解决策略涉及使用OpenTracing或OpenTelemetry协议、采样策略以及聚焦关键指标。文中提供了OpenTelemetry和Prometheus的Go代码示例,强调全面可观测性对微服务架构的意义,并提示选择合适工具和策略以确保系统稳定高效。
149 5
|
14天前
|
监控 网络协议 Unix
centos7 zabbix安装客户端agent -配置监控远程主机 在需要监控的电脑上安装
centos7 zabbix安装客户端agent -配置监控远程主机 在需要监控的电脑上安装
35 0
|
14天前
|
SpringCloudAlibaba 负载均衡 Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(目录大纲)
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(目录大纲)
77 1
|
14天前
|
消息中间件 SpringCloudAlibaba Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(八)Config服务配置+bus消息总线+stream消息驱动+Sleuth链路追踪
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(八)Config服务配置+bus消息总线+stream消息驱动+Sleuth链路追踪
804 0
|
14天前
|
SpringCloudAlibaba Java 测试技术
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(六)Hystrix(豪猪哥)的使用
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(六)Hystrix(豪猪哥)的使用
51 1
|
14天前
|
SpringCloudAlibaba 负载均衡 Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(五)OpenFeign的使用
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(五)OpenFeign的使用
53 0
|
14天前
|
负载均衡 算法 Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(四)Ribbon的使用
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(四)Ribbon的使用
33 0

推荐镜像

更多