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

Как настроить icinga2 apilistener logger

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