Subagent: oracle.nsm configuration.

Started by prutser, June 27, 2012, 11:55:48 AM

Previous topic - Next topic

prutser

Hello all,

I need to monitor some DB parameters. I noticed by accident, that there is an oracle.nsm subagent, that can monitor different DB-parameters. However after hours of trying, I still  do not succeed getting info back. Could someone please have a look?
The agent and the console are running both on different machines on win 2003 and the database is running on Centos Linux (Oracle 11; no agent installed). NetXMS version is 1.21.


1. I installed the server binary on both machines, because simply copying the oracle.ddr made the agent crash.
2. I added following lines to the agent config file:

#
# NetXMS agent configuration file
# Created by server installer at Wed Jun 27 09:51:15 2012
#

LogFile = {syslog}
Servers = <serverip>
InstallationServers = <serverip>
FileStore = C:\NetXMS121\var
RequireAuthentication = no
SubAgent = winperf.nsm
SubAgent = portcheck.nsm
SubAgent = oracle.nsm

*oracle
Id = DB1
TnsName = SID
UserName = USER
Password = PASS


3. After starting the agent via CMD prompt, I get the following:
(See attachment)

4. So everything looks allright, BUT requesting from the NetXMS console:
Oracle.DBInfo.IsReachable() => gives: 'Current value is "NO"'
Oracle.DBInfo.Name() => gives following error: 'Query agent' has encountered a problem. Cannot get current parameter value: Requested data collection item is not supported by agent.

I really have no idea anymore what has to be changed to make this work. Any help is really appreciated!!

Thanxx in advance,
Peter.





Victor Kirhenshtein

Hi!

You should specify database id when reading Oracle-specific parameters. In your config database id is DB1, so you should specify parameters as

Oracle.DBInfo.IsReachable(DB1)
Oracle.DBInfo.Name(DB1)

and so on. List of available parameters can be found here: http://wiki.netxms.org/wiki/Oracle_Monitoring_Subagent.

Best regards,
Victor

prutser

Hi Victor,

Thank you very much for your answer.
I'm sorry I was not entirely clear, but of course I do use Oracle(DBInfo.IsReachable(DB1)...
Do you hav any other suggestions?

Thank you very much & sincere greetings,
Peter.

BTW: We happily use NetXMS since release 0.2x I guess ;-)

Victor Kirhenshtein

Hi!

I'll consult with the person who knows more about Oracle then I do :)

Btw, is it possible to reference your organization on our users page (https://www.netxms.org/users/)?

Best regards,
Victor

macro

Hi,
Quote from: prutser on June 27, 2012, 11:55:48 AM
I really have no idea anymore what has to be changed to make this work. Any help is really appreciated!!

The Oracle subagent report unsupported parameter if the parameter cannot be read from the database. In 99% of cases this means that the database itself is inaccessible.

Please would you double-check that there is a correct TNS name is nxagentd.conf file. If yes then check if you can connect using the same TNS name from command line with sqlplus.

And btw, did you do this?

prutser

Sorry for the late reply. (Things are stressy here...)

(Yes, I know my way around in oracle databases...;-))
1. Yes I can connect via sqlplus to the database using the same username password and the same SID...
2. Yes, I have granted the rights as mentioned.

I personally think it has to do with the NetXMS client-NetXMS server connection... EG: it is also not allowed to edit the clients' config file from the NetXMS console...
If there are other suggestions, please feel free!

Thanxxx in advance!
Grtz,Peter


macro

Hi Peter,

Sorry for the late reply too!

Can you please post your full nxagentd.log from the agent run with -D 9. I'm particularly interested in what the agent reports when server asks parameters. Please run the agent,  request Oracle.DBInfo.Name() from the console and then copy the logfile.


prutser

Hi macro,

This is the (I think) relevant part of the agent:
...
[17-Jul-2012 14:19:13] [session:0] Sending message CMD_REQUEST_COMPLETED (size 4
8)
[17-Jul-2012 14:19:17] DBConnect: server=CS9DEV db=(null) login=SYSRDR schema=(n
ull)

[17-Jul-2012 14:19:19] [session:0] Received message CMD_GET_PARAMETER
[17-Jul-2012 14:19:19] [session:0] Requesting parameter "Icmp.LastPingTime(143.1
29.11.202)"...

Thank you veruy much in advance!

Grtz,Peter.

Victor Kirhenshtein

Hi!

You should see also something like

[session:0] Requesting parameter "Oracle.DBInfo.IsReachable(DB1)"

is it there? If yes, what is after that line?

Best regards,
Victor

prutser

Hi Victor,

No sorry, I don't see that line:

[17-Jul-2012 16:16:19] [session:0] GetParameterValue(): result is 0 (SUCCESS)
[17-Jul-2012 16:16:19] [session:0] Sending message CMD_REQUEST_COMPLETED (size 4
8)
[17-Jul-2012 16:16:20] DBConnect: server=CS9DEV db=(null) login=SYSRDR schema=(n
ull)
[17-Jul-2012 16:16:41] [session:0] Received message CMD_GET_PARAMETER
[17-Jul-2012 16:16:41] [session:0] Requesting parameter "Test(2,3)"
[17-Jul-2012 16:16:41] H_ExternalParameter called for "Test(2,3)" "S"Echo $1 $2"
"
[17-Jul-2012 16:16:41] H_ExternalParameter: command line is ""Echo 2 3""
[17-Jul-2012 16:16:41] H_ExternalParameter (shell exec): worker thread created
[17-Jul-2012 16:16:41] H_ExternalParameter/POpenWorker: worker thread pipe read
result: 00AAF788
[17-Jul-2012 16:16:41] H_ExternalParameter (shell exec): execution status 0
[17-Jul-2012 16:16:41] [session:0] GetParameterValue(): result is 0 (SUCCESS)
[17-Jul-2012 16:16:41] [session:0] Sending message CMD_REQUEST_COMPLETED (size 5
6)

Grtz,Peter.