介绍一个prometheus监控数据生成工具

发布时间 2024-01-10 21:35:32作者: 乔闻

prometheus-data-generator

Prometheus数据模拟工具旨在通过配置文件模拟Prometheus数据,用于测试和开发目的。该工具允许您生成用于测试和开发的合成数据。

配置

工具的配置信息存储在一个YAML文件中。以下部分描述了可用的选项:

template_dir: ./templates
output_dir: ./output
template_value_dir: ./template_values

global_config:
  template_value_path: ./template_values_without_unix.json
  days: 1
  resolution_seconds: 15
  endtime_unix: 1698048047

template_without_unix_configs:
  - name: nvidia_gpu_exporter
    template_value_path: gpu_node_2.json

template_with_unix_configs:
  - name: nvidia_gpu_exporter_with_unix
    template_value_path: samples_gpu_node_1.json

全局配置

全局配置部分包含适用于所有模板的设置,这些设置在global_config键下指定。可用的选项有:

  • template_value_path: 包含模板值的JSON文件的路径。默认情况下,工具在template_values目录中查找此文件。
  • days: 生成数据的天数。默认值为30。
  • resolution_seconds: 生成数据的分辨率(秒)。默认值为15。
  • endtime_unix: 生成数据的结束时间的Unix时间戳。默认值为1698048047。

模板配置

模板配置定义了各个模板及其特定设置。有两种类型的模板配置:

  • 无Unix时间戳的模板
    在template_without_unix_configs键下定义无Unix时间戳的模板配置。每个模板配置包括以下选项:

    • name: 模板的名称。
    • template_value_path: 包含此模板特定模板值的JSON文件的路径。默认情况下,工具在template_values目录中查找此文件。
  • 带Unix时间戳的模板
    在template_with_unix_configs键下定义带Unix时间戳的模板配置。每个模板配置包括以下选项:

    • name: 模板的名称。
    • template_value_path: 包含此模板特定模板值的JSON文件的路径。默认情况下,工具在template_values目录中查找此文件。

使用

./prometheus-data-generator 
Dec  1 03:46:22.488 nvidia_gpu_exporter, 2023-10-22T08:00:47Z -> 2023-10-23T08:00:47Z, step: 15s
Dec  1 03:46:22.488 progress: 0%, 2023-10-22T08:00:47Z -> 2023-10-22T10:00:00Z
Dec  1 03:46:22.488 process template...
Dec  1 03:46:22.722 create blocks...
BLOCK ULID                  MIN TIME                       MAX TIME                       DURATION     NUM SAMPLES  NUM CHUNKS   NUM SERIES   SIZE
01HGHQR4GFSFXM8Q5SSNW7Y1RJ  2023-10-22 08:00:47 +0000 UTC  2023-10-22 09:59:47 +0000 UTC  1h59m0.001s  30528        256          64           72KiB840B
Dec  1 03:46:22.950 progress: 8%, 2023-10-22T10:00:00Z -> 2023-10-22T12:00:00Z
Dec  1 03:46:22.950 process template...
Dec  1 03:46:23.118 create blocks...

文件下载

https://github.com/gmodx/prometheus-data-generator/releases/tag/v1.0.1

源码

https://github.com/gmodx/prometheus-data-generator