监控指南

监控写后引擎和数据处理作业

写后操作累积了操作统计信息,您可以:

  • 观察和分析以发现各种类型的问题。
  • 用于优化目的。

控制台指标

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://:9090/graph(将替换为有效的Prometheus主机名或IP地址)。

使用表达式浏览器探索写后指标。

在表达式框中,输入一个指标名称(例如,rdi_engine_state),然后选择EnterExecute按钮以查看以下结果:

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引擎及其各个作业的状态。按照以下步骤导入仪表板:

  1. 仪表板文件下载到您的本地机器。

  2. 登录Grafana并导航到仪表板列表,然后选择新建 > 导入

  1. 在下一个屏幕上,选择上传JSON文件并上传您在步骤1中下载的文件。确保选择连接到Write-behind指标导出器的数据源:
  1. 选择导入并确保从下拉列表中选择要监控的作业(如果还没有任何作业在运行,这将为空):

写后指标

此列表显示了导出的写后指标及其描述:

指标名称 标签 描述
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引擎处理所花费的时间(以毫秒为单位)。如果没有待处理的记录,它将始终返回零。
RATE THIS PAGE
Back to top ↑