服务监控信息到底是“主动推送”还是“被动扫描”???

简介: 服务监控信息到底是“主动推送”还是“被动扫描”???

  随着软件架构的演进微服务逐渐变成各公司追求的目标,再加上敏捷开发,快速迭代,持续构建简直是如虎添翼想象未来就是美好的,

  但是又有几个公司能都做到那,尤其这两年spring boot的迅猛发展,也给各企业的研发团队带来对微服务实践的有力武器!

    好了废话不多说马上切入正题

    我们都知道有了成千上万的微服务监控就成了重中之重,我们一定要搞定它,既然要监控就需要有数据的采集,那好数据的采集我们是

  采用微服务主动推送好那??还是定时扫描好那?接下来我们逐一讨论!

    我们都知道主动推送就是服务自己采集自己的相关信息然后发送给其他相关的服务上去进行信息汇总spring boot hystrix stream 就是一个

    很好的例子。

    被动扫描就是数据收集服务直接调用微服务的端口或URL等手段来获取相关信息然后收集到统一仓库进行处理,这里面典型的工具是telegraf

    telegraf这个工具可以扫描端口或收集系统信息。

  重点

    我们先说主动推送与被动拉取的优势与劣势:

    1、首先不是所有的服务都要暴露端口因为很多服务是用来跑数据的(比如统计相关信息),但是基本上多有服务都是要被监控的所以这是

      主动推送的方案统一的第一条优势,否则就要实现两套方案。

      

    2、上面的第一点有个漏洞服务A暴露端口不行吗?,当然可以!好那我们就看看所有服务都暴露端口等待被扫描会有什么问题?

      

      如上图片展示加入我们进行定时扫描监控数据收集的话存在的问题就是网络策略设置变得复杂重复,假如W和Y两个网段对访问是有IP限制的

    或防火墙上的策略认证这时每个网段都要对“信息采集服务”进行信息穿透访问,设置不但重复而且增加了风险。反过来就是主动推送信息!

      

    从上图我们可以分析出如果是主动推送只要所有被监控的服务可以访问数据采集服务就可以了,数据采集只接受数据允许大家访问

    策略设置更统一更简单。

    3、上见面的第二点好像还有点问题哦?什么问题那?每个服务都要会有推送信息的线程会不会对服务造成压力或性能损耗啊?

        毫无疑问只要起了额外的线程就会造成服务本身要有少量的内存和CPU消耗,所以问题是有的,但是再想想我们暴露

      接口难道没有消耗吗,那个消耗更值得那?我们暴露端口我们消耗的是容器(tomcat或jetty等,如果你是IO多路复用另谈)

      的线程池占用一定的线程资源,如果我们在服务内自己启动线程推送就不会占用容器的对外线程池资源,只是占用少量的

      内存和CPU资源。

    4、假如使用扫描不可能针对每个服务都有自己的扫描器,相反的是肯定使用一个扫描器进行一对多进行扫描这就涉及排队等待

      或异常等待的现象发生,导致误判!

    5、如果采用扫描服务方案,本身有对外接口策略授权认证的,就需要对数据采集服务开绿灯(因为不可能针对不同认证策略单独做认证),

       所以可能对数据采集服务非常不友好。

    6、使用数据采集的方案可能很容易遗忘被监控的应用。

    

  基于以上六点本人得出的结论是监控信息采集尽量使用服务本身推送数据。

  你有更好的答案吗不妨在评论区聊聊!说说你的想法!

相关文章
|
数据采集 安全
主动扫描和被动扫描
在扫描器中输入目标域名或者URL用爬虫模块爬取所有链接,对GET、POST等请求进行参数变形和污染,进行重放测试,然后依据返回信息中的状态码、数据大小、数据内容关键字等去判断该请求是否含有相应的漏洞。
792 0
主动扫描和被动扫描
|
2月前
|
开发工具 git Python
Pigat被动信息收集
Pigat被动信息收集
21 0
|
10月前
|
监控 小程序 API
叮咚抢菜-派送时段监听及推送工具🔧
叮咚抢菜-派送时段监听及推送工具🔧
96 0
|
程序员 C#
【C#】SignalR之主动推送信息的简单解决方案
在本篇文章中,将讲讲C#如何使用SignalR通讯 Core下的SignalR实现原理一样,只是写法不一样,主动推送消息的场景使用:页面登录后台管理系统,最新订单信息的通知等
222 0
|
Web App开发 Linux 开发工具
阿里云实现自动健康信息上报
阿里云实现自动健康信息上报
|
监控 数据库
zabbix告警持续频繁发送历史消息解决方法
zabbix持续频繁的发送历史的告警消息,一晚上告警内容高达1.7w条,严重影响查看真正出现问题的告警信息。 产生此问题的原因: 告警消息积压堆积,一直处于重试状态。 触发器的确存在,但是目标监控主机的状态是正常的,只要触发器触发的问题存在,那么就会一直发生告警。
960 0
|
开发者 Windows
钉钉在自动关闭代理时崩溃
在开启代理的情况下,正常发送信息时,提示无法发送,钉钉可以帮我关闭代理,当我按下确认后,一时卡顿,于是我手动关闭了代理,接着钉钉崩溃
775 1
|
数据采集 Java 存储
一个系统,搞定闲鱼服务端复杂问题告警-定位-快速处理
服务端问题排查对开发而言是家常便饭,问题并不可怕但要花大量时间去处理;另一方面故障的快速解决至关重要。目前问题排查最大的障碍是什么呢?1、大量的告警信息;2、链路的复杂性;3、排查过程繁复;4、依赖经验。实际工作中的排查思路并非无迹可寻,排查思路和手段可以沉淀出一套经验模型。
3410 0
一个系统,搞定闲鱼服务端复杂问题告警-定位-快速处理
|
监控 Java Apache
SpringBoot整合log4j发送系统异常邮件:实时掌控你的系统健康状态
Exception Mail 由于时间宝贵,有时候写博客就没写那么详细,有什么地方不明白的话可以通过微信联系到我,我在我的某一篇文章中留下过自己的微信二维码,欢迎来骚扰.
2834 0