Назад | Перейти на главную страницу

Почему у меня logwatch conf с абсолютными путями записи LogFile не работают?

Журнал документация говорит LogFile команда может обрабатывать абсолютные пути. Соответственно, у меня есть файл celery.conf в / etc / logwatch / conf / services следующим образом:

Title = "Watchdog Celery worker errors"
LogFile = /var/log/208-celery.log
LogFile = /var/log/234-celery.log
LogFile = /var/log/403-celery.log
LogFile = /var/log/dev-celery.log 

(Намерение состоит в том, чтобы четыре указанных файла журнала были объединены в одну группу для logwatch.)

Я получаю такую ​​ошибку:

*** Error: There is no logfile defined. Do you have a /etc/logwatch/conf/logfiles//var/log/208-celery.log.conf file ?
*** Error: There is no logfile defined. Do you have a /etc/logwatch/conf/logfiles//var/log/234-celery.log.conf file ?
*** Error: There is no logfile defined. Do you have a /etc/logwatch/conf/logfiles//var/log/403-celery.log.conf file ?
*** Error: There is no logfile defined. Do you have a /etc/logwatch/conf/logfiles//var/log/dev-celery.log.conf file ?
Can't open: /usr/share/logwatch/scripts/services/celery at /usr/sbin/logwatch line 1329.

Похоже, что logwatch не интерпретирует LogFile по какой-то причине команды как абсолютные пути. Я подтвердил, что эти файлы журналов определенно существуют по этим путям. Что касается ошибки «Не удается открыть ...» - я предполагаю, что logwatch ищет конфигурацию по умолчанию из-за отсутствия рабочих команд LogFile.

Итак: как мне заставить logwatch правильно просматривать эти конкретные файлы журналов?

ПРИМЕЧАНИЕ. Я использую logwatch v7.4.0, работающий в Ubuntu 12.04.4 LTS.

В LogFile записи в файлах конфигурации в services обратитесь к группам файлов журнала, которые определены в соответствующем файле конфигурации в разделе logfiles. См. Раздел A документа, на который вы ссылаетесь, для получения информации о настройке группы файлов журнала ...

# Это будет файл журнала с именем 'messages' в каталоге # файлов журнала по умолчанию (вероятно, / var / log). LogFile = сообщения

# Вы также можете указать эту команду с абсолютным путем, например: LogFile = / var / log / messages

И раздел B для ссылки на эти группы в файле конфигурации под services ...

Для служебного фильтра, которому нужны сообщения из / var / log / messages, вы должны добавить эту строку:

LogFile = сообщения

ПРИМЕЧАНИЕ. Это не потому что имя файла журнала - «сообщения», но это потому, что имя группы файлов журнала, которая была определена, - «сообщения».

Ошибка /usr/share/logwatch/scripts/services/celery происходит потому, что вы не создали исполняемый файл служебного фильтра, как описано в разделе C документа. Вы должны создать это (используя пример скрипта) под /etc/logwatch/scripts/services убедившись, что он исполняемый. Я только что пробовал это (logwatch 7.4.0 на CentOS 7.2, и он работает должным образом.