После понадобились пакеты:
- NDOUtils - собрать из соурсев не получилось, ругался на все подряд, и понял что зарылся когда полез уже в С код.
NDO2DB
bash
NagVis
Mysql55-server База будет вгружаться с помощью perl на сколько я помню.
В PHP-extensions должно быть собрано:
gd
gettext
mysql
mbstring
session
xml
Код: Выделить всё
cd /usr/ports/databases/mysql55-server && make && make install clean
cd /usr/ports/net-mgmt/ndoutils && make && make install clean
cd /usr/ports/shell/bash && make && make install clean
cd /usr/ports/net-mgmt/nagvis && make && make install
начнем
Код: Выделить всё
mysqladmin -u root -password пароль # паролим мускуль
mysql -u root -p
create database ndo; # создаем базу
grant all on ndo to 'root@localhost' identified by 'passwd' # nagvis требовал у меня этого пользователя
grant all on ndo to 'ndouser' identified by 'passwd' # это что бы писать в базу через ndo
cd /usr/local/share/ndoutils/ # ищем файл installdb
./installdb -u user -p password -h 127.0.0.1 -d ndo # заливаем нашу базу
Код: Выделить всё
mkdir /usr/local/nagios
mkdir /usr/local/nagios/var
mkdir /usr/local/nagios/bin
chown nagios:nagios на var и bin эти.
passwd nagios ####( я делал без пароля)
cd /usr/local/etc/nagios
cp ndo2db-sample ndo2db
cp ndoutils-sample ndoutils
cp ndomod-sample ndomod
В /usr/local/bin у меня так
Код: Выделить всё
# ls -la | grep ndo
-r-xr-xr-x 1 root wheel 16104 Dec 17 09:13 log2ndo
-rwxrwxr-- 1 nagios nagios 107272 Dec 17 09:13 ndo2db-3x
-rwxrwxr-- 1 nagios nagios 67120 Dec 17 09:13 ndomod-3x.o
broker_module=/usr/local/bin/ndomod-3x.o config_file=/usr/local/etc/nagios/ndomod.cfg
ОСТОРОЖНЕЙ ПРИ РЕДАКТИРОВАНИИ NDO*.cfg не делайте лишних пробелов.
ndo2db.cfg
Код: Выделить всё
lock_file=/usr/local/nagios/var/ndo2db.lock
ndo2db_user=nagios
ndo2db_group=nagios
socket_type=unix
#socket_type=tcp
socket_name=/usr/local/nagios/var/ndo.sock
tcp_port=5668
db_servertype=mysql
db_host=127.0.0.1
db_port=3306
db_name=ndo
db_prefix=nagios_
db_user=root
db_pass=
debug_file=/usr/local/nagios/var/ndo2db.debug
[codebroker_module=/usr/local/bin/ndomod-3x.o config_file=/usr/local/etc/nagios/ndomod.cfg
][/code] 1 строчка раскоменчена
ndomod.cfg
Код: Выделить всё
instance_name=default
#output_type=file
#output_type=tcpsocket
output_type=unixsocket
#output=/usr/local/nagios/var/ndo.dat
#output=127.0.0.1
output=/usr/local/nagios/var/ndo.sock
buffer_file=/usr/local/nagios/var/ndomod.tmp
tcp_port=5668
запускаем nagios и ndo2db из /usr/local/etc/rc.d/
tail -f /var/log/spool/nagios/nagios.log
Код: Выделить всё
[1387767119] ndomod: NDOMOD 1.4b8 (07-16-2009) Copyright (c) 2009 Nagios Core Development Team and Community Contributors
[1387767119] ndomod: Successfully connected to data sink. 0 queued items to flush.
[1387767119] Event broker module '/usr/local/bin/ndomod-3x.o' initialized successfully.
Единственные проблемы которые могут быть - это проблемы с правами на этой стадии.
Если все прошло удачно смотрим:
tail -f /usr/local/nagios/var/ndo2db.debug должен бежать лог SQL запросов.
Для спокойствия можете еще проверить mysql
mysql -u root -p
use ndo;
select * from nagios_services; к примеру - если не пусто то работает связка.
Далее нужно ковырять NagVis
Код: Выделить всё
cd /usr/local/www/nagvis
cp docs share/docs
cp nagvis-make-admin etc
mkdir /usr/local/www/nagvis/etc/profiles
cp /usr/local/www/nagvis/etc/nagvis.ini.php
cp /usr/local/www/nagvis/etc/apache2-nagvis.conf-sample /usr/local/etc/apache22/Includes/nagvis.conf
После необходимо создать админа
В etc должна создаться база auth.db, далее переходим в etc и правим в файле nagvis-make-admin 1 строчку /bin/bash на /usr/local/bin/bash
./nagvis-make-admin adminname
После пускает в веб интерфейс для конфигурации.
конфиг apache22/Includes/nagvis.conf
Код: Выделить всё
Alias /nagvis "/usr/local/www/nagvis/share/"
<Directory "/usr/local/www/nagvis/share/">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
AuthName "NagVis Access"
AuthType Basic
AuthUserFile /usr/local/etc/nagios/htpasswd.users # путь к файлу авторизации нагиоса
Require valid-user
конфиг apache22/Includes/nagios.conf
Код: Выделить всё
ScriptAlias /nagios/cgi-bin "/usr/local/www/nagios/cgi-bin"
<Directory "/usr/local/www/nagios/cgi-bin">
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
php_flag engine on
php_admin_value open_basedir /usr/local/www/nagios:/var/spool/nagios
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/etc/nagios/htpasswd.users
Require valid-user
</Directory>
Alias /nagios "/usr/local/www/nagios"
<Directory "/usr/local/www/nagios">
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/etc/nagios/htpasswd.users
Require valid-user
</Directory>
htpasswd /usr/local/etc/nagios/htpasswd.users username # добавление юзера в существующий файл.