Оглавление

  1. Подготовка к установке

  2. Установка Promtail

  3. Настройка конфигурации

  4. Установка службы Windows

  5. Проверка работы

  6. Решение проблем


Подготовка

Требования

  • Windows сервер с правами администратора

  • Доступ к Loki серверу (http://192.168.1.16:3100)

  • Сетевой доступ на порт 3100

Необходимые файлы

  1. Promtail для Windows — скачайте с официального сайта

  2. NSSM — для управления службами (скачать)


Установка Promtail

1. Создание рабочей директории

cmd

mkdir C:\Promtail

2. Распаковка файлов

  • Распакуйте promtail-windows-amd64.exe в C:\Promtail\

  • Распакуйте nssm.exe в C:\Promtail\

3. Создание дополнительных директорий

cmd

mkdir C:\Promtail\bookmarks

Настройка конфигурации

Создание файла config.yaml

Создайте файл C:\Promtail\config.yaml со следующим содержимым:
yaml

server:
  http_listen_port: 9080
  grpc_listen_port: 0

positions:
  filename: C:\Promtail\positions.yaml

clients:
  - url: http://192.168.1.16:3100/loki/api/v1/push  # Замените на ваш адрес Loki

scrape_configs:
  # Логи Windows Events
  - job_name: windows-system
    windows_events:
      use_incoming_timestamp: false
      eventlog_name: "System"
      xpath_query: '*'
      bookmark_path: "C:\\Promtail\\bookmarks\\system.bookmark"
      labels:
        job: windows
        log_type: system
        host: windows-server  # Замените на имя вашего сервера

  - job_name: windows-application
    windows_events:
      use_incoming_timestamp: false
      eventlog_name: "Application"
      xpath_query: '*'
      bookmark_path: "C:\\Promtail\\bookmarks\\application.bookmark"
      labels:
        job: windows
        log_type: application
        host: windows-server

  - job_name: windows-security
    windows_events:
      use_incoming_timestamp: false
      eventlog_name: "Security"
      xpath_query: '*'
      bookmark_path: "C:\\Promtail\\bookmarks\\security.bookmark"
      labels:
        job: windows
        log_type: security
        host: windows-server

  # Логи IIS (опционально)
  - job_name: windows-iis
    static_configs:
      - targets: [localhost]
        labels:
          job: windows
          log_type: iis
          host: windows-server
          __path__: C:\inetpub\logs\LogFiles\**\*.log

  # Пользовательские логи (опционально)
  - job_name: windows-custom
    static_configs:
      - targets: [localhost]
        labels:
          job: windows
          log_type: custom
          host: windows-server
          __path__: C:\logs\*.log

Важные замечания:

  • Замените 192.168.1.16 на IP вашего Loki сервера

  • Замените windows-server на имя вашего сервера

  • Пути к bookmark файлам обязательны для работы Windows Events


Установка службы

1. Установка через NSSM

Откройте командную строку с правами администратора и выполните:
cmd

cd C:\Promtail
nssm install Promtail

2. Настройка службы в NSSM

В открывшемся окне заполните:

Вкладка «Application»:

  • PathC:\Promtail\promtail-windows-amd64.exe

  • Startup directoryC:\Promtail

  • Arguments-config.file=config.yaml

Вкладка «Details»:

  • Display namePromtail Log Collector

  • DescriptionCollects Windows logs for Grafana Loki

Вкладка «I/O»:

  • Output (stdout)C:\Promtail\promtail.out.log

  • Error (stderr)C:\Promtail\promtail.err.log

Вкладка «Process»:

  • Priority: Normal

Нажмите «Install service»

3. Запуск службы

cmd

nssm start Promtail

Проверка работы

1. Проверка статуса службы

cmd

nssm status Promtail

2. Просмотр логов службы

cmd

type C:\Promtail\promtail.out.log

3. Проверка сетевого порта

cmd

netstat -an | findstr :9080

4. Проверка в Loki

Откройте Grafana и выполните запросы:

  • Все Windows логи: {job="windows"}

  • Системные логи: {log_type="system"}

  • Логи приложений: {log_type="application"}

  • Логи безопасности: {log_type="security"}


Управление службой

Команды для управления:

cmd

# Запуск службы
nssm start Promtail

# Остановка службы
nssm stop Promtail

# Перезапуск службы
nssm restart Promtail

# Просмотр статуса
nssm status Promtail

# Удаление службы
nssm remove Promtail

Просмотр логов:

cmd

# Логи stdout
type C:\Promtail\promtail.out.log

# Логи stderr  
type C:\Promtail\promtail.err.log

Решение проблем

1. Служба не запускается

cmd

# Проверка конфигурации
.\promtail-windows-amd64.exe -config.file=config.yaml -verify-config

# Запуск в режиме отладки
.\promtail-windows-amd64.exe -config.file=config.yaml -log-level=debug

2. Ошибка с bookmarks

  • Убедитесь, что папка C:\Promtail\bookmarks существует

  • Проверьте права доступа к папке

3. Loki недоступен

cmd

# Проверка сети
telnet 192.168.1.16 3100

# Или в PowerShell
Test-NetConnection 192.168.1.16 -Port 3100

4. Проблемы с правами доступа

cmd

# Даем права на папку Promtail
icacls "C:\Promtail" /grant "Everyone:(OI)(CI)F"

5. Проверка журналов Windows

cmd

# Просмотр событий Promtail
Get-EventLog -LogName Application -Source "Promtail" -Newest 10

Дополнительная настройка

Для сбора логов с Linux серверов (дополнительно):

Добавьте в scrape_configs:
yaml

- job_name: nginx-sites
  static_configs:
    - targets: [localhost]
      labels:
        job: nginx
        hostname: web-server
        site: itlab33-main
        __path__: /var/www/itlab33.ru/log/nginx/*log

Мониторинг производительности:

  • Promtail метрики доступны по адресу: http://localhost:9080/metrics

  • Используйте порт 9080 для health-check


Заключение

После выполнения этих шагов у вас будет:

  • ✅ Установленный Promtail как служба Windows

  • ✅ Настроенный сбор логов Windows Events

  • ✅ Отправка логов в Loki

  • ✅ Автоматический перезапуск при сбоях

  • ✅ Логирование работы службы

Для обновления конфигурации просто отредактируйте config.yaml — служба автоматически перезагрузит настройки.

Добавить комментарий