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

Ошибка PHP / Mk-livestatus в Nagvis

У меня установлены Nagios и Nagvis через пакеты Debian, но когда я запускаю Nagvis и пытаюсь войти в меню «Общая конфигурация», я получаю эту ошибку

Error: (0) Array to string conversion (/usr/share/nagvis/share/server/core/classes/WuiViewEditMainCfg.php:126)

#0 /usr/share/nagvis/share/server/core/classes/WuiViewEditMainCfg.php(126): nagvisExceptionErrorHandler(8, 'Array to string...', '/usr/share/nagv...', 126, Array)
#1 /usr/share/nagvis/share/server/core/classes/WuiViewEditMainCfg.php(44): WuiViewEditMainCfg->getFields()
#2 /usr/share/nagvis/share/server/core/classes/CoreModMainCfg.php(56): WuiViewEditMainCfg->parse()
#3 /usr/share/nagvis/share/server/core/functions/index.php(120): CoreModMainCfg->handleAction()
#4 /usr/share/nagvis/share/server/core/ajax_handler.php(63): require('/usr/share/nagv...')
#5 {main}

У меня также проблема с бэкэндами в Nagvis. check-mk-livestatus установлен, но я получаю эту ошибку при наведении курсора на элементы:

Problem (backend: live_1): Unable to connect to the /var/lib/nagios3/rw/live in backend live_1: Connection refused

Или при попытке добавить вещи:

Unable to fetch data from backend - falling back to input field.

/ var / lib / nagios3 / rw / существует, но нет "живого" файла. Я действительно не уверен, что происходит, тем более что все это были пакеты Debian ... Вот самая важная часть nagvis.ini.php:

; ----------------------------
; Backend definitions
; ----------------------------

; Example definition of a livestatus backend.
; In this case the backend_id is live_1
; The path /usr/local/nagios/var/rw has to exist
[backend_live_1]
backendtype="mklivestatus"
; The status host can be used to prevent annoying timeouts when a backend is not
; reachable. This is only useful in multi backend setups.
;
; It works as follows: The assumption is that there is a "local" backend which
; monitors the host of the "remote" backend. When the remote backend host is
; reported as UP the backend is queried as normal.
; When the remote backend host is reported as "DOWN" or "UNREACHABLE" NagVis won't
; try to connect to the backend anymore until the backend host gets available again.
;
; The statushost needs to be given in the following format:
;   "<backend_id>:<hostname>" -> e.g. "live_2:nagios"
;statushost=""
socket="unix:/var/lib/nagios3/rw/live"

В /var/log/nagios3/nagios.log нет ничего, относящегося к «backends» или «mklivestatus». Любая помощь будет принята с благодарностью.

Проблема с Нагвисом - это известная ошибка, который, по-видимому, был исправлен в апстриме.

Проблема с сокетом в каталоге rw может быть связана с проблемой разрешений, которая хорошо задокументирована в /usr/share/doc/nagios3/README.Debian.

Я знаю, что это может быть немного поздно, у меня была такая же проблема. Исправьте это так:

cd ~/source
wget wget http://mathias-kettner.com/download/mk-livestatus-1.2.4p2.tar.gz
tar zxvf mk-livestatus-1.2.4p2.tar.gz
cd mk-livestatus-1.2.4p2/
./configure --with-nagios4      (Or nagios3)
make install
vi /usr/local/nagios/etc/nagios.cfg

Добавить:

broker_module=/usr/local/lib/mk-livestatus/livestatus.o /usr/local/nagios/var/rw/live
event_broker_options=-1

Под:

#broker_module=/somewhere/module1.o
#broker_module=/somewhere/module2.o arg1 arg2=3 debug=0

chown -R nagios:nagcmd /usr/local/nagios/var/rw
service nagios restart