使用指标监控 OpenSearch Data Prepper
您可以使用 Micrometer 通过指标监控 OpenSearch Data Prepper。指标有两种类型:JVM/系统指标和插件指标。Prometheus 用作默认的指标后端。
JVM 和系统指标
JVM 和系统指标是用于监控 Data Prepper 实例的运行时指标。它们包括类加载器、内存、垃圾回收、线程等指标。有关更多信息,请参阅 JVM 和系统指标。
命名
JVM 和系统指标遵循 Micrometer 中预定义的名称。例如,Micrometer 中内存使用情况的指标名称是 jvm.memory.used
。Micrometer 会更改名称以匹配指标系统。根据相同的示例,jvm.memory.used
会作为 jvm_memory_used
报告给 Prometheus,并作为 jvm.memory.used.value
报告给 Amazon CloudWatch。
提供服务
默认情况下,指标通过 Data Prepper 服务器上的 /metrics/sys 端点以 Prometheus scrape 格式提供。您可以配置 Prometheus 从 Data Prepper URL 抓取数据。然后 Prometheus 会轮询 Data Prepper 以获取指标并将其存储在其数据库中。为了可视化数据,您可以设置任何接受 Prometheus 指标的前端,例如 Grafana。您可以更新配置,将指标提供给其他注册表,例如 Amazon CloudWatch,这不需要或不托管端点,而是直接将指标发布到 CloudWatch。
插件指标
插件会报告自己的指标。Data Prepper 使用命名约定来帮助保持指标的一致性。插件指标不使用维度。
- AbstractBuffer
- 计数器
recordsWritten
:写入缓冲区的记录数recordsRead
:从缓冲区读取的记录数recordsProcessed
:从缓冲区读取并标记为已处理的记录数writeTimeouts
:缓冲区中的写入超时次数
- Gaugefir
recordsInBuffer
:缓冲区中的记录数recordsInFlight
:从缓冲区读取并正在由 Data Prepper 下游(例如,处理器、接收器)处理的记录数
- 计时器
readTimeElapsed
:从缓冲区读取时经过的时间checkpointTimeElapsed
:检查点操作时经过的时间
- 计数器
- AbstractProcessor
- 计数器
recordsIn
:进入处理器的记录数recordsOut
:从处理器流出的记录数
- 计时器
timeElapsed
:处理器启动时经过的时间
- 计数器
- AbstractSink
- 计数器
recordsIn
:进入接收器的记录数
- 计时器
timeElapsed
:接收器执行时经过的时间
- 计数器
命名
指标遵循 PIPELINE_NAME_PLUGIN_NAME_METRIC_NAME 的命名约定。例如,在名为 output-pipeline 的管道中,opensearch-sink 插件的 recordsIn 指标的限定名称为 output-pipeline_opensearch_sink_recordsIn。
提供服务
默认情况下,指标通过 Data Prepper 服务器上的 /metrics/sys 端点以 Prometheus scrape 格式提供。您可以配置 Prometheus 从 Data Prepper URL 抓取数据。Data Prepper 服务器端口的默认值为 4900
,您可以修改此端口,并且此端口可用于任何接受 Prometheus 指标的前端,例如 Grafana。您可以更新配置,将指标提供给其他注册表,例如 CloudWatch,这不需要或不托管端点,而是直接将指标发布到 CloudWatch。