前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >为什么说Prometheus是开源网络监控工具的后起之秀?优势有哪些?

为什么说Prometheus是开源网络监控工具的后起之秀?优势有哪些?

原创
作者头像
星融元Asterfusion
发布2024-04-09 15:53:52
1310
发布2024-04-09 15:53:52
举报
文章被收录于专栏:星融元星融元

网络监控是网络管理的重要组成部分,定期网络监控可以预防故障、优化性能、规划容量,确保网络的可用性、安全性等。相比较普通的监控工具,开源网络监控工具拥有可定制性、灵活性、可扩展性等优势,受到国内外众多企业的追捧,有哪些好用的开源网络监控工具,该如何选择呢?

一、盘点好用的开源网络监控工具

1、开源网络监控工具盘点

工具

描述

主要特点

Cacti

一种图形解决方案,可与 RRDTool 一起收集 LAN 中的性能数据。

1、简单的网络管理协议(SNMP)支持 2、绘制交通数据图表 3、易于设置的模板 4、用于数据存储的MySQL数据库

Nagios Core

一种流行的监控工具,具有可扩展性和易用性的界面。

1、自动发现设备 2、复杂的性能图 3、通过附加组件进行定制 4、PHP Web 界面 (Nagios V-Shell) 5、RESTful API

Icinga 2

一个灵活的工具,建立在Nagios Core之上,提供可定制的仪表板和出色的可视化功能。

1、用于自定义配置的RESTful API 2、实时性能数据监控 3、对 Graphite 和 InfluxDB的原生支持 4、通过电子邮件或文本发出警报和通知

Zabbix

涵盖网络、服务器、云、应用、业务监控的综合监控工具。

1、网络带宽使用情况跟踪 2、网络运行状况和配置更改监控 3、SNMP、IPMI 和 IPv6 支持 4、用于轻松发现设备的模板 5、警报和通知 6、支持广泛的平台

Prometheus

一种用于监控时间序列数据的流行工具,拥有大量社区追随者。

1、时间序列数据监控 2、用于事件通知的警报管理器 3、与各种数据源(Docker、StatsD、JMX)集成 4、用于可视化的 Grafana 集成

2、对比展现Prometheus优势

作为发行时间最晚(Prometheus发行于2016年)的开源网络监控工具,Prometheus有哪些优势呢?以传统的Zabbix为例,一起来对比吧!

Zabbix

Prometheus

监控规模

集群规模上限为10000个节点

支持更大的集群规模

监控对象

物理机环境

云环境

存储

关系型数据库

时间序列的数据库

服务发现

Push

Pull/Push

配置

配置复杂

一个核心Server组件,配置简单

社区活跃度

国内比较活跃,社区活跃度相对较低

开源社区非常活跃CNCF支持

二、Prometheus 是做什么的?

Prometheus 是一款免费软件,可帮助监控和发送有关计算机系统的警报,2012年已经产生并一直存在,并在公司和组织中变得非常流行。许多开发人员和用户积极为它做出贡献。它不属于任何特定公司,由共同工作的社区管理。2016 年,Prometheus 成为云原生计算基金会的一部分。

核心组件:

  • Prometheus Server
  • Exporter
  • Alertmanager
  • Pushgateway
  • Service discovery

Prometheus Server是Prometheus组件中的核心部分,负责实现对监控数据的获取,存储以及查询。

1、工作流程

  1. Exporter将监控数据采集的端点通过HTTP服务的形式暴露给Prometheus Server;
  2. 在Prometheus Server中支持基于PromQL创建告警规则,如果满足PromQL定义的规则,则会产生一条告警,而告警的后续处理流程则由AlertManager进行管理;
  3. Prometheus Server与Push网络需求无法直接满足时,就可以利用PushGateway来进行中转;
  4. Service discovery:监控系统而言就意味着没有了一个固定的监控目标,所有的监控对象(基础设施、应用、服务)都在动态的变化。

2、Exporter

定义:广义上来讲,任何向Prometheus提供监控样本数据的程序都可以被称为一个Exporter,Exporter的一个实例称为Target。

若要从Target (host or service)收集监视数据,首先必须在要收集的Target上安装收集组件,称为Exporter,他们的官网(http://prometheus.io)上有很多Exporter:

  • Consul exporter (official)
  • Memcached exporter (official)
  • MySQL server exporter (official)
  • Node/system metrics exporter (official)
  • HAProxy exporter (official)
  • RabbitMQ exporter
  • Grok exporter
  • InfluxDB exporter (official)

可根据所监控的对象选取特定的Exporter:

范围

Exporter

数据库

MySQL exporter, Redis exporter, MongoDB exporter, MSSQL exporter等

硬件

Apcupsd exporter, IoT Edison exporter, IPMI exporter, Node exporter等

消息队列

Beanstalkd exporter, Kafka exporter, NSQ exporter, RabbitMQ exporter等

存储

Ceph exporter, Gluster exporter, HDFS exporter, RabbitMQ exporter等

HTTP服务

Apache exporter, HAProxy exporter, ScaleIO exporter等

API服务

AWS ECS exporter, Docker Cloud exporter, Docker Hub exporter, GitHub exporter等

日志

Fluentd exporter, Grok exporter等

监控系统

Collected exporter, Graphite exporter, InfluxDB exporter, Nagios exporter, SNMP exporter等

其他

Blockbox exporter, JIRA exporter, Jenkins exporter, Confluence exporter等

工作方式:

– 注册指标:exporter需要定义要导出的指标及其相关信息

– 数据收集:exporter定期从系统或应用程序中收集指标数据

– 指标转换:exporter将收集到的指标数据转换为Prometheus的指标类型

– 暴露指标:exporter提供一个HTTP接口,通过该接口将转换后的指标暴露给Prometheus

3、告警产生以及推送

  • Prometheus会周期性的对告警规则进行计算,如果满足告警触发条件就会向Alertmanager发送告警信息
  • Alertmanager根据配置推送给对接的平台,支持对接多种平台告警推送

流程:

  1. 告警路由:会根据事先定义的路由配置对告警进行路由。路由配置规定了如何处理不同的告警,包括将告警发送到不同的接收者(如电子邮件、PagerDuty、Slack等)、进行静默处理或者进行其他操作。
  2. 告警抑制:Alertmanager会对接收到的告警进行去重处理,以避免重复通知。
  3. 告警分组:Alertmanager会将具有相同标签或属性的告警进行分组,以便进行更有效的通知和处理。这样可以避免发送大量重复的告警通知,提供更清晰的告警视图。

三、示例:将Prometheus与AsterNOS结合

1、为什么使用Prometheus监控AsterNOS

2、效果展示

以园区网络为例,使用Prometheus + SNMP + Grafana组合方案进行监控,能够采集系统运行数据,实现网络数据可视化以及网络架构拓扑展示。

在AsterNOS设备上部署Node exporter,以HTTP接口的形式暴露AsterNOS的系统运行数据,Prometheus将主动Pull数据。Prometheus获取到数据后一方面用于评估告警规则——若产生告警将由Alertmanager推送给所对接的服务;另一方面落地到Prometheus服务器本地存储中。Grafana可以利用Prometheus所存储的监控数据来进行可视化展示。

以Node exporter所采集的数据作为来源展示

关注vx公号“星融元Asterfusion”,获取更多技术分享和最新产品动态。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、盘点好用的开源网络监控工具
    • 1、开源网络监控工具盘点
      • 2、对比展现Prometheus优势
      • 二、Prometheus 是做什么的?
        • 1、工作流程
          • 2、Exporter
            • 3、告警产生以及推送
            • 三、示例:将Prometheus与AsterNOS结合
              • 1、为什么使用Prometheus监控AsterNOS
                • 2、效果展示
                相关产品与服务
                Prometheus 监控服务
                Prometheus 监控服务(TencentCloud Managed Service for Prometheus,TMP)是基于开源 Prometheus 构建的高可用、全托管的服务,与腾讯云容器服务(TKE)高度集成,兼容开源生态丰富多样的应用组件,结合腾讯云可观测平台-告警管理和 Prometheus Alertmanager 能力,为您提供免搭建的高效运维能力,减少开发及运维成本。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档