24.8. Перемещение журналов tinydns и dnscache

Проблема

По умолчанию команды tinydns-conf и dnscache-conf создают каталоги для хранения файлов журналов в /etc/tinydns/log/main и /etc/dnscache/log/main. Однако по стандартам Unix и Linux журналы предпочтительно хранить в каталоге /var/log для удобства администрирования и мониторинга. Чтобы обеспечить единообразие и облегчить доступ к журналам, потребуется перенести файлы журналов tinydns и dnscache в /var/log.

Решение

Для переноса журналов tinydns в /var/log/tinydns необходимо изменить конфигурацию скрипта запуска, расположенного в файле /etc/tinydns/log/run. Откройте файл и отредактируйте его, чтобы перенаправить журналы в нужный каталог. Стандартная конфигурация для скрипта будет выглядеть так:

#!/bin/sh
exec setuigid dnslog multilog t /var/log/tinydns

Теперь multilog будет записывать журналы в /var/log/tinydns, что позволит вам отслеживать события tinydns в стандартном каталоге для логов.

Аналогично, для dnscache измените скрипт /etc/dnscache/log/run, чтобы журналы записывались в /var/log/dnscache. Изменения должны выглядеть так:

#!/bin/sh
exec setuigid dnslog multilog t /var/log/dnscache

После внесения этих изменений нужно перезапустить сервисы tinydns и dnscache, чтобы применить новую конфигурацию и убедиться, что журналы начинают записываться в указанные каталоги.

Преимущества перемещения журналов в /var/log

Перемещение журналов DNS-сервисов в /var/log имеет несколько преимуществ:

Дополнительные рекомендации по настройке логов DNS

Для надёжного мониторинга и оптимизации логов DNS рекомендуется учитывать следующие советы:

/var/log/tinydns/*.log {
    daily
    rotate 7
    compress
    delaycompress
    missingok
    notifempty
    postrotate
        /etc/init.d/tinydns restart > /dev/null
    endscript
}

/var/log/dnscache/*.log {
    daily
    rotate 7
    compress
    delaycompress
    missingok
    notifempty
    postrotate
        /etc/init.d/dnscache restart > /dev/null
    endscript
grep "error" /var/log/tinydns/*.log

Команда tail позволит вам просматривать новые события в режиме реального времени:

tail -f /var/log/tinydns/current

Безопасность журналов DNS

Убедитесь, что доступ к логам ограничен только администраторами. Для этого установите нужные права доступа на каталоги /var/log/tinydns и /var/log/dnscache:

chown -R dnslog:adm /var/log/tinydns
chmod -R 750 /var/log/tinydns

chown -R dnslog:adm /var/log/dnscache
chmod -R 750 /var/log/dnscache

См. также

Официальное руководство по установке DNS для дополнительных настроек.