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

注意:上述主机名和端口仅为示例,可以根据需要进行更改。
测试写后指标导出器
使用以下命令启动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引擎,则上述指标的实际值可能为0(在这种情况下,
state
标签也应指示这一点)。在观察任何指标之前,您必须创建并配置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://
(将
替换为有效的Prometheus主机名或IP地址)。
使用表达式浏览器探索写后指标。
在表达式框中,输入一个指标名称(例如,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指标导出器的数据源:

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

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