30.11.2022

Архитектура мониторинга Windows-инфраструктуры компании Hostkey

server one
HOSTKEY
Арендуйте выделенные и виртуальные серверы с моментальным деплоем в надежных дата-центрах класса TIER III в Москве и Нидерландах. Принимаем оплату за услуги HOSTKEY в Нидерландах в рублях на счет российской компании. Оплата с помощью банковских карт, в том числе и картой МИР, банковского перевода и электронных денег.

Автор: Senior Devops. Ведущий специалист по инфраструктуре Hostkey Никита Зубарев

Ранее мы рассказали о том, как выполняется мониторинг Linux-систем. Теперь рассмотрим, как настроить Windows Server.

В одной из прошлых статей мы говорили об интеграции FreeIPA с Active Directory. В процессе разработки решения, описанного в этой статье, у нас возникла потребность снимать метрики с серверов Windows-инфраструктуры. В данной статье мы рассмотрим, как можно наладить мониторинг для серверов с ОС Windows, используя существующую систему, построенную на связке Prometheus + Grafana + Alertmanager. Собирать будем общие системные метрики: cpu, ram, hdd.
Экспортер WMI также можно использовать для мониторинга сайтов и приложений IIS, сетевых интерфейсов, служб и даже локальной температуры.

Установка Windows Exporter для мониторинга служб Windows

Для установки Windows Exporter необходимо выполнить несколько действий:

  1. Скачать последнюю версию Windows Exporter с GitHub, выбрав архив .zip или .tar.gz.
  2. Создать папку с именем "Prometheus" на диске C или в другом месте.
  3. Распаковать скачанный архив Windows Exporter. В нем находится файл windows_exporter.exe.
  4. Скопировать windows_exporter.exe в папку “Prometheus”.

Затем необходимо создать конфигурационный файл YAML для Windows Exporter. Он позволит указать службы, которые необходимо поставить на мониторинг.

В нашем примере это сервис LicenseManager.

Windows Exporter можно запустить двумя способами: вручную и в качестве службы Windows.

  1. Для запуска вручную необходимо:
    • Открыть командную строку от имени администратора.
    • Перейти в папку с windows_exporter.exe, например: cd C:\Prometheus.
    • Запустить Windows Exporter с указанием конфигурационного файла с помощью команды: .\windows_exporter.exe --config.windowsconfig="kms.yml".
    • Теперь Windows Exporter будет работать в режиме мониторинга в текущей сессии.
  2. Для настройки как службы Windows необходимо:
    • Открыть командную строку от имени администратора.
    • Создать службу Windows Exporter командой:
      sc create WindowsExporter binPath= "C:\Prometheus\windows_exporter.exe --config.windowsconfig=C:\Prometheus\kms.yml" start=auto
    • Запустить службу командой sc start WindowsExporter:
      A:\Windows\system32>sc create WindowsExporter binpath= "C:\Prometheus\windows_exporter.exe --config.windowsconfig=C:\Prometheus\windows_exporter.yml"=auto
      [SC] CreateService: success
      
      A:\Windows\system32>sc start WindowsExporter

Подробную информацию о средстве экспорта WMI можно посмотреть на GitHub.
После установки необходимого экспортера следует перейти в панель «Службы Windows» (достаточно просто ввести «Службы» в меню поиска Windows) и найти в списке запись WMI exporter. Далее необходимо проверить, что сервис работает правильно.

Если экспортер запущен, он должен начать предоставлять метрики на http://localhost:9182/metrics, по аналогии с Node Exporter. Остается подключить сбор метрик в Prometheus, добавить дашборд и настроить алертинг:

Добавить в prometheus.yml:

  - job_name: 'Windows_Infra'
	static_configs:
		- targets: ['”localhost”:9182'] 

Добавить Grafana dashboard, который отслеживает отображение информационной панели, подключает и оптимизирует вывод подробной сводки ресурсов. В результате получаем визуальную панель по каждому хосту:

Осталось описать rule_files, добавив необходимые метрики:

 groups:
	- name: Windows_Infra
		rules:
		- alert: InstanceDown
			expr: up{job="Windows_Infra"} == 0
			for: 5m
			labels:
				severity: page
			annotations:
				summary: "Instance {{ .instance }} down"
				description: "{{ .instance }} of job {{ .job }} has been down for more than 5 minutes."
	
		- alert: DiskSpaceUsage
			expr: 100.0 - 100 * (windows_logical_disk_free_bytes{job="Windows_Infra"} / windows_logical_disk_size_bytes{job="Windows_Infra"}) > 90
			for: 10m
			labels:
				severity: high
			annotations:
				summary: "Disk Space Usage (instance {{ $labels.instance }})"
				description: "Disk Space on Drive is used more than 90%\n  VALUE = {{ $value }}\n  LABELS: {{ $labels }}"

Аналогичным образом добавляем другие необходимые параметры. При настроенном Alertmanager сообщения нотификаций автоматически будут приходить в подключенные системы.

Как видите, мониторинг серверов Windows можно легко выполнить с помощью Prometheus и Grafana. Это решение значительно упрощает процесс управления большим парком машин и позволяет оперативно решать проблемы, возникающие при администрировании серверного оборудования в нашей компании.В следующих статьях рассмотрим задачу подключения служб Windows.

Арендуйте выделенные и виртуальные серверы с моментальным деплоем в надежных дата-центрах класса TIER III в Москве и Нидерландах. Принимаем оплату за услуги HOSTKEY в Нидерландах в рублях на счет российской компании. Оплата с помощью банковских карт, в том числе и картой МИР, банковского перевода и электронных денег.

Другие статьи

29.10.2025

Осенние будни DevOps: Debian 13 и Proxmox VE 9.0 в продакшене HOSTKEY

Новая версия Debian 13 и релиз Proxmox VE 9.0 пришли почти одновременно, вызвав ажиотаж у клиентов. В статье рассказываем, как команда HOSTKEY адаптировала свои процессы, автоматизировала деплой и подготовила инфраструктуру под свежие релизы.

22.10.2025

Чек-лист: 5 признаков, что вашему бизнесу пора переезжать с облака на выделенный сервер

Платите за облако, но всё делаете сами? При бюджете от 5 000 ₽ выделенный сервер выгоднее. Смотрите чек-лист и тесты cloud vs bare metal.

29.09.2025

Что делать, если ваш ноутбук сломался? Как Kasm превратит даже старый планшет в рабочую станцию

Когда технические сбои прерывают работу, Kasm Workspaces становится спасением, превращая устаревшие устройства в полноценные рабочие станции через браузер. В статье рассматривается, как платформа решает проблемы сломанных ноутбуков и дефицита оборудования, сравниваются версии (Community, Starter, Enterprise, Cloud), анализируются требования к ресурсам и результаты тестирования на VPS.

24.09.2025

Замена Google Meet в условиях блокировок: Jitsi Meet и другие альтернативы для бизнеса

Когда Google Meet внезапно начал «тормозить» в России, мы оказались перед выбором: Zoom, Яндекс Телемост, NextCloud или self-hosted решения. После тестов мы остановились на Jitsi Meet на VPS и проверили его в боевых условиях. Делимся опытом и подводными камнями.

18.09.2025

Мониторинг SSL-сертификатов в oVirt Engine: как мы научились спать спокойно благодаря Go и Prometheus

Как избежать простоев и сбоев из-за просроченных SSL-сертификатов? Мы в HOSTKEY разработали простой, но надёжный инструмент на Go для oVirt Engine, интегрированный с Prometheus и Grafana. Теперь система сама предупреждает о проблемах — задолго до их возникновения.

Upload