Логирование системы
Система логирования предназначена для мониторинга работы PLC, отслеживания ошибок, действий пользователей и событий, связанных с запуском и обновлениями. Запись логов начинается автоматически при старте системы.
Структура логов
- logs/current/syslog/: общие системные логи (из /var/log/syslog или /var/log/messages). Содержат события ОС: загрузку, сетевые события и системные уведомления.
- logs/current/kernel/: логи ядра Linux (из /var/log/kern.log). Регистрируют аппаратные события, прерывания и предупреждения (например, «sched: RT throttling activated», что может указывать на перегрузку CPU).
Логи пользователей и безопасности
logs/current/users/:
- auth.log — подключения пользователей (вход/выход), попытки доступа с IP-адресами и именами пользователей. Сессии сохраняются в logs/current/sessions/.
- all_commands.log — все команды, выполняемые в терминале, включая управление пользователями (useradd, usermod, chmod). Файл доступен для записи всем пользователям (права 666).
Логи CoDeSys
logs/current/codesys/:
- StdLogger.csv (включая StdLogger_0.csv, StdLogger_1.csv, StdLogger_2.csv) — логи программы CoDeSys: подключения через инженерный интерфейс, ошибки выполнения задач и события приложения.
logs/current/codesys/runtime/:
- codesys_starts.log — информация о запусках CoDeSys (PID, обнаружение дубликатов и зомби-процессов, перезапуски).
- daemon-debug.log — отладочная информация от watchdog-демона (codesys-daemon.sh).
- codesys-stdouterr.log — стандартный вывод CoDeSys, включая старт приложения и runtime-ошибки.
Центральный лог и архивация
logs/manager.log — центральный лог менеджера. Фиксирует:
- Запуски менеджера
- Архивацию логов
- Создание бэкапов
- Ошибки и ротации
Архивация логов:
- Текущие логи из logs/current/ архивируются в logs/archives/ (файлы logs_*.tar.gz)
- Триггеры архивации: превышение размера (25 МБ), еженедельно, при старте системы
- Суммарный размер архивов ограничен 100 МБ — старые версии удаляются автоматически
Отслеживание перезагрузок:
- По новым архивам в logs/archives/
- По записям в manager.log о запуске менеджера