Общий доступ подчиненных Prometheus устанавливается следующим образом, статус повышен, но данные не могут быть найдены. Где моя ошибка происходит? - PullRequest
0 голосов
/ 24 апреля 2018

Я хочу построить горизонтальные расширения, реализовать тотальный прометей, и контролировать два дочерних узла прометея. Например: Узлы A, B: Мониторинг Node_exporter и mysql_export данных;

Общее количество Prometheus находится на главном компьютере C, а дочерние узлы на хостах A и B. соответственно.

Главный узел настроен следующим образом:

prometheus.yml (host_C):

global:

rule_files:
#  - node_rules/zep.test.rules 


scrape_configs:
  - job_name: slaves

    honor_labels: true
    scrape_interval: 1s
    metrics_path: /federate

    params:
      match[]:
         - '{__name__=~"^job:.*"}'
         - '{__job__=~"^job:.*"}'

    static_configs:
      - targets:
         - hostA_ip:9090
         - hostB_ip:9090

Дочерние узлы настроены следующим образом:

slaves1.yml (host_A):

global:

  external_labels:
    slave: 0 


rule_files:

scrape_configs:
  - job_name: myjob_1
    scrape_interval: 1s

    file_sd_configs:
      - files: ['./mytest.json']

    relabel_configs:
      - source_labels: [__address__]
        modulus:       2   
        target_label:  __tmp_hash
        action:        hashmod

      - source_labels: [__tmp_hash]
        regex:         ^0$ 
        action:        keep

slaves2.yml (host_B):

global:

  external_labels:
    slave: 1 


rule_files:

scrape_configs:
  - job_name: myjob_2
    scrape_interval: 1s

    file_sd_configs:
      - files: ['./mytest.json']

    relabel_configs:
      - source_labels: [__address__]
        modulus:       2   
        target_label:  __tmp_hash
        action:        hashmod

      - source_labels: [__tmp_hash]
        regex:         ^1$ 
        action:        keep

mytest.json:

[{
    "targets": [
        "hostA_ip:9100",
        "hostA_ip:9104"
    ],
    "labels": {
        "services": "dba_test"
    }
}]

запустите:

./prometheus --web.listen-address="hostA_ip:9090" --storage.tsdb.path="global_data/" --config.file="prometheus.yml" --web.enable-admin-api
./prometheus --web.listen-address="hostB_ip:9090" --storage.tsdb.path="data1/" --config.file="slave1.yml" --web.enable-admin-api
./prometheus --web.listen-address="hostC_ip:9090" --storage.tsdb.path="data2/" --config.file="slave2.yml" --web.enable-admin-api

1 Ответ

0 голосов
/ 05 июня 2018

Причина этой проблемы в том, что подстановочные знаки не совпадают.Официальный веб-сайт предоставляет ___job____, но фактическое использование - это работа.

Конкретный также будет смотреть на 9090 под статусом страницы Конкретные цели , не все.в соответствии с официальным, чтобы обеспечить конфигурацию

...