NetXMS + DB Oracle

Started by sign63, August 30, 2013, 07:48:56 AM

Previous topic - Next topic

sign63

Всем доброго времени суток!

Использую "NetXMS" для мониторинга серверов.
Также отдельно для мониторинга БД Oracle использую "ashv-3.4"
Прикрепляю ее скрины...
http://s019.radikal.ru/i630/1308/0e/53ce1e8e7ea9.png
http://s017.radikal.ru/i422/1308/1f/91228fa3b1fd.png

Вопрос: может ли  "NetXMS"  делать тоже, что и  "ashv-3.4"?

Если Да                -> то как?
Если Не полностью -> то насколько?
Если Нет               -> то нет ;)

Жду ответа, заранее спасибо

Victor Kirhenshtein

Скорее может чем нет :) Для NetXMS есть субагент для мониторинга Oracle (http://wiki.netxms.org/wiki/Subagent:Oracle), он дает кое-какую информацию. Мы его можем легко расширить, проблема скорее в том что мы не знаем, что именно надо мониторить в Oracle в реальной жизни. Так что пробуйте, по отзывам будем улучшать агента :)

sign63

#2
Посмотрел http://wiki.netxms.org/wiki/Subagent:Oracle#INI_configuration
а также наткнулся на https://www.netxms.org/forum/general-support/oracle-agent-netxms-1-2-4/

Нужно мониторить 1ну БД и так как я понял нужно в INI файл записать
Quote
SubAgent = oracle.nsm

*ORACLE
ID =
/*
какой параметр сюда подставлять?
translate->База данных идентификатора. Он будет использоваться для решения этой базы данных в параметрах.
*/
TNSName = ORCL
Username = log
Password = pass

Вопрос на стороне клиента это делать или на сервере.
http://i058.radikal.ru/1309/8d/a6fbd19a5d27.png
На сервере есть ini файлы:(config.ini, nxmc.ini, start.ini)


Я уже везде все попробовал, но отображать никак не хочет, даже не могу проверить никак доходит до него oraclе или нет

Victor Kirhenshtein

Это надо делать на том агенте, который будет подключаться к базе. На скриншоте отсутствует начало секции ORACLE, возможно в этом проблема. Для диагностики можно запустить агента в дебаг режиме (с ключом -D9), тогда будет видно, подключается он к базе или нет (только перед этим обязательно поставить лог в файл).

sign63

Сервер:
http://s018.radikal.ru/i523/1309/71/d52c2d179469.png
подставлял "orcl" в (*) все равно никак

http://s003.radikal.ru/i201/1309/97/36d30f4482d3.png

конфиг сервера:
http://s019.radikal.ru/i600/1309/d2/c957259c8601.png
------------------------------------------------------------
Клиент конфиг:
http://s012.radikal.ru/i319/1309/ac/809d96201452.png

что не так?

Alex Kirhenshtein

Agent.IsSubagentLoaded не относится к oracle субагенту, это параметр самого core агента. пример:
root@demo:~# nxget localhost "Agent.IsSubagentLoaded(oracle)"
1
root@demo:~# nxget localhost Agent.IsSubagentLoaded(linux)"
1
root@demo:~# nxget localhost Agent.IsSubagentLoaded(somethingnotloaded)
0


"ID" в конфигурации оракл-субагента позволяет мониторить через один агент несколько разных баз, его нужно подставлять в все Oracle.* DCI-и первым параметром.

Пример конфигурации с моей демо системы:

nxagentd.conf:
MasterServers=0.0.0.0/0
LogFile=/var/log/nxagentd
Subagent=xfsdummy.nsm
Subagent=oracle.nsm

*oracle
ID=db1
TNSName=//127.0.0.1/XE
UserName=netxms
Password=netxms


Скриншот настроек в аттаче.

Так же в аттаче темплейт, в котором есть все DCI-и настроенные на id="db1" (без трешхолдов)

sign63

#6
поправил
http://i031.radikal.ru/1309/58/4fab24f26cee.png
но "oracle" в функциях не вижу
http://i069.radikal.ru/1309/ef/6be8f1058335.png

если знаете как сделать распишите пожалуйста поподробнее я не администратор :-\

sign63

Тема все еще актуальна и не раскрыта...

Victor Kirhenshtein

Попробуйте просто ORCL в качестве TNSName, раз он прописан в tnsnames. Ну и запуск агента с дебагом прояснил бы ситуацию - вполне возможно что не выставлен например ORACLE_HOME и клиент не может нормально работать, или еще что-то (я писал выше как агента в дебаг режимне запустить).

sign63

На скринах не видно но добавил на клиенте
LogFile = C:\NetXMS\var\log\netxms.log

лог


05-Sep-2013 13:54:01.091] Log file opened
[05-Sep-2013 13:54:01.091] Additional configs was loaded from C:\NetXMS\etc\nxagentd.conf.d
[05-Sep-2013 13:54:01.092] Debug level set to 0
[05-Sep-2013 13:54:01.103] Subagent "WINNT.NSM" loaded successfully
[05-Sep-2013 13:54:01.141] Subagent "winperf.nsm" loaded successfully
[05-Sep-2013 13:54:01.142] DB Library: Unable to load database driver module "oracle.ddr": The specified module could not be found.
[05-Sep-2013 13:54:01.142] oracle: failed to load db driver
[05-Sep-2013 13:54:01.142] Initialization of subagent "oracle.nsm" failed
[05-Sep-2013 13:54:02.143] Listening on socket 0.0.0.0:4700
[05-Sep-2013 13:54:03.143] NetXMS Agent started

Victor Kirhenshtein

Вообщем баг в инсталлере - забыли положить oracle.ddr :) У вас 32 или 64 бита система?

sign63

#11
агент, винда - все 64.
Можете скинуть этот ddr мне и сказать как его установить вручную?

Victor Kirhenshtein

#12
oracle.ddr  в аттаче (собран для версии 1.2.8). Достаточно просто скопировать его в bin каталог агента.


sign63

#13
Ура) Спасибо большое)
И еще указал:
ID = //localhost/orcl


Также при вызове параметра на сервере необходимо указать данный ID:
Oracle.Sessions.Count(//localhost/orcl)
Показывает количество сессий

oruel

Ребята такая же проблема нет oracle.ddr для последнего агента 32битная система nxagent-1.2.9.exe.
Где можно взять ?

Плюс у Вас баг, при инсталяции сервера с использованием в качестве БД Оракла инсталятор затыкается на создании функции zero_to_null не срослось что то со знаком " ; " пришлось ручками править.