Работа с системными журналами (log) — это фундаментальный навык для любого администратора TrueNAS. Представь, что твоя система внезапно перестала монтировать общие папки, или диски начали показывать ошибки. Где искать первопричину? Правильно — в truenas log. В этом руководстве мы разберем всё: от базового просмотра журналов через веб-интерфейс до продвинутой настройки централизованного сбора логов и автоматического анализа. Давай погрузимся.
Где находятся журналы (log) в TrueNAS?
TrueNAS, будучи основанной на FreeBSD, использует стандартную для BSD-систем структуру логирования. Основные источники информации находятся в нескольких ключевых местах.
Основные файлы журналов (log files)
- /var/log/messages — Главный системный журнал. Сюда попадают сообщения ядра, системных служб и драйверов. Первое место для поиска общих проблем.
- /var/log/debug.log — Расширенный отладочный журнал. Включает более детальную информацию о работе middleware TrueNAS (средний слой между ОС и веб-интерфейсом).
- /var/log/audit.log — Журнал аудита. Фиксирует события аутентификации, авторизации и изменения конфигурации (кто, что и когда сделал).
- /var/log/console.log — Сообщения, которые появились бы на физической или виртуальной консоли системы.
- /var/log/maillog — Журнал почтовой системы (если настроена отправка уведомлений).
- /data/logs/ — Директория, куда TrueNAS помещает логи, специфичные для своих служб (например, SMB, NFS, S3).
Как просматривать truenas log: Веб-интерфейс vs CLI
Есть два основных способа работы с журналами: удобный графический и мощный командный.
Просмотр через веб-интерфейс TrueNAS
Самый быстрый способ для начальной диагностики. Перейди в раздел Система (System) → Диагностика (Diagnostics).
- Скачать журналы (Save Debug): Создает и скачивает полный архив всех системных журналов и конфигурации. Незаменим при обращении в поддержку.
- Просмотр журналов (Logs): Позволяет просматривать содержимое основных файлов журналов (
/var/log/messages,debug.logи др.) прямо в браузере. Есть фильтр по дате и поиск.
Работа с журналами через Shell (CLI)
Для глубокого анализа и автоматизации без командной строки не обойтись. Подключись к TrueNAS по SSH.
# Просмотр журнала messages в реальном времени (аналог tail -f)
tail -f /var/log/messages
# Просмотр последних 50 строк журнала с фильтрацией по слову "error"
tail -n 50 /var/log/messages | grep -i error
# Поиск событий за конкретную дату в системном журнале
grep "May 15" /var/log/messages
# Просмотр журнала аудита (кто логинился, менял настройки)
cat /var/log/audit.log
# Просмотр логов SMB/CIFS службы
cat /var/log/samba4/log.smbd
vi или nano. Это может нарушить их формат и работу демонов логирования. Для очистки используй официальные методы (ротация).
Настройка логирования в TrueNAS: syslog и ротация
По умолчанию настройки логирования в TrueNAS сбалансированы. Но ты можешь их изменить под свои нужды.
Настройка syslog через веб-интерфейс
Перейди в Система → Дополнительно (Advanced). Здесь есть два ключевых раздела:
- Syslog: Можно включить удаленную отправку всех логов на внешний syslog-сервер (например, Graylog, ELK Stack). Просто укажи IP-адрес и порт сервера.
- Отладочная информация (Debug): Включение записи в
/var/log/debug.log. Оставь выключенным, если не ведешь активную отладку, чтобы не перегружать диск.
Ротация и сжатие логов (log rotation)
Чтобы журналы не съели всё место на загрузочном устройстве, используется утилита newsyslog. Её конфигурация находится в /etc/newsyslog.conf и /etc/newsyslog.conf.d/.
# Пример строки из /etc/newsyslog.conf
# Формат: logfile_name [owner:group] mode count size when flags [pid_file] [sig_num]
/var/log/messages 644 7 * @T00 Z /var/run/syslog.pid
# Расшифровка для messages:
# - 644: Права на файл
# - 7: Хранить 7 архивных копий (messages.0.gz ... messages.6.gz)
# - *: Не ограничивать по размеру (приоритет у условия времени)
# - @T00: Ротировать каждый день в 00:00 UTC
# - Z: Сжимать архивные копии с помощью gzip
Для добавления своих правил ротации создай файл в /etc/newsyslog.conf.d/, например, myapp.conf. Это безопаснее, чем редактировать основной файл.
Практические примеры: Анализ truenas log для решения проблем
1. Проблема с диском (SMART ошибки, checksum)
# Ищем события, связанные с дисками (da — префикс устройств ATA/SCSI)
grep -E "(da[0-9]|ada[0-9]|GEOM).*(error|FAIL|checksum|SMART)" /var/log/messages
# Пример вывода, который должен насторожить:
# May 15 10:23:15 truenas kernel: (ada1:ahcich1:0:0:0): WRITE_FPDMA_QUEUED. ACB: ... FAILED
# May 15 10:23:15 truenas kernel: (ada1:ahcich1:0:0:0): status: 0x41 (DRDY ERR)
# May 15 10:23:15 truenas kernel: (ada1:ahcich1:0:0:0): error: 0x04 (ABRT )
2. Проблемы с сетью и SMB/NFS
# Логи аутентификации SMB (проблемы с доступом пользователей)
tail -f /var/log/samba4/log.smbd
# Поиск сетевых разрывов или проблем с интерфейсом
grep -i "link state change.*down" /var/log/messages
# Просмотр логов middleware TrueNAS на предмет ошибок сервисов
# (полезно, если служба не запускается через веб-интерфейс)
grep -A 5 -B 5 "service.*failed" /var/log/debug.log
3. Анализ загрузки системы (boot log)
Если система не загружается, смотри консольные сообщения или используй команду dmesg. Журнал загрузки также дублируется в /var/log/messages с самого начала временной метки.
# Просмотреть сообщения ядра с момента последней загрузки
dmesg | less
# Отфильтровать только критические сообщения (уровень "crit")
dmesg -l crit
Продвинутая настройка: Централизованное логирование (Syslog Server)
В продакшн-среде критически важно иметь единую точку сбора логов со всех устройств. Настройка занимает 5 минут.
- Разверни syslog-сервер (Rsyslog, Syslog-ng) или готовое решение (Graylog, ELK) на отдельном сервере.
- В TrueNAS перейди в Система → Дополнительно → Syslog.
- Включи опцию «Использовать удаленный syslog-сервер».
- Введи IP-адрес и порт (обычно UDP/514 или TCP/514) твоего syslog-сервера.
- Выбери уровень логирования (рекомендуется Warning или Info для баланса).
- Нажми «Сохранить». Все новые записи в
/var/log/messagesбудут дублироваться на удаленный сервер.
# Пример конфигурации на стороне Rsyslog-сервера для приема логов
# Файл: /etc/rsyslog.d/01-truenas.conf
module(load="imudp")
input(type="imudp" port="514")
# Сохранять логи от TrueNAS в отдельный файл по IP-адресу
if $fromhost-ip == '192.168.1.100' then {
action(type="omfile" file="/var/log/remote/truenas.log")
stop
}
TrueNAS Core vs TrueNAS Scale: Ключевые отличия в логировании
| Аспект | TrueNAS CORE (FreeBSD) | TrueNAS SCALE (Linux) |
|---|---|---|
| Основной демон | syslogd | systemd-journald + rsyslog |
| Просмотр логов (CLI) | tail /var/log/messages |
journalctl или tail /var/log/syslog |
| Журнал загрузки | dmesg, начало messages |
journalctl -b |
| Ротация | newsyslog | logrotate |
| Структура каталогов | Классическая BSD (/var/log/) |
Классическая Linux + /var/log/journal/ |
Часто задаваемые вопросы (FAQ) по truenas log
Где найти логи конкретного пула или диска ZFS?
ZFS сама не ведет отдельные файлы журналов. Её события (scrub, checksum errors, pool status) записываются в основной системный журнал /var/log/messages. Используй фильтрацию:
grep -i "zfs\|pool.*tank\|scrub" /var/log/messages
Журналы переполняют загрузочный раздел. Что делать?
1. Проверь настройки ротации в /etc/newsyslog.conf. Уменьши количество хранимых копий (count) или задай максимальный размер (size).
2. Настрой удаленный syslog и отключи локальное хранение неважных логов.
3. Вручную очисти старые логи (в крайнем случае): cd /var/log && rm -f messages.* debug.log.*. Но лучше перезапусти syslog: service syslogd restart.
Как понять, что в логах — серьезная ошибка, а что — предупреждение?
Смотри на префиксы в строках /var/log/messages:
<0>илиemerg— Система неработоспособна.<3>илиerr— Критическая ошибка (например, отказ диска).<4>илиwarning— Предупреждение (например, SMART тест предсказывает отказ).<6>илиinfo— Информационное сообщение (нормальная работа).
Можно ли изменить уровень детализации (verbosity) логов?
Да, для middleware TrueNAS. В веб-интерфейсе зайди в Система → Дополнительно → Отладочная информация. Включи опцию и выбери уровень (DEBUG, INFO, WARNING и т.д.). Детальные логи пойдут в /var/log/debug.log. Не оставляй DEBUG включенным надолго.
Заключение: Сила в деталях
Умение работать с truenas log — это твой суперскилл в администрировании хранилищ. Ты больше не будешь гадать, "почему не работает", а сможешь точно определить причину: будь то начинающий сдавать диск, сетевая проблема или ошибка в конфигурации службы.
Ключевые выводы:
- Основной журнал —
/var/log/messages. Начинай анализ с него. - Используй
tail -fиgrepдля живой диагностики. - Настрой удаленный syslog для долгосрочного хранения и анализа.
- Не игнорируй предупреждения (WARNING) — они часто указывают на будущие сбои.
- Архив Save Debug — твой лучший друг при обращении за помощью.
Теперь у тебя есть полная карта. Открывай терминал, смотри логи и управляй своей системой TrueNAS с уверенностью эксперта.