给Prometheus造假数据的方法

GH Page地址

学习Prometheus各种函数的时候最好能够造一些我们想要的数据来测试,但是Prometheus没有提供直接操作其数据库的功能,所以在这里安利一个工具。

下面讲一下步骤:

提供假指标数据

我做了一个提供假指标的工具prometheus-mock-data。利用这个工具我们可以提供给Prometheus我们想提供给它的指标,这样便于后面的测试。

新建一个文件scrape-data.txt,内容见gist,这个文件里定义了每次Prometheus抓指标的时候所能抓到的值,这个工具会依次提供这些指标(当然你也可以写自己的假数据)。

运行:

docker run -d --rm \
  --name=mock-metrics \
  -v $(pwd)/scrape-data.txt:/home/java-app/etc/scrape-data.txt \
  -p 8080:8080 \
  chanjarster/prometheus-mock-data:latest

用浏览器访问:http://localhost:8080/metrics,刷新几次,能够看到指标数据在循环显示。

启动Prometheus

新建配置文件:

scrape_configs:
  - job_name: 'mock'
    scrape_interval: 15s
    static_configs:
    - targets:
      - '<docker-host-machine-ip>:8080'

注意:Data point的间隔通过scrape_interval参数控制。

启动:

docker run -d \
    --name=prometheus \
    -p 9090:9090 \
    -v $(pwd)/prom-config.yml:/prometheus-config/prom-config.yml \
    prom/prometheus --config.file=/prometheus-config/prom-config.yml

打开http://localhost:9090看看是不是抓到指标了。

启动Grafana

docker run -d \
    --name=grafana \
    -p 3000:3000 \
    grafana/grafana

在Grafana里配置Prometheus数据源,然后作图。

相关推荐