Журналы: логи серверов и приложений

Агент собирает логи вместе с метриками и отправляет их в ваше пространство. Искать, фильтровать и строить по ним графики можно в дашборде «Журналы» (Log Explorer) в вашей Grafana.

Что собирается

ИсточникLinuxWindows
Системный журналjournald: всё, что пишут systemd-службы и ядро, включая sshd, sudo и фаерволEvent Log: журналы Application и System
Журнал безопасности— (события входа и учётных записей уже есть в journald)Security — только значимые события, см. Безопасность (агент 1.6.2+)
КонтейнерыDocker: stdout/stderr каждого контейнера через Docker API—
Файлы приложенийпо маскам из портала (агент 1.6+)по маскам из портала (агент 1.6+)
Kubernetesлоги подов — см. Мониторинг Kubernetes
1Ссобытия технологического журнала — см. Мониторинг 1С

Логи хранятся 30 дней (метрики — 90).

Файловые логи

Логи, которые приложения пишут в файлы, а не в journald или Docker: nginx и apache из пакетов, PostgreSQL, собственные журналы приложений. Подключаются в портале: карточка клиента → вкладка «Файловые логи».

На Linux агент читает файлы от пользователя monagent из группы adm — стандартной группы «читать /var/log» в Debian и Ubuntu. Файл, недоступный этой группе на чтение, агент не увидит. Читаются только новые строки с момента подключения; ротированные файлы (.1, .gz) и syslog/auth.log (их содержимое уже есть в journald) не читаются. На Windows файлы читает агент от SYSTEM, разбор формата nginx там пока не применяется.

Уровни

У каждой строки есть поле level по шкале syslog — одно для всех источников, поэтому фильтр «только ошибки» работает одинаково для Linux, Windows и файлов:

levelЗначениеОткуда
0–2emergency, alert, criticaljournald; Windows Critical → 2
3errorjournald; Windows Error; nginx 5xx
4warningjournald; Windows Warning; nginx 4xx; неудачные входы Windows
5–7notice, info, debugвсё остальное (Windows Information → 6)

Дашборд «Журналы»

Создаётся автоматически. Вверху — фильтры: уровень, поиск, хост, контейнер, файл и число строк. Панели:

Как искать

НужноЧто ввести в «Поиск»
Все строки*
Слово или числоtimeout, 550000
Несколько слов в одной строкеconnection refused
Часть слова~"oxy_ove", без учёта регистра — ~"(?i)oxy_ove"
По полюstatus:502, path:~"^/api/", container:nginx
Исключитьerror -healthcheck

Синтаксис — LogsQL (документация VictoriaLogs). Те же запросы работают в Grafana → Explore с источником логов.

Готовые дашборды на логах