1. Скачайте windows_exporter-'version'-amd64.msi
http://IP-адрес_сервера:9182/metrics или http://localhost:9182/metrics
В конфигурации для Prometheus Windows Exporter, указывают, какие метрики (например, ЦП, дисковое пространство, сеть, службы, процессы, IIS) следует собирать с сервера Windows для мониторинга состояния и производительности системы.
Остановите службу windows_exporter.
Создайте в папке C:\Program Files\windows_exporter файл с именем config.yml и содержимым
collectors:
enabled: cpu,logical_disk,net,os,cs,service,system,process,scheduled_task,iis
collector:
service:
include: "windows_exporter|mssqlserver|sqlserveragent|reportserver|mscrmasyncservice"
scheduled_task:
include: /Acme/.+
Выполните команду в консоли (cmd):
sc config windows_exporter binPath= "C:\Program Files\windows_exporter\windows_exporter.exe --config.file=\"C:\Program Files\windows_exporter\config.yml\" --log.file eventlog"
Запустить службу windows_exporter.
Пояснение к конфигурации:
Prometheus Windows Exporter представляет собой агент мониторинга, который собирает метрики производительности серверов под управлением операционной системы Windows и предоставляет их в формате, понятном для системы мониторинга Prometheus. Этот инструмент стал незаменимым компонентом современной инфраструктуры, позволяя системным администраторам и DevOps-инженерам отслеживать состояние серверов, выявлять проблемы на ранних стадиях и принимать обоснованные решения по оптимизации ресурсов. В отличие от Linux-систем, где используется Node Exporter, Windows требует специализированного решения из-за особенностей архитектуры и доступа к системным показателям.
Внедрение Windows Exporter в инфраструктуру мониторинга обеспечивает сбор широкого спектра метрик: загрузку процессора, использование оперативной памяти, активность дисковых подсистем, сетевой трафик, состояние служб Windows, производительность баз данных и многое другое. Экспортер работает как служба Windows, постоянно собирая данные и предоставляя их через HTTP-интерфейс, к которому обращается сервер Prometheus с заданной периодичностью. Такая архитектура обеспечивает минимальную нагрузку на целевую систему и высокую надежность процесса мониторинга.
Перед началом установки Windows Exporter необходимо убедиться, что система соответствует минимальным требованиям и правильно настроена. Экспортер поддерживает все современные версии Windows Server начиная с Windows Server 2012 R2, а также клиентские версии операционной системы от Windows 8.1 и новее. Рекомендуется использовать актуальные версии Windows с установленными последними обновлениями безопасности, так как это исключает потенциальные проблемы совместимости и уязвимости.
Системные требования Windows Exporter минимальны и не создают существенной нагрузки на сервер. Для стабильной работы достаточно выделить около 50-100 МБ оперативной памяти и менее одного процента процессорного времени в обычном режиме работы. Дисковое пространство для самого приложения требуется не более 30 МБ, однако следует учитывать место для логов, если их ведение будет активировано. Сетевые требования включают открытый порт для доступа сервера Prometheus к экспортеру, по умолчанию используется порт 9182.
Проверка прав доступа является критическим этапом подготовки. Для установки Windows Exporter как службы требуются права локального администратора на целевом сервере. После установки служба работает под учетной записью Local System, что дает ей доступ к большинству системных счетчиков производительности без дополнительных настроек. Если в вашей инфраструктуре применяются строгие политики безопасности, может потребоваться создание специальной учетной записи службы с делегированными правами для чтения счетчиков производительности.
Windows Exporter распространяется как открытое программное обеспечение через репозиторий GitHub проекта Prometheus Community. Официальная страница релизов содержит скомпилированные бинарные файлы для различных архитектур процессоров, что избавляет от необходимости самостоятельной компиляции исходного кода. Для производственных серверов настоятельно рекомендуется использовать стабильные релизы, помеченные как Release, а не предварительные версии или сборки из основной ветки разработки.
При выборе версии для загрузки обратите внимание на архитектуру вашей системы. Современные серверы работают на 64-битной архитектуре, поэтому следует загружать файл с пометкой amd64. Дистрибутив представлен в виде MSI-установщика, который обеспечивает простую установку через графический интерфейс или автоматизированное развертывание через групповые политики или системы управления конфигурацией. Альтернативно доступен ZIP-архив с исполняемым файлом для ручной установки и настройки.
Проверка целостности загруженного файла обеспечивает безопасность установки и исключает возможность использования поврежденного или модифицированного дистрибутива. На странице релизов публикуются контрольные суммы SHA256 для каждого файла. Используйте встроенную утилиту PowerShell для проверки хеша загруженного установочного пакета и сравните результат с опубликованным значением. Совпадение контрольных сумм подтверждает подлинность и целостность дистрибутива.
MSI-установщик Windows Exporter представляет собой наиболее удобный способ развертывания для большинства сценариев использования. Запуск установочного файла с правами администратора открывает стандартный мастер установки Windows, который пошагово проводит через процесс настройки. Первый экран приветствия содержит информацию о лицензии MIT, под которой распространяется программное обеспечение, что позволяет использовать его в коммерческих целях без ограничений.
Выбор компонентов установки позволяет определить, какие коллекторы метрик будут активированы по умолчанию. Windows Exporter включает десятки специализированных коллекторов для различных подсистем: CPU для процессора, Memory для оперативной памяти, LogicalDisk для дисковых разделов, NetworkInterface для сетевых адаптеров, Service для служб Windows и многие другие. Для типового мониторинга сервера рекомендуется активировать базовый набор коллекторов, включающий CPU, Memory, LogicalDisk, NetworkInterface, OS и System. Специализированные коллекторы, такие как MSSQL для Microsoft SQL Server или IIS для веб-сервера, следует включать только на серверах, где работают соответствующие службы.
Настройка параметров службы выполняется на следующем этапе установки. Здесь определяется порт, на котором Windows Exporter будет принимать запросы от Prometheus, путь для метрик и дополнительные параметры безопасности. По умолчанию используется порт 9182, но в случае конфликта с другими приложениями его можно изменить на любой свободный порт в диапазоне от 1024 до 65535. Путь метрик обычно оставляют стандартным как /metrics, что соответствует общепринятым практикам и упрощает интеграцию.
Завершение установки автоматически регистрирует Windows Exporter как службу Windows и запускает её с типом запуска «Автоматически». Это означает, что после перезагрузки сервера экспортер запустится автоматически без необходимости ручного вмешательства. Установщик также создает правило в брандмауэре Windows, разрешающее входящие подключения к указанному порту экспортера, что избавляет от необходимости ручной настройки файрвола в большинстве случаев.
Ручная установка Windows Exporter из ZIP-архива предоставляет больше контроля над процессом развертывания и полезна в сценариях автоматизации через скрипты или системы управления конфигурацией. После распаковки архива в выбранную директорию, обычно в Program Files или специальную папку для служб мониторинга, необходимо вручную зарегистрировать службу Windows. Исполняемый файл windows_exporter.exe содержит встроенные команды для управления службой через параметры командной строки.
Регистрация службы выполняется через командную строку с правами администратора с использованием параметра install. Команда создает службу Windows с именем windows_exporter, настраивает её на автоматический запуск и применяет указанные параметры конфигурации. В процессе регистрации можно передать параметры активации конкретных коллекторов, изменения порта и других настроек через аргументы командной строки. Параметр collectors.enabled позволяет указать список активных коллекторов через запятую, а web.listen-address определяет адрес и порт для прослушивания.
Настройка брандмауэра при ручной установке требует создания правила вручную, так как автоматическое добавление исключения не происходит. Через консоль управления брандмауэром Windows или PowerShell создается входящее правило, разрешающее TCP-подключения к порту, на котором работает экспортер. Правило должно применяться для всех профилей сети, если сервер может переключаться между различными сетевыми профилями, и ограничиваться конкретными IP-адресами серверов Prometheus для повышения безопасности.
Запуск службы после регистрации выполняется через диспетчер служб Windows или командой PowerShell Start-Service. Проверка статуса службы подтверждает успешный запуск и отсутствие ошибок в журнале событий Windows. При возникновении проблем журнал событий приложений содержит подробную информацию об ошибках инициализации, проблемах с правами доступа или конфликтах портов, что значительно упрощает диагностику проблем.
Windows Exporter включает модульную архитектуру коллекторов, где каждый коллектор отвечает за сбор специфического набора метрик. Правильный выбор активных коллекторов критически важен для баланса между полнотой мониторинга и нагрузкой на систему. Базовые коллекторы, такие как CPU и Memory, создают минимальную нагрузку и должны быть активны на всех серверах. Коллектор CPU предоставляет метрики времени процессора в различных режимах: пользовательском, системном, простоя и ожидания, что позволяет детально анализировать загрузку процессорных ресурсов.
Коллектор LogicalDisk собирает метрики использования дисковых разделов, включая свободное и занятое пространство, операции чтения и записи, среднее время отклика дисковой подсистемы. Эти данные незаменимы для предотвращения переполнения дисков и выявления проблем производительности хранилища. Параметры коллектора позволяют исключить определенные типы дисков, например, съемные носители или сетевые диски, если их мониторинг не требуется в вашем сценарии использования.
Коллектор Service предоставляет информацию о состоянии служб Windows, что особенно полезно для мониторинга критичных сервисов. Можно настроить белый список служб для мониторинга через регулярные выражения, ограничив сбор метрик только интересующими службами вместо отслеживания всех установленных служб системы. Это снижает количество собираемых метрик и упрощает создание правил оповещения о проблемах с конкретными службами.
Специализированные коллекторы требуют дополнительной настройки и должны активироваться только на серверах с соответствующим программным обеспечением. Коллектор MSSQL собирает подробные метрики производительности Microsoft SQL Server, включая статистику запросов, использование буферного пула, активность транзакционного лога и блокировки. Коллектор IIS предоставляет метрики веб-сервера Internet Information Services, включая количество запросов, время обработки, активные подключения и состояние пулов приложений. Активация этих коллекторов на серверах без соответствующих служб приведет к ошибкам инициализации и записям в журнал событий.
После успешной установки и запуска Windows Exporter необходимо настроить сервер Prometheus для сбора метрик с экспортера. Конфигурация выполняется через файл prometheus.yml, где добавляется новая цель мониторинга в секцию scrape_configs. Конфигурация задания определяет имя задания, интервал сбора метрик, адреса целевых серверов с Windows Exporter и дополнительные параметры обработки данных. Имя задания рекомендуется выбирать описательным, например, windows_servers или windows_exporter, что упрощает фильтрацию метрик при создании запросов и дашбордов.
Интервал сбора метрик определяется параметром scrape_interval и должен балансировать между актуальностью данных и нагрузкой на инфраструктуру мониторинга. Для большинства серверов достаточно интервала от 15 до 60 секунд. Более короткие интервалы увеличивают нагрузку на Prometheus и объем хранимых данных без существенного повышения качества мониторинга для большинства метрик производительности сервера. Критичные системы могут требовать интервала 10 секунд для быстрого обнаружения проблем.
Статическая конфигурация целей подходит для небольших инфраструктур, где серверы редко добавляются или удаляются. Список целей указывается непосредственно в конфигурационном файле с указанием IP-адреса или имени хоста и порта Windows Exporter. Для каждой цели можно определить дополнительные метки, идентифицирующие окружение, роль сервера, команду владельцев или другие атрибуты, полезные для организации и фильтрации метрик.
Автоматическое обнаружение целей необходимо в динамичных инфраструктурах с частыми изменениями состава серверов. Prometheus поддерживает различные механизмы service discovery, включая интеграцию с облачными провайдерами, системами оркестрации контейнеров, базами данных конфигурации и DNS-записями. Для Windows-серверов распространена интеграция с Active Directory через DNS Service Discovery или использование файлового механизма обнаружения, где внешняя система управления конфигурацией генерирует список целей в формате JSON.
Первичная проверка работы Windows Exporter выполняется через прямое обращение к эндпоинту метрик через веб-браузер. Открытие адреса http://адрес_сервера:9182/metrics должно отобразить текстовую страницу с метриками в формате Prometheus. Наличие множества строк с метриками, начинающихся с префикса windows_, подтверждает успешный запуск и работу коллекторов. Отсутствие ответа или ошибки соединения указывают на проблемы с запуском службы, конфигурацией брандмауэра или сетевой связностью.
Проверка статуса службы через диспетчер служб Windows или PowerShell показывает текущее состояние процесса Windows Exporter. Служба должна находиться в состоянии «Работает» с типом запуска «Автоматически». Если служба находится в состоянии «Остановлена», попытка запуска покажет сообщения об ошибках, указывающие на причину проблемы. Общие причины включают конфликты портов с другими приложениями, недостаточные права доступа к счетчикам производительности или ошибки в параметрах командной строки службы.
Журнал событий Windows содержит подробную информацию об ошибках и предупреждениях Windows Exporter. События записываются в журнал приложений и могут фильтроваться по источнику windows_exporter для упрощения поиска релевантных записей. Типичные проблемы включают ошибки инициализации коллекторов при отсутствии требуемых компонентов системы, предупреждения о недоступных счетчиках производительности или сообщения о проблемах с сетевым интерфейсом при привязке к порту.
Диагностика на стороне Prometheus выполняется через веб-интерфейс сервера мониторинга. Раздел Targets показывает статус всех настроенных целей, время последнего успешного сбора метрик и сообщения об ошибках для недоступных целей. Метки UP и DOWN явно индикируют доступность каждого Windows Exporter. Страница целей также отображает длительность сбора метрик, что помогает выявить проблемы производительности при запросе метрик с перегруженных серверов.
Оптимизация производительности Windows Exporter начинается с тщательного отбора необходимых коллекторов. Деактивация неиспользуемых коллекторов снижает потребление процессорного времени и памяти, а также уменьшает объем передаваемых данных и нагрузку на Prometheus. Регулярный аудит используемых метрик помогает выявить коллекторы, данные которых не применяются в дашбордах и правилах оповещения, что позволяет отключить их без потери функциональности мониторинга.
Настройка параметров коллекторов позволяет детально контролировать объем собираемых данных. Многие коллекторы поддерживают фильтрацию через регулярные выражения для включения или исключения конкретных объектов мониторинга. Например, коллектор Process может быть настроен на отслеживание только определенных процессов вместо всех запущенных процессов системы, что значительно снижает количество генерируемых временных рядов и упрощает анализ данных.
Безопасность Windows Exporter требует внимания к нескольким аспектам. Ограничение сетевого доступа к эндпоинту метрик через правила брандмауэра или сетевые политики предотвращает несанкционированный доступ к данным производительности. Метрики могут содержать чувствительную информацию о конфигурации системы, запущенных процессах и использовании ресурсов, поэтому доступ должен ограничиваться только серверами Prometheus и авторизованными системами мониторинга.
Аутентификация и шифрование соединений повышают уровень защиты при передаче метрик по сети. Windows Exporter поддерживает базовую HTTP-аутентификацию и TLS-шифрование для защиты данных при передаче через незащищенные сети. Настройка TLS требует генерации сертификатов и обновления конфигурации как экспортера, так и Prometheus для использования HTTPS-подключений. В корпоративных инфраструктурах рекомендуется использовать сертификаты, подписанные корпоративным центром сертификации, для упрощения управления доверием.
Метрики Windows Exporter открывают широкие возможности для анализа производительности и выявления проблем на серверах. Мониторинг загрузки процессора через метрику windows_cpu_time_total позволяет отслеживать потребление процессорного времени в различных режимах работы. Высокие значения в режиме system могут указывать на проблемы с драйверами или чрезмерные системные вызовы, тогда как постоянная загрузка в режиме user характеризует приложения с высокими вычислительными требованиями. Создание правил оповещения на основе процентиля загрузки помогает выявлять как кратковременные пики, так и устойчивые тенденции перегрузки.
Анализ использования памяти через метрики windows_os_physical_memory_free_bytes и windows_memory_available_bytes раскрывает картину потребления оперативной памяти приложениями и системой. Разница между физически свободной памятью и доступной памятью отражает эффективность кеширования файловой системы Windows. Мониторинг этих метрик в динамике позволяет выявить утечки памяти в приложениях, когда потребление постоянно растет без соответствующего освобождения ресурсов после завершения операций.
Метрики дисковой подсистемы предоставляют детальную информацию о производительности хранилища. Среднее время отклика диска, измеряемое через windows_logical_disk_avg_read_seconds_total и windows_logical_disk_avg_write_seconds_total, критически важно для диагностики проблем производительности приложений. Значения выше 20 миллисекунд для твердотельных накопителей или 15 миллисекунд для механических дисков указывают на проблемы производительности, требующие исследования причин: перегрузки дисковой подсистемы, аппаратных неисправностей или неоптимальной конфигурации хранилища.
Мониторинг состояния служб Windows через метрику windows_service_state обеспечивает быстрое обнаружение остановок критичных служб. Настройка оповещений на изменение состояния службы с Running на Stopped для критичных компонентов инфраструктуры позволяет оперативно реагировать на проблемы до того, как они повлияют на пользователей. Исторические данные о перезапусках служб помогают выявить нестабильные компоненты, требующие детального анализа или обновления.
Установка и настройка Prometheus Windows Exporter представляет собой фундаментальный шаг в построении эффективной системы мониторинга серверов под управлением Windows. Процесс развертывания отличается простотой благодаря готовым установочным пакетам и продуманной архитектуре, однако требует внимательного подхода к выбору коллекторов, настройке безопасности и интеграции с инфраструктурой Prometheus. Правильная конфигурация обеспечивает сбор актуальных метрик производительности при минимальном влиянии на работу целевых серверов.
Эффективное использование собираемых метрик требует понимания характеристик системы, создания информативных дашбордов визуализации данных и настройки правил оповещения для проактивного обнаружения проблем. Windows Exporter предоставляет богатый набор данных, охватывающих все аспекты работы сервера от низкоуровневых показателей аппаратного обеспечения до состояния прикладных служб. Регулярный анализ трендов и аномалий в метриках позволяет оптимизировать использование ресурсов, планировать масштабирование инфраструктуры и поддерживать высокий уровень доступности сервисов для конечных пользователей.