Я хочу отслеживать различные серверы с помощью Prometheus, которые загружаются экспортерами, такими как node-exporter или postgres-exporter. Метрики должны быть представлены в Grafana в виде информационных панелей и предупреждений.
Экспортеры будут импортированы следующими целями в prometheus.yml:
Глобальный:
скреб_интервал: 15 с
внешние_метки:
монитор: 'codelab-монитор'
scrape_configs:
- job_name: 'узел-экспортер'
скреб_интервал: 5 с
статические_конфигурации:
- цели: ['123.123.123.1:9100', '123.123.123.2:9100', '123.123.123.3:9100']
- job_name: 'postgres-exporter'
статические_конфигурации:
- цели: ['123.123.123.3:9187']
Невозможно связать серверы с помощью удобного для пользователя URL-адреса/имени хоста.
Я хочу создать дашборды и оповещения для этих целей в Grafana, но с той целью, чтобы в дашбордах и оповещениях отображались не IP-адреса хостов, а их имена хостов.
Панель инструментов будет иметь два разных раздела:
1. Графики метрик конкретных серверов, отобранных фильтром переменных, например
2. Графики показателей всех серверов с меткой экземпляра, например
За Дело 1 Я нашел решение для отображения имен хостов вместо IP-адресов в раскрывающемся фильтре. Для этого я создал две переменные:
Имя |
Запрос |
Этикетка |
Скрывать |
имя хоста |
label_values (имя узла) |
Хозяин: |
|
пример |
label_values(node_uname_info{nodename="$hostname"}, экземпляр) |
|
Переменная |
Метрика панели фильтруется по переменной $экземпляр
:
100 - скорость (node_cpu_seconds_total{mode="idle", instance="$instance"}[1m]) * 100
в случай 2, у меня не получается. Я хочу установить имена хостов под графиками панели. Но в Легенда
-field Я могу получить доступ только к экземпляру (комбинации IP/порта) метрики, а не к имени хоста:
я не могу получить доступ к $имя хоста
-переменная в Легенда
-поле.
Итак, как я могу поместить имя хоста под графиками панели? Есть ли внутренний способ Grafana или мне нужно манипулировать prometheus.yml?