Как правильно добавить системный журнал на сервер обсервиума?

У меня есть сервер Ubuntu 16.04, где я установил обсервиум для мониторинга самого сервера, и эта часть работает нормально, я вижу журналы событий.

После этого я следовал инструкциям по добавлению syslog: http://docs.observium.org/syslog/ Но когда я открываю syslog на сервере, появляется сообщение об ошибке:

"No syslog entries found!".

Есть ли что-то еще, что мне нужно сделать (кроме инструкций на веб-странице Observium выше)?

Спасибо

ОБНОВЛЕНИЕ 1:

rsyslogd версия 8.16.0

Когда я пытаюсь использовать прямую регистрацию, она работает нормально.

Итак, вот файл конфигурации:

#---------------------------------------------------------
#send remote logs to observium

template(name="observium"
         type="string"
         string="%fromhost%||%syslogfacility%||%syslogpriority%||%syslogseverity%||%syslogtag%||%$year%-%$month%-%$day% %timereported:8:25%||%msg%||%programname%\n")

$ModLoad omprog

# rsyslog Input Modules
input(type="imudp"
      port="514"
      ruleset="observium")

# rsyslog RuleSets
ruleset(name="observium") {
    action(type="omprog"
           binary="/opt/observium/syslog.php"
           template="observium")
}

*.* stop
#---------------------------------------------------------

И вместо этого я поставил это без набора правил:

#---------------------------------------------------------
#send remote logs to observium

#ceph-mon.=notice; ~

template(name="observium"
         type="string"
         string="%fromhost%||%syslogfacility%||%syslogpriority%||%syslogseverity%||%syslogtag%||%$year%-%$month%-%$day% %timereported:8:25%||%msg%||%programname%\n")

$ModLoad omprog


action(type="omprog"
           binary="/opt/observium/syslog.php"
           template="observium")

*.* stop
#---------------------------------------------------------

Оно работает:)

Так что есть еще один вопрос. Нужно ли использовать ruleset? Если да, кто-нибудь еще сталкивался с такой же / подобной проблемой и как вы ее решили?

Спасибо!

1 ответ

Да, я тоже видел эту проблему.

Я по ошибке включил "input(type="imudp" port="514")" в обоих rsyslogd.conf и 30-observium.conf. Вы хотите включить модуль imudp в rsyslogd.conf и включить для него действие input->ruleset в 30-observium.conf

/etc/rsyslog.conf;

provides UDP syslog reception
module(load="imudp")
#input(type="imudp" port="514")

/etc/rsyslog.d/30-observium.conf должен быть;

#---------------------------------------------------------
#send remote logs to observium

template(name="observium"
     type="string"
     string="%fromhost-ip%||%syslogfacility%||%syslogpriority%||%syslogseverity%||%syslogtag%||%$year%-%$month%-%$day% %timereported:8:25%||%msg%||%programname%\n")

$ModLoad omprog

# rsyslog Input Modules
input(type="imudp"
      port="514"
      ruleset="observium")

# rsyslog RuleSets
ruleset(name="observium") {
    action(type="omprog"
           binary="/opt/observium/syslog.php"
           template="observium")
}

#& stop
#---------------------------------------------------------

Я также должен был закомментировать последнюю строку, так как это приводило к тихому сбою rsyslog.

PS; Каждый раз, когда вы вносите изменения в фильтры syslog, вам нужно перезапускать rsyslog, поскольку он кэширует результирующий скрипт syslog.php при запуске.

Другие вопросы по тегам