我正在尝试使用Prometheus
推送Pushgateway
中的指标,但无法完成任务。
这是代码:
var client = require('prom-client');
var gateway = new client.Pushgateway('http://localhost:9091');
gateway.pushAdd({ jobName: 'test', group : "production" }, function(err, resp, body){
});
普罗米修斯配置:
scrape_interval: 15s
evaluation_interval: 15s
external_labels:
monitor: 'codelab-monitor'
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
scrape_configs:
- job_name: 'example-random'
scrape_interval: 5s
static_configs:
- targets: ['localhost:8080', 'localhost:8081']
labels:
group: 'production'
- targets: ['localhost:8082']
labels:
group: 'canary'
scrape_configs:
- job_name: 'test '
static_configs:
- targets: ['localhost:9091']
答案 0 :(得分:0)
您的prometheus配置存在一些问题 - 请查看Prometheus github repo example和docs以供将来参考。
一个问题是您有多个scrape_configs
。
您在Prometheus的配置中只能有一个scrape_configs
。
另一个问题是每项工作只能有一个static_configs
。
其余的主要原因是格式不正确。
下面编辑的配置现在适合您:
global:
scrape_interval: 15s
evaluation_interval: 15s
external_labels:
monitor: 'codelab-monitor'
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
- job_name: 'production'
static_configs:
- targets: ['localhost:8080', 'localhost:8081']
labels:
group: 'production'
- job_name: 'canary'
static_configs:
- targets: ['localhost:8082']
labels:
group: 'canary'
- job_name: 'test'
static_configs:
- targets: ['localhost:9091']
同样重要的是要注意来自Pushgateway的指标不会被推到普罗米修斯。 Prometheus是基于拉力的,将从Pushgateway本身拉出指标。 Pushgateway收集的指标由短暂和批处理作业推送给它。