Page 2 of 2

Re: Missing commands after plugin installation

Posted: Wed Dec 09, 2015 4:52 pm
by giant69
I tried to install the oracle plugin twice without any effect - regarding the missing commands in nagiosxi.
I'm quite sure, I didn't delete any command definition so far. And since I installed the oracle instant client in order of the installation process of the plugin, I'm quite sure I did nothing invasive modification to the nagios installation. If I only understand, which installation process was providing these commands - the nagiosxi oder oracle plugin?

I will check the restore-script tomorrow. Since this is an evaluation system for monitoring solutions of our 250+ Oracle&Hana based SAP environment - we can easily start from the scratch.

Re: Missing commands after plugin installation

Posted: Thu Dec 10, 2015 10:16 am
by giant69
I've learned, the command definition is stored inside the database and will be recreated during the import of the SQL-File nagiosql_defaults.sql. I also see, that these commands are quite equal except their command definition name. So, I could just easily redefine those commands - if I want to make use of these three oracle wizards, couldn't I?

Furthermore I've checked the database content also and found something curious:
Since I have some command definition written on my own, I see another problem arising - beside the three missing command definition: The column command_line of the table nagios_commands inside the mysql database nagios has a length of only varchar(255).
I see my own command definition incomplete and only in full length in the commands.cfg file?! How would a later backup and recovery reflect this topic?

This is from the database:
/usr/bin/env LD_LIBRARY_PATH=/usr/lib/oracle/12.1/client64/lib ORACLE_HOME=/usr/lib/oracle/12.1/client64 $USER1$/check_oracle_health --connect '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=$ARG1$)(PORT=$ARG2$))(CONNECT_DATA=(SID=$ARG3$)))' --username monitor

And this is the corresponding line inside the commands.cfg:
define command {
command_name check_oracle_datafile-io-traffic
command_line /usr/bin/env LD_LIBRARY_PATH=/usr/lib/oracle/12.1/client64/lib ORACLE_HOME=/usr/lib/oracle/12.1/client64 $USER1$/check_oracle_health --connect '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=$ARG1$)(PORT=$ARG2$))(CONNECT_DATA=(SID=$ARG3$)))' --username monitor --password 12345678 --mode datafile-io-traffic
}

Could you please enlighten me?

Re: Missing commands after plugin installation

Posted: Thu Dec 10, 2015 5:12 pm
by rkennedy
You can make your own commands, and reference your own scripts.

The size of this will set as the same size it was in your previous version. Thought I do see your concern, as it does inded truncate.

This command should work to expand the table -

Code: Select all

echo "use nagios;alter table nagios_commands modify command_line varchar(1024) not null;" | mysql -pnagiosxi

Re: Missing commands after plugin installation

Posted: Fri Dec 11, 2015 3:35 am
by giant69
The extention on 1024byte is even for your own commands - for example the nagioscore notification handler (913 chars) - barely enough:

/usr/bin/php /usr/local/nagiosxi/scripts/handle_nagioscore_notification.php --notification-type=service --contact="$CONTACTNAME$" --contactemail="$CONTACTEMAIL$" --type=$NOTIFICATIONTYPE$ --escalated="$NOTIFICATIONISESCALATED$" --author="$NOTIFICATIONAUTHOR$" --comments="$NOTIFICATIONCOMMENT$" --host="$HOSTNAME$" --hostaddress="$HOSTADDRESS$" --hostalias="$HOSTALIAS$" --hostdisplayname="$HOSTDISPLAYNAME$" --service="$SERVICEDESC$" --hoststate=$HOSTSTATE$ --hoststateid=$HOSTSTATEID$ --servicestate=$SERVICESTATE$ --servicestateid=$SERVICESTATEID$ --lastservicestate=$LASTSERVICESTATE$ --lastservicestateid=$LASTSERVICESTATEID$ --servicestatetype=$SERVICESTATETYPE$ --currentattempt=$SERVICEATTEMPT$ --maxattempts=$MAXSERVICEATTEMPTS$ --serviceeventid=$SERVICEEVENTID$ --serviceproblemid=$SERVICEPROBLEMID$ --serviceoutput="$SERVICEOUTPUT$" --longserviceoutput="$LONGSERVICEOUTPUT$" --datetime="$LONGDATETIME$"


The background of my question about the database and configfiles: I try to understand the mechanismen of nagiosxi for possible ways of automatic service configuration at nagiosxi.

Re: Missing commands after plugin installation

Posted: Fri Dec 11, 2015 3:25 pm
by tmcdonald
You can increase it higher if you want, really shouldn't cause any problems.

Regarding automation, I do need to point out that manually modifying the database can cause serious damage if done improperly, and is not something we can recommend or support.

Re: Missing commands after plugin installation

Posted: Wed Dec 16, 2015 4:25 am
by giant69
tmcdonald wrote:You can increase it higher if you want, really shouldn't cause any problems.
Yes, I guessed that already. I just wonder about the short default setting where even your own command definitions wont fit in. Are you really working with this database or tables or is this for "future use" or something? You couldn't rely on this really...
Regarding automation, I do need to point out that manually modifying the database can cause serious damage if done improperly, and is not something we can recommend or support.
Manually modifying the database is nothing we have in mind. As you can imagine, we don't wont to setup every database service by hand - even in our small environment of 80 hosts with 200 databases and roundabout 400 services in it.
Most of our database and host provisioning is nearly automated, and so the implementation of new services and hosts in Nagios should be.

Re: Missing commands after plugin installation

Posted: Wed Dec 16, 2015 3:07 pm
by tgriep
For your reference, here are how the commands and service templates are defined. You may have to edit the LIBRARY_PATH and ORACLE_HOME paths to match your environment.

Service Templates

Code: Select all

define service {
       name                                     xiwizard_oraclequery_service
       use                                      xiwizard_generic_service
       check_command                            check_xi_oraclequery
       register                                 0
       
}
       
define service {
       name                                     xiwizard_oracleserverspace_service
       use                                      xiwizard_generic_service
       check_command                            check_xi_oracleserverspace
       register                                 0
       
}
 
define service {
       name                                     xiwizard_oracletablespace_service
       use                                      xiwizard_generic_service
       check_command                            check_xi_oracletablespace
       register                                 0   
       
}
Commands definitions

Code: Select all

define command {
       command_name                             check_oracle_db
       command_line                             /usr/bin/env LD_LIBRARY_PATH=/usr/lib/oracle/12.1/client64/lib ORACLE_HOME=/usr/lib/oracle/12.1/client64 TNSADMIN=/usr/lib/oracle/12.1/client64/network/admin /usr/local/nagios/libexec/check_oracle_health --connect '$ARG1$' --username '$USER13$' --password '$USER14$' --mode $ARG2$ $ARG3$
}

define command {
       command_name                             check_xi_oraclequery
       command_line                             /bin/env LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib ORACLE_HOME=/usr/lib/oracle/11.2/client64 $USER1$/check_oracle_health $ARG1$
}
 
define command {
       command_name                             check_xi_oracleserverspace
       command_line                             /usr/bin/env LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client/lib ORACLE_HOME=/usr/lib/oracle/11.2/client $USER1$/check_oracle_health $ARG1$
}
 
define command {
       command_name                             check_xi_oracletablespace
       command_line                             /usr/bin/env LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client/lib ORACLE_HOME=/usr/lib/oracle/11.2/client $USER1$/check_oracle_health $ARG1$
}

Re: Missing commands after plugin installation

Posted: Thu Dec 17, 2015 3:44 am
by giant69
tgriep wrote:For your reference, here are how the commands and service templates are defined....
Thank you very much!

Re: Missing commands after plugin installation

Posted: Thu Dec 17, 2015 1:12 pm
by rkennedy
Do you mind if I mark this as resolved, and close this thread out?

Re: Missing commands after plugin installation

Posted: Fri Dec 18, 2015 2:28 am
by giant69
rkennedy wrote:Do you mind if I mark this as resolved, and close this thread out?
Not all my questions are answered, but yes - close it - most of them are off topic.