zabbix分布式部署和主机自动发现
1.分布式部署原理
1.1Zabbix分布式部署的原理
传统的部署架构,是server直接监控所有的主机,全部主机的数据都是有server自己来采集和处理,server端的压力比较大,当监控主机数量很大的时候,server端可能会崩溃。并且如果监控的主机分布在不同地域、互不相同的网络上,传统的架构就不能满足监控所有主机的要求。
分布式部署proxy节点,可以有效的避免上面的问题,每个proxy独立的收集自己区域的主机数据,汇总后按照一定的频率统一发送给server端,server只负责分析和展示数据,能有效减轻server端的压力,并能实现不同地域、不同网络的主机实现统一监控。
Proxy分布式部署的架构图如下
1.2经测试proxy只提供数据收集和转发功能,无法对数据进行分析和告警,也无法提供图形化监控界面,并且一个proxy只能向一个server发送数据,但是agent可以向多个server提供数据。
所以要实现一个server端监控全部数据,并且每个地区还要监控自己的数据,无法通过一个server加多个proxy实现,现在能想到比较好的并且测试可行的方案是,总部部署一个server,每个地区各部署一个server和一个proxy,地区server中的数据通过直连地区服务器收集,proxy中的数据也是直连服务器收集,但是proxy收集到的数据是发给总部server的,实现总部监控全部资源的需求,并且通过分布式部署proxy还能有效降低总部server的压力。
2.常见的问题
2.1即使通过proxy监控,主机的时候IP地址需要配置正确,否则获取不到监控数据
例如下面我把一个通过proxy监控的ip地址修改了,重启了proxy之后,监控状态就异常了,监控数据也获取不到了。
问题列表也出现了告警
看下面折线图数据断了
重新把IP地址改回来之后,监控数据重新出现,但是我每次改了IP之后,需要重启proxy才会生效,可能是proxy重启的时候才会拉取host的配置,可是文档说会定时更新,可能是间隔时间比较长,这个还有待验证。
2.2验证数据是否真从proxy收集来的,因为host配置的ip地址直接指向了agent,所以不确定监控数据是否是从proxy收集来的而不是直接从agent收集来的,现在将proxy服务停掉。
看图proxy已经有5分多钟没有链接了
问题列表中告警通过proxy收集数据的两台机器链接丢失
但是host页面并没变化,我理解的是这个状态应该从proxy获取才对,不过看起来不是,因为proxy已经停了,不知道算不算bug,有时间再研究。
通过proxy收集数据的docker1和docker2两台主机监控数据也已经收不到了
但是直接通过agent收集数据的docker3主机接收数据正常
到这里就能看出来,配置到proxy中的两台主机,确实是通过proxy进行数据收集之后发送给server的,没配到proxy中的主机,数据是agent直接发送给server的。
3.设备自动发现和注册
3.1Zabbix可能需要监控大量的主机,一个个手动加入很麻烦,所以zabbix提供了主机的自动发现和自动注册功能。
3.2创建自动发现规则
配置– 自动发现– 创建发现规则,打开创建自动发现规则页面,检查规则可以根据实际情况添加。
隔一段时间之后,如果有符合条件的主机,会显示出来
3.3创建自动发现动作
点击创建动作之后,打开创建动作页面,可以设置触发条件,支持多种条件的组合。
然后点击操作选项卡,可以设置发送消息,添加主机,关联主机的群组和主机模板等操作。
添加成功之后等一会,会看到主机中已经添加上了符合天健的主机了,之所以发现了很多只添加上了3个主机,是因为我们上面设置的规则中有个服务类型是zabbix客户端的条件,现在只有这三个安装了agent所以就只加入了三个。
点到详情页面看关联的模板,也是我们动作中设置的模板
也能看到监控数据了,说明自动加入主机是没问题的。
3.4通过proxy实现自动加入
先将主机删掉,然后修改自动发现规则,只是把这里改成proxy,其他都没有变。
这次等的时间有点长,刷新规则我设置的5分钟,结果等了将近二十分钟,主机才加进来,但是还有点问题,虽然是加入到了正确的proxy下面,但是ZBX标签不是绿色的,想到之前修改主机配置后proxy不能及时生效的问题,重启了一下proxy后状态恢复正常。
看监控数据也正常了
但是查看了一下proxy的日志,有下面这样的错误,说主机无法识别,但是看起来并没有影响监控数据的获取。出错原因是因为加入proxy的时候会根据主机名去匹配agent,现在自动加入的主机名是IP地址,跟agent配置的主机名不一致,导致无法识别。
修改agent的Hostname为IP地址之后,重启agent和proxy后,日志的报错信息消失,所以建议以后如果想手动添加主机,hostname可以配置成便于识别的名称,如果要使用自动加入主机,hostname最好配置成IP地址。
zabbix分布式部署和主机自动发现的更多相关文章
- zabbix主机自动发现和监控
在主机较多的时候,配置主机自动发现并加入监控可以代替手动的添加主机,减轻工作量,自动发现由服务端主动发起,Zabbix Server开启发现进程,定时扫描局域网中IP服务器.设备.可以根据需要,在对主 ...
- 自动化监控Zabbix之主机自动发现
创建思路 首先说下自动发现强大的功能,它到底可以帮助我们完成什么工作: 快速发现并添加主机 简单的管理 随着环境的改变而快速搭建监控系统 自动发现基于网络发现功能,而网络发现又基于以下信息: IP地址 ...
- zabbix主机自动发现
环境说明 角色 主机名 IP zabbix-server c1.heboan.com 192.168.88.1 zabbix-agent c2.heboan.com 192.168.88.2 zabb ...
- 030.Zabbix分布式部署
一 分布式Zabbix介绍 zabbix proxy 可以代替 zabbix server 收集性能和可用性数据,然后把数据汇报给 zabbix server,并且在一定程度上分担了zabbix se ...
- zabbix的简单操作(自动发现)
zabbix需要监控很多服务器,比如公司进购一批新的服务器,如何自动添加到zabbix服务上 自动发现: zabbix Server主动发现所有客户端,然后将客户端记录下来 自动注册: zabbix ...
- Zabbix之Python脚本端口自动发现
Zabbix监控服务端口,可以手动添加配置,但是如果一个服务器上需要监控的端口数较多,那么利用Zabbix自动发现,比较高效,下面是自动发现port的Python脚本. #!/usr/bin/pyth ...
- Zabbix SNMP OID discovery,自动发现
Unlike file system and network interface discovery, the item does not necessarily have to have “snmp ...
- 基于percona-monitoring-plugins实现Zabbix的MySQL多端口自动发现监控
https://blog.csdn.net/u013820054/article/details/50931793
- Zabbix监控和分布式部署实施方案
最近在研究Zabbix监控,由于机房分布在多个城市,因此采用zabbix proxy做为监控方案,在每 个节点部署zabbix proxy,由zabbix proxy收集agentd数据,然后将采集到 ...
随机推荐
- idea 中提示:Warning:java: 源值1.5已过时, 将在未来所有发行版中删除
maven的配置文件settings.xml中添加: <profile> <id>jdk-1.8</id> <activation> <activ ...
- java base64相关
文件转Base64: public static String imgToBase64(InputStream inStream) { byte[] data = null; try { //avai ...
- app测试基础知识之命令
app测试点:功能测试,安全测试,用户体验测试,交叉事件测试,兼容性测试,性能测试,安装/升级/卸载 ,UI测试 命令操作: adb connect 名 adb devices adb instal ...
- MathType 6.0中MT Extra(TrueType)问题
问题 MathType 6.0中MT Extra(TrueType)字体问题在打开MathType6.0时,有时会提示MathType需要安装一个较新版本的MT Extra(TrueType)字体,这 ...
- LeetCode.1108-使IP地址无效(Defanging an IP Address)
这是小川的第393次更新,第426篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第257题(顺位题号是1108).给定有效(IPv4)IP地址,返回该IP地址的无效版本. ...
- 121. 买卖股票的最佳时机( Best Time to Buy and Sell Stock)
题目地址:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/ 解题思路一:暴力求解法 根据题目我们可以知道,我们知道最大 ...
- python开发工具-pycharm专业版
一.pycharm是什么 维基百科的定义: PyCharm是一个用于计算机编程的集成开发环境,主要用于Python语言开发,由捷克公司JetBrains开发,提供代码分析.图形化调试器,集成测试器.集 ...
- MSF魔鬼训练营-3.5.3 MSF中常用的关于数据库的命令
渗透测试数据库用来保存渗透测试过程中获取的各种数据,很多时候你重启了kali发现连接不上数据库了,其实就是因为这个服务没开 MSF所使用的数据库时postgresql root@kali:/# ser ...
- Intellij IDEA神器好用到飞起来的配置
IDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境. IntelliJ在业界被公认为最好的java开发工具之一, 尤其在智能代码助手.代码自动提示.重构.J2EE支持 ...
- 虚拟机上安装Linux系统之ubuntu
以前自己在虚拟机上安装过几回Linux系统,有centos.ubuntu,不过都没来得及写一个安装教程,今天正好需要重新安装一下,就分享一个安装ubuntu的详细教程 安装前准备: VMWare虚拟机 ...