icinga2 в ubuntu 16.04 регистрирует каждый вызов api в / var / log / syslog.
Я пытаюсь запустить icinga2 на xenial (ubuntu 16.04.1). Я получаю журнал операторов, связанных с api, в моем системном журнале. У меня есть автоматическая интеграция, которая выполняется каждые 3 секунды, производя 10+ строк за запуск.
Dec 16 15:02:43 dev-srv-01 icinga2[763]: [2016-12-16 15:02:41 -0500] information/HttpServerConnection: Request: GET /v1/objects/hosts/xxx?attrs[]=address&attrs[]=vars (root)
Dec 16 15:02:43 dev-srv-01 icinga2[763]: [2016-12-16 15:02:42 -0500] information/ApiListener: New client connection (no client certificate)
Действительно icinga регистрирует действия (apilistener.cpp: 403)
Log(LogInformation, "ApiListener") << "New client connection " << conninfo << " (no client certificate)";
Как настроить этот журнал, чтобы он был менее подробным? Я не мог понять этого из документации.
Это моя конфигурация:
Disabled features: gelf graphite icingastatus mainlog opentsdb perfdata statusdata syslog
Enabled features: api checker command compatlog debuglog ido-mysql livestatus notification
Я также создаю этот файл: /etc/icinga2/conf.d/api-users.conf
object ApiUser "root" {
password = "x.x"
permissions = [ "objects/*/Host" ]
}
служба systemd:
[Unit]
Description=Icinga host/service/network monitoring system
After=postgresql.service mariadb.service carbon-cache.service mysql.service yslog.target
[Service]
Type=simple
ExecStartPre=/usr/lib/icinga2/prepare-dirs /usr/lib/icinga2/icinga2
ExecStart=/usr/sbin/icinga2 daemon -e /var/log/icinga2/error.log
ExecReload=/usr/lib/icinga2/safe-reload /usr/lib/icinga2/icinga2
PIDFile=/run/icinga2/icinga2.pid
[Install]
WantedBy=multi-user.target
Единственный способ предотвратить появление операторов журнала - отключить api функции, что, конечно, нежелательно.
Я безрезультатно пытался настроить syslog, filelogger в файле .conf. Отключение функций debuglog, mainlog также приводит к рассылке спама.
Спасибо!
Похоже, это запись в журнале на уровне «Информация». Чтобы удалить это, вам нужно будет изменить ваш лог на более высокий уровень. В
/etc/icinga2/features-enabled/mainlog.conf
у меня есть
object FileLogger "main-log" {
severity = "information"
path = LocalStateDir + "/log/icinga2/icinga2.log"
}
В соответствии с документы следующим шагом от «информации» будет «предупреждение».
Похоже, такая же настройка должна быть доступна для SyslogLogger
который должен быть используемым вами регистратором.
Оказывается, это может быть системная вещь.
ExecStart=/usr/sbin/icinga2 daemon -e /var/log/icinga2/error.log --log-level warning
устраняет проблему методом перебора.
Это не совсем то, что я искал, но я могу с этим жить.
То, что вы видите, на самом деле не является выводом функции SyslogLogger Icinga2, а стандартным выводом процесса icinga2, следовательно, дублированной меткой времени. Документация говорит:
При запуске Icinga 2 на терминале сообщения журнала с информацией о серьезности или выше записываются в консоль.
Этого можно избежать, указав systemd перенаправить stdout в / dev / null:
# cat /etc/systemd/system/icinga2.service.d/stdout.conf
[Service]
StandardOutput=null