附录 常用度量工具与软件库

市场上的度量方案"百花齐放",度量相关的开源和商业软件汗牛充栋。 本附录对常用工具做简要介绍。

A.1 开源软件

A.1.1 数据采集

Telegraf

Telegraf 是 InfluxData 开发的服务器代理,用于采集、处理和写入度量数据。 支持数百种输入输出插件。

Filebeat

Elastic 的轻量级日志采集器,用于将日志数据转发到 Logstash 或 Elasticsearch。

OpenTelemetry Collector

CNCF 的统一可观测性数据采集器,支持 Metrics、Traces 和 Logs。

Prometheus Node Exporter

用于暴露 Unix/Linux 系统级别的度量数据。

A.1.2 数据存储

Elasticsearch

基于 Apache Lucene 的高度可扩展的开源全文搜索和分析引擎。 可以快速、近实时地存储、搜索和分析大量数据。

InfluxDB

开源的时间序列数据库,为快速并且高可靠性的时间序列数据存取做了优化。

Prometheus

开源的系统监控和报警工具包,采用 Pull 模型采集度量数据, 内置强大的查询语言 PromQL。

VictoriaMetrics

高性能、低成本的时序数据库,兼容 Prometheus 协议。

ClickHouse

列式存储数据库管理系统,适用于在线分析处理 (OLAP)。

A.1.3 数据处理

Logstash

开源的服务器端数据处理管道工具,可以同时从多个源中提取数据, 对其进行转换,然后发送到目的地。

Apache Kafka

分布式流处理平台,用于构建实时数据管道和流式应用。

Apache Flink

分布式流处理框架,支持有状态的实时计算。

A.1.4 数据展示

Grafana

开源的度量分析与可视化平台,支持多种数据源。

Kibana

Elastic 的数据可视化套件,为 Elasticsearch 提供图表和仪表盘。

A.1.5 监控告警

Alertmanager

Prometheus 配套的告警管理工具,负责去重、分组、路由和抑制告警。

Grafana Alerting

Grafana 内置的告警功能,支持多种通知渠道。

A.1.6 分布式追踪

Jaeger

Uber 开源的端到端分布式追踪系统,源于 Dapper 和 OpenZipkin。

Zipkin

Twitter 开源的分布式追踪系统。

SkyWalking

Apache 开源的 APM 系统,支持分布式追踪、度量分析和日志关联。

A.1.7 其他工具

Graphite

Python 编写的 Web 应用,用于收集和展示时间序列数据。

Nagios

经典的系统和网络监控工具。

Zabbix

企业级的分布式监控平台。

collectd

系统统计信息收集守护进程。

A.2 商业软件

商业度量软件

产品

厂商

特点

Datadog

Datadog

全栈可观测性平台,SaaS

New Relic

New Relic

APM 和基础设施监控

Dynatrace

Dynatrace

AI 驱动的全栈监控

Splunk

Cisco (Splunk)

日志分析和安全信息

AWS CloudWatch

Amazon

AWS 原生监控服务

Azure Monitor

Microsoft

Azure 原生监控服务

Google Cloud Monitoring

Google

GCP 原生监控服务

PagerDuty

PagerDuty

事件管理和告警路由

A.3 度量类库

度量类库汇总

类库

语言

说明

Micrometer

Java

厂商中立的度量门面,Spring Boot 默认集成

Dropwizard Metrics

Java

成熟的 Java 度量库

prometheus_client

Python

Prometheus 官方 Python 客户端

opentelemetry-python

Python

OpenTelemetry Python SDK

client_golang

Go

Prometheus 官方 Go 客户端

opentelemetry-go

Go

OpenTelemetry Go SDK

prom-client

Node.js

Prometheus Node.js 客户端

opentelemetry-js

JavaScript

OpenTelemetry JavaScript SDK