监控指南
监控 Write-behind 引擎和数据处理作业
Write-behind 累积了您可以进行的操作统计信息
- 观察和分析以发现各种类型的问题。
- 用于优化目的。
控制台指标
Write-behind 可以使用 redis-di status
命令在控制台中显示其操作指标。该命令提供有关当前 Write-behind 引擎状态、目标数据库配置以及按流划分的处理统计信息。此工具旨在供操作员使用,以获取系统的当前快照以及监控正在进行的数据处理(在实时模式下使用时)。
Prometheus 集成
Write-behind 允许收集其指标并将其导出到 Prometheus 并在 Grafana 中可视化。操作员可以使用 redis-di monitor
命令启动内置导出器。该图描述了此流程和涉及的组件

注意:上面的主机名和端口仅为示例,可根据需要更改。
测试 Write-behind 指标导出器
使用以下命令启动 Write-behind 指标导出器
redis-di monitor
注意:导出器的默认端口是
9121
。如果需要更改,请使用--exporter-port
选项。默认的指标收集间隔为 5 秒。如果需要更改,请使用--collect-interval
选项。
然后导航到 http://localhost:9121/
查看导出的指标。您应该能够看到以下指标
rdi_engine_state{state="RUNNING",sync_mode="UNKNOWN"} 1.0
注意:如果您尚未启动 Write-behind 引擎(在这种情况下,
state
标签也应指示此状态),则上述指标的实际值可能为 0。您必须在观察任何指标之前创建并配置 Write-behind 数据库。如果您没有看到它或看到错误值,则表明 Write-behind 数据库配置不正确。
配置 Prometheus
接下来,配置 Prometheus 抓取器。编辑 prometheus.yml
文件以添加以下抓取器配置
scrape_configs:
# scrape Write-behind metrics exporter
- job_name: rdi-exporter
static_configs:
- targets: ["redis-exporter:9121"]
注意
- 确保上面的
targets
值指向您配置的用于运行 Write-behind 指标导出器的主机和端口。 - Prometheus 中的
scrape_interval
设置应与导出器的collect_interval
设置相同或更高。例如,如果collect_interval
设置为 5 秒,则scrape_interval
也应设置为 5 秒或更长时间。如果scrape_interval
设置得小于collect_interval
,则 Prometheus 会在导出器有机会收集和刷新指标之前抓取,您将在 Prometheus 中看到重复的值。
测试 Prometheus 抓取器
将抓取器配置添加到 Prometheus 配置后,您现在应该能够导航到 http://<HOSTNAME>:9090/graph
(将 <HOSTNAME>
替换为有效的 Prometheus 主机名或 IP 地址)。
使用表达式浏览器探索 Write-behind 指标。
在表达式框中,键入指标名称(例如,rdi_engine_state
),然后按 Enter
或 Execute
按钮查看以下结果
rdi_engine_state{instance="redis-exporter:9121", job="rdi-exporter", status="RUNNING", sync_mode="UNKNOWN"} 1
注意:如果 Write-behind 引擎已经处理了一些数据,您可能会看到不止一个 Write-behind 指标。如果您没有看到任何指标,请检查您在 Prometheus 中的抓取作业配置。
使用 Grafana 分析指标
(可选)您可以部署示例 Grafana 面板来监控 Write-behind 引擎及其各个作业的状态。按照以下步骤导入面板
-
将 面板文件 下载到您的本地计算机。
-
登录 Grafana 并导航到面板列表,然后选择 新建 > 导入

- 在下一屏幕上,选择 上传 JSON 文件 并上传您在步骤 1 中下载的文件。确保您选择连接到 Write-behind 指标导出器的数据源

- 选择 导入 并确保从下拉列表中选择要监控的作业(如果您还没有任何作业运行,此列表将为空)

Write-behind 指标
此列表显示导出的 Write-behind 指标及其描述
指标名称 | 标签 | 值 | 描述 |
---|---|---|---|
rdi_engine_state | {status=RUNNING | STOPPED, sync_mode=SNAPSHOT | STREAMING | UNKNOWN} | 0, 1 | Write-behind 引擎的状态。0 - Write-behind 引擎已停止,1 - Write-behind 引擎正在运行。Sync mode 标签指示上次报告的摄取同步模式。 |
rdi_incoming_entries | {data_source=<stream name> , operation=pending | inserted | updated | deleted | filtered | rejected} |
<记录数> |
计数器,指示为每个流执行的操作数。 |
rdi_stream_event_latency_ms | {data_source=<stream name> } |
0 - ∞ | 为每个流计算的延迟。指示第一个可用记录在流中等待 Write-behind 引擎处理的毫秒时间。如果没有待处理的记录,它将始终返回零。 |