Немного расскажу про установку Grafana на windows и настройку базовых метрик системы.
Пару слов о самой Grafana и для чего она нужна.
Grafana – это платформа для мониторинга, анализа данных и визуализации собранных данных с открытым исходным кодом. По сути она используется для визуального представления собранных метрик для более комфортного слежения за состоянием системы.
В данной статье буду использовать:
- Grafana
- Prometheus
- Windows_exporter
- Blackbox_exporter
Для начала скачаем актуальный дистрибутив самой Grafana и установим его (Для скачивания, может потребоваться VPN).
Переходим по ссылке: https://grafana.com/grafana/download и выбираем необходимую версию для скачивания.

Затем скачаем и установим Prometheus.
Prometheus по сути является сборщиком метрик. Установив на один пк, который будет выступать в качестве сервера для Grafana, достаточно будет только запускать сбор метрик с других машин (вносить соответствующий блок в файл конфигурации Prometheus), а Prometheus в свою очередь подготовит метрики уже для самой Grafana.
Prometheus: https://prometheus.io/download
Для установки потребуется NSSM - это сервисный помощник, который помогает установить служебные вспомогательные программы.
Ссылка NSSM: https://www.nssm.cc/download
Приступим к установке Prometheus.
Переходим в CMD и вводим следующие команды (запускаем CMD от админа):
- Переходим в директорию с пакетом NSSM:
cd C:\GrafanaSetup\nssm-2.24\win64
- Выполняем установку сервиса Prometheus:
nssm.exe install prometheus C:\GrafanaSetup\prometheus-2.43.0.windows-amd64\prometheus.exe

На данном этапе служба Prometheus должны быть установлена, Далее установим службы для сбора метрик.
Установим Windows_exporter – сборщик метрик, который как раз собирает статистику с системы и составляет своего рода «логи».
Ссылка для скачивания Windows exporter: https://github.com/prometheus-community/windows_exporter/releases
Выбираем подходящую нам версию и устанавливаем

После установки, так же проверяем в службах, что установка прошла успешно и служба запущена (название службы по умолчанию windows_exporter).
Теперь можно проверить сбор метрик по ссылке к порту службы: http://localhost:9182/metrics

На данном этапе можем установить Blackbox exporter - используется для мониторинга статуса доступности URL-ов. Переходим по ссылка и скачиваем нужную нам версию Blackbox: https://prometheus.io/download/ и устанавливаем.

Теперь приступим к настройке установленных сервисов.
Начинаем с Grafana:
Переходим в папку C:\Program Files\GrafanaLabs\grafana\conf
и открываем файл defaults.ini
при помощи текстового редактора и меняем значение в блоке smtp в поле enabled на true и сохраняем изменения. Запускаем службу Grafana, если она уже запущена, просто делаем перезапуск для вступления изменений в силу.

Перейдя по ссылке: http://localhost:3000
увидим активный интерфейс Grafana. Для входа по умолчанию используется комбинация admin / admin, затем попопросит Вас изменить пароль и направит на домашнюю страницу управления Grafana.
Далее приступаем к настройке Prometheus: нам необходимо внести изменения в конфигурацию, включив метрики в конфиг. Для этого переходим в каталог prometheus») и открываем файл prometheus.yml и вносим следующие изменения:
Добавляем блок для подключения windows_exporter:
- job_name: "Любое комфортное имя"
static_configs:
#IP-адрес и порт, где собираются метрики window_exporter\
- targets: ["localhost:9182”]
При добавлении нескольких машин, можно добавить блок lables, который изменит отображаемый IP-адрес на свое описание:
static_configs:
- targets: ["localhost:9182"]
labels:
instance: Server-1
- targets: ["192.168.0.254:9182"]
labels:
instance: Server-2
Сразу добавим блок для blackbox_exporter:
- job_name: 'blackbox'
metrics_path: /probe
params:
module: [http_2xx] # Look for a HTTP 200 response.
static_configs:
- targets:
-https://youtube.com
-https://google.com
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: localhost:9115 # The blackbox exporter's real hostname:port
В блоке targets перечисляем необходимые URL-адреса.
Только обратите внимание, для того, что бы блок корректно заработал и не было ошибок при запуске службы, необходимо строго соблюдать табуляцию строк.
Добавив необходимые блоки можем запускать prometheus.
Затем убедитесь, что все службы запущены:
- Grafana
- Prometheus
- Windows_exporter
- Blackbox_exporter
и теперь проверяем статус сервисов по ссылке: http://localhost:9090/targets

В целом мы настроили базовые метрики, осталось включить отображение метрик в Grafana.
Переходим на главную страницу grafana ( по умолчанию: http://localhost:3000
).
Подключаем источник данных Prometheus:
На главной странице, переходим в меню Data sources

Выбираем наш Prometheus

И указываем наш URL. В нашем случае, всё находится на одной локальной машине и можем прописывать через формат: http://localhost:port/

И нажимаем кнопку: Save & test

Теперь необходимо настроить панели мониторинга для метрик windows exporter. Для настройки переходим на главную страницу и добавляем панель:

На момент написания статьи, нашёл два наиболее охватывающих Dashboard`а:
- 14510
- 14694
Можете использовать их или же настроить всё самостоятельно.
Для добавления Dashboard`а указываем в поле ID и нажимаем на кнопку Load.

Затем нас направляет на панель настроек, где мы указываем источник данных Prometheus и можем изменить имя самой панели. Затем жмём кнопку Import.
И у нас уже готовая, настроенная панель мониторинга, которую уже можно добавлять необходимым функционалом. Не нужные графики можно удалить или расставить в нужном для себя порядке.

При добавлении новых пк для мониторинга, достаточно внести строки в конфигурационный файл Prometheus.yml и перезапустить службу Prometheus. Служба самостоятельно разберёт метрики и добавить новый пк к мониторингу на уже готовый dashboard, где уже не составит труда переключаться между пк.
Далее уже можно поиграть с конкретными метриками, и отображением конкретных служб с различных машин. К примеру: на главном экране нажимаем ADD » Visualization и попадаем в меню создания панели. В поле Metrics browser вносим выбранную метрику и указываем параметры, которые хотим получить (ну или отобразить). Сделаем на примере службы windows:
- Name - имя службы
- State - вид статуса, который относится к метрике windows_service_state
- Instance - с какой конкретной машины брать метрику.
windows_service_state{name="нужная служба", state="running", instance="Server-1"}
и в правом верхнем углу выбираем нужный вид панели, в моем случае это Stat:

В параметрах панели в меню Value mappings и меняем цифровые значения метрик на удобные для восприятия слова, к примеру: Ok/Bad Up/Down.

Сохраняем и получаем такую панель:

Ну и настроим метрику для получения статусов HTTP:
Используем метрику: probe_http_status_code и настроим Value mapping:
probe_http_status_code{instance="https://youtube.com"}

И в итоге получаем такую панель:

Далее можно самостоятельно зайти в http://localhost:9090/targets
выбрать нужные для своих задач метрики и настроить нужные под свои задачи.
Думаю, на этом можно закончить. Базовая настройка не так сложна, но когда ты сталкиваешься с этим в первый раз, могут возникнуть трудности, поэтому хотел поделиться пошаговой настройкой. Надеюсь, кому-то это поможет и сократить достаточно времени на поиске информации и первичной настройки.