可观测性不是提升推荐一个新鲜的名词,主要是应用指通过分析数字化应用系统的指标(Metrics) 、链路(Traces)、可观日志(Logs)等数据 ,察性构建出完整的热门态势观测模型,从而实现快速的工具威胁发现和故障诊断。在许多情况下 ,提升推荐可观察性会被错误理解成是应用“系统监控”的同义词,但随着数字化应用的云计算可观深入,特别是察性随着云原生技术的发展 ,基于容器和微服务化的热门应用规模更加庞大 ,复杂的工具云上环境以及应用系统的分布性、复杂性、提升推荐动态性,应用使得故障定界和检测分析非常困难 ,可观而可观测性无疑是降低这种难度的有效手段之一。因此 ,模板下载有更多企业发现部署可观察性产品的能力和价值 。
目前,研究机构Gartner已将应用可观测性列为“2023年十大战略技术趋势”之一。安全研究人员表示,成功实现可观测性的企业机构 ,会在数字化业务开展中建立竞争优势,企业需要找到合适的工具并尽快部署使用。本文收集整理了8款主流的可观察性工具,并对其应用特性 、不足和典型应用场景进行了分析,可为企业组织应用选型提供参考。
1. Prometheus
Prometheus是源码库一款开源工具,广泛用于云原生环境中的可观察性获取 。它可以收集和存储时间序列数据,并提供可视化工具来分析这些数据 。
关键特性与不足:
可以从各种来源获取指标,包括应用程序 、服务和系统;
可以将收集到的数据存储在时间序列数据库中 ,并可以高效地查询和聚合数据;
带有一个内置的警报系统 ,可以根据查询触发警报;
可以自动检测和抓取运行在多个环境中的服务的指标,比如Kubernetes和其他容器编排系统;
能够与Grafana灵活地集成,允许它创建仪表板来显示和分析Prometheus指标 。免费模板
不能提供内置的根本原因分析;
需要将所有数据存储在内存中,因此可能会占用大量计算资源;
目前还不支持嵌套字段和连接 。
主要应用场景 :
监控指标收集和存储;自动化报警;异常服务行为发现。传送门:
https://prometheus.io/
2. Grafana
Grafana是一个开源工具 ,主要用于对数据的可视化和监控 。它允许用户轻松地创建和共享交互式仪表板 ,对来自不同来源的数据进行可视化分析 。
关键特性与不足:
可以创建定制化的交互式仪表板 ,对来自各种数据源的指标和日志进行分析;允许用户根据其指标的状态设置警报 ,香港云服务器以发现潜在的问题;允许用户设置异常检测,并根据其指标中的异常行为自动检测和警报;允许用户深入到指标中 ,通过提供带有历史上下文的详细信息来分析根本原因。不支持长期存储,需要Prometheus或Elasticsearch等额外工具来存储指标和日志;不提供高级数据建模功能;不包含内置的数据聚合功能 。主要应用场景 :
对各种监控指标的可视化;自动化报警;异常服务行为检测 。传送门 :
https://grafana.com/
3. ELK堆栈
ELK堆栈是一款流行的开源可观察性解决方案,有助于运营人员更好地管理日志和分析数据 。它由三个组件组成:Elasticsearch、高防服务器Logstash和Kibana。
Elasticsearch是一个分布式搜索和分析引擎 ,可以处理大量结构化和非结构化数据,使用户能够存储、索引和搜索大量数据;Logstash是一个数据收集和处理管道,允许用户收集 、处理和丰富来自许多源(如日志文件)的数据;Kibana是一个数据可视化和探索工具 ,允许用户基于Elasticsearch中的数据创建交互式仪表板和可视化。
关键特性与不足 :
允许用户收集、处理、存储和分析来自多个来源的日志数据和指标,同时提供一个集中控制台来搜索日志;允许用户搜索和分析相关日志数据,这对于解决和深入了解问题的根本原因至关重要;可以对来自多个数据源的日志数据和指标进行可视化分析;允许在日志数据中为异常活动发出警报;允许用户向下获取更多日志数据 ,通过提供详细的日志和历史上下文 ,可以更好地找出问题的根本原因。ELK目前还不支持分布式跟踪,用户需要使用额外的工具 ,如Jaeger;ELK的日志报告会造成轻微的延迟;策略配置和维护过程比较复杂 ,需要特定的知识来管理运营 。主要应用场景:
多来源的日志管理;数据可视化;遵从性和安全性监控传送门 :
Elasticsearch :https://www.elastic.co/elasticsearch/
Logstash:https://www.elastic.co/logstash/
Kibana :https://www.elastic.co/kibana/
4. InfluxDB 和Telegraf组合

InfluxDB和Telegraf都是开源版的可观察性工具 ,它们的时间序列数据存储和监控功能很受企业用户的欢迎 。其中,InfluxDB是一个时间序列数据库,它使用类似sql的查询语言存储和查询大量时间序列数据;而Telegraf则是一款性能出色的数据收集代理,它可以支持各种数据源,收集各种指标和事件信息,并将其发送给多个提前设置的接收器 ,比如InfluxDB等 。
关键特性与不足:
Telegraf允许用户从许多来源收集指标,并将它们发送到InfluxDB进行存储和分析;InfluxDB可以与第三方可视化工具(如Grafana)集成,以创建灵活的交互式控制面板;InfluxDB的设计允许它处理较长时间段内的数据并提供扩展能力;这两个工具都缺乏警报功能 ,需要第三方集成来提供警报;缺乏深入的原因分析功能,需要第三方集成。主要应用场景:
指标收集和存储;长时间的运行监控。传送门:
InfluxDB:
https://www.influxdata.com/
Telegraf:
https://www.influxdata.com/time-series-platform/telegraf/
5. Datadog
Datadog是一款基于云的可观察性监控和分析平台,目前已被广泛用于深入了解分布式系统的运行状况和性能,以便在风险真实发生前排除问题 。
关键特性与不足 :
可以监控在AWS 、Azure、GCP等多种公有云平台上运行的应用程序;可以对服务依赖关系、位置 、服务和容器等信息进行可视化分析;可以跟踪分析有关应用程序性能的详细信息;可以通过提供带有历史上下文的详细信息 ,让用户分析了解问题的根本原因;可以设置异常检测,自动检测和警告观测到的异常行为 。Datadog是一种基于云计算的付费服务 ,随着部署规模扩大 ,使用费用会增加;不提供默认的日志分析支持,用户必须单独购买日志摄取和索引功能;不允许用户在本地或自己的数据中心存储数据 。主要应用场景 :
可观察性数据管道分布式服务跟踪集装箱式应用监测传送门 :
https://www.datadoghq.com/
6. New Relic
New Relic也是一款基于云的监控和分析平台,允许用户监控分布式环境中的程序运行状态 。它使用“New Relic Edge”服务进行分布式跟踪,可以实现几乎100%的应用程序跟踪监测 。
关键特性与不足:
提供全面的APM解决方案来监控和排除应用程序性能故障;可以在AWS 、Azure 、GCP等多个公有云平台上监控应用程序运行;可以提供有关系统和应用程序性能的详细信息 ,并进行跟踪分析;可以帮助用户深入到指标和上下文信息中 ,分析问题的根本原因;可以收集、处理和分析各种来源的日志数据 ,并提供全面的日志视图。New Relic是一个闭源平台 ,它与其他开源工具的集成能力非常有限;在进行大规模部署时,New Relic的使用成本会比较高 。主要应用场景:
多云环境中的应用监控深入的跟踪分析传送门 :
https://newrelic.com/
7. AppDynamics
AppDynamics是一款应用广泛的可观察性监控和分析平台,不仅允许用户对各种应用程序的每个组件进行跟踪监测,同时还提供了根本原因分析,以确定可能影响应用程序性能的潜在问题。
关键特性与不足:
可以从许多来源(如主机、容器 、云服务和应用程序)收集监控指标并跟踪分析;可以设置异常检测功能 ,对发现的异常行为进行及时检测和预警;用户可以获取较详细的性能信息并跟踪分析;由供应商维护工具,对开源工具的集成能力不足;定制选项不够灵活 ,用户不能自己定制解决方案。主要应用场景:
应用程序性能监视多云环境中的应用监控业务流程管理传送门:
https://www.appdynamics.com/
8. Helios
Helios是一款为系统开发人员提供可观察性的解决方案,提供了对应用程序流程的可操作性洞察能力 。它整合了OpenTelemetry的上下文连接框架,可以提供跨微服务、无服务器应用、数据库和第三方API的可见性。
关键特性与不足:
在完整的上下文中提供分布式跟踪信息;使用户能够从多个数据源收集和可视化跟踪数据,以深入挖掘和排除潜在问题;支持Python 、JavaScript 、Node.js 、Java 、Ruby等多种语言和框架;允许团队成员重用请求、查询和有效负载;可根据跟踪数据自动生成测试;与现有的生态系统轻松集成 ,包括日志、测试、错误监控等;只需点击几下即可再现一个精确的工作流。主要应用场景 :
分布式应用跟踪;多语言应用程序跟踪集成;无服务器应用程序监控;应用测试中的故障排除;API调用自动化。传送门:
https://app.gethelios.dev/
参考链接:
https://dzone.com/articles/11-observability-tools-you-should-know-in-2023