Как правильно добавить системный журнал на сервер обсервиума?
У меня есть сервер 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 при запуске.