Подробный гайд по установке и настройке утилиты atop в ALT Linux - Часть 4

Подробный гайд по установке и настройке утилиты atop в ALT Linux: от включения фонового логирования до ротации логов и работы с systemd-сервисами.

2026.09.25                  


Подробный гайд по установке и настройке утилиты atop в ALT Linux - Часть 4Подробный гайд по установке и настройке утилиты atop в ALT Linux - Часть 4

19. Безопасность логов

Логи atop могут содержать:

  • имена пользователей;
  • имена процессов;
  • командные строки процессов;
  • сетевую активность;
  • дисковую активность.

Командные строки иногда содержат чувствительные данные: токены, пароли, адреса, имена файлов, параметры подключения.

Поэтому ограничьте доступ:

chown root:root /var/log/atop
chmod 750 /var/log/atop

Если логи нужны только root:

chmod 700 /var/log/atop

Проверьте права:



ls -ld /var/log/atop
ls -l /var/log/atop

20. Место на диске

Логи могут занимать заметное место, особенно если:

  • интервал маленький;
  • процессов много;
  • включены подробности;
  • включено логирование всех процессов;
  • система активно использует диск и сеть.

Проверьте размер:

du -sh /var/log/atop

Проверьте файловую систему:

df -h /var/log

Если /var/log находится на маленьком разделе, лучше:

  1. увеличить интервал;
  2. уменьшить срок хранения;
  3. перенести логи на другой раздел.

21. Перенос логов на другой каталог или раздел

Если нужно перенести логи, например, на /srv/atop-log, сделайте это осторожно.

Пример:

systemctl stop atop

mkdir -p /srv/atop-log/atop
chmod 750 /srv/atop-log/atop
chown root:root /srv/atop-log/atop

mv /var/log/atop/* /srv/atop-log/atop/ 2>/dev/null

rmdir /var/log/atop
ln -s /srv/atop-log/atop /var/log/atop

systemctl start atop

Проверьте:

ls -lh /var/log/atop/
pgrep -a atop

Если служба жестко ожидает именно /var/log/atop, symlink обычно решает проблему, но лучше проверить логи и статус службы.


22. Настройка через systemd, если стандартный конфиг не применяется

Бывает, что пакет установлен, но systemd-юнит не читает /etc/sysconfig/atop или /etc/default/atop.

Сначала посмотрите юнит:

systemctl cat atop
  • Если там есть EnvironmentFile, правьте соответствующий файл.
  • Если EnvironmentFile есть, но переменные другие, используйте уже существующие имена.

Если нужно переопределить параметры безопасно, используйте:

systemctl edit atop

Например, если юнит понимает переменные окружения, можно добавить:

[Service]
Environment=LOGINTERVAL=60
Environment=LOGGENERATIONS=30

Но если ExecStart жестко задан без переменных, такой способ может не сработать. Тогда нужно переопределять ExecStart, но это лучше делать только если вы понимаете, как именно пакет запускает atop.


23. Пример пользовательского systemd-логгера, если пакет не настроен

Это запасной вариант. Используйте его, только если стандартная служба не работает или вы хотите полностью контролировать запуск.

Создайте службу:

mcedit /etc/systemd/system/atop-logger.service

Содержимое:

[Unit]
Description=Custom atop logger
After=local-fs.target

[Service]
Type=simple
Nice=10
Restart=always
RestartSec=10
ExecStart=/bin/sh -c 'exec /usr/bin/atop -w /var/log/atop/atop_$(date +%%Y%%m%%d) 60'

[Install]
WantedBy=multi-user.target

Создайте таймер ежедневной ротации:

mcedit /etc/systemd/system/atop-logger-rotate.timer

Содержимое:

[Unit]
Description=Daily restart atop logger and cleanup old logs

[Timer]
OnCalendar=*-*-* 00:00:05
Persistent=true

[Install]
WantedBy=timers.target

Создайте сервис ротации:

mcedit /etc/systemd/system/atop-logger-rotate.service

Содержимое:

[Unit]
Description=Restart atop logger and delete old atop logs

[Service]
Type=oneshot
ExecStart=/bin/sh -c 'systemctl restart atop-logger.service; find /var/log/atop -maxdepth 1 -type f -name "atop_*" -mtime +30 -delete'

Примените:

systemctl daemon-reload

Выключите стандартный atop, если он есть, чтобы не было двух процессов:

systemctl disable --now atop

Включите свой вариант:

systemctl enable --now atop-logger.service
systemctl enable --now atop-logger-rotate.timer

Проверьте:

systemctl status atop-logger.service
pgrep -a atop
ls -lh /var/log/atop/

24. Рекомендуемые профили настройки

24.1. Прод-сервер, минимальная нагрузка

LOGINTERVAL=300
LOGGENERATIONS=60
LOGOPTS=

Интерактивный /etc/atoprc:

interval     10
linelen      132
username     1
color        1


Подходит для долгосрочного наблюдения.


24.2. Обычный сервер, баланс

LOGINTERVAL=60
LOGGENERATIONS=30
LOGOPTS=

Подходит для большинства серверов.


24.3. Диагностика проблемы

Временно:

LOGINTERVAL=10
LOGGENERATIONS=3

Или временный ручной сбор:

atop -w /root/atop_debug_$(date +%Y%m%d_%H%M) 10 360 &

Это 1 час с интервалом 10 секунд.


Мы делимся этой технической информацией, чтобы помочь вам в решении задач — используйте её с пониманием. Статья носит рекомендательный характер, поэтому, пожалуйста, применяйте описанные методы осмотрительно.


Статью подготовил: Аверко Денис Сергеевич @Nymexis г. Омск (специалист по ЗИ)

Комментарии

Загрузка...
Если комментарии не загружаются, можете попробовать отключить блокировщик рекламы для этого сайта