Using external commands in Nagios


 
Thread Tools Search this Thread
Special Forums News, Links, Events and Announcements UNIX and Linux RSS News Using external commands in Nagios
# 1  
Old 11-20-2008
Using external commands in Nagios

11-20-2008 01:00 PM
System monitoring tool Nagios offers a powerful mechanism for receiving events and commands from external applications. External commands are usually sent from event handlers or from the Nagios Web interface. You will find external commands most useful when writing event handlers for your system, or when writing an external application that interacts with Nagios.



Source...
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Grabbing fields without using external commands

data: bblah1_blah2_blah3_blah4_blah5 bblahA_blahB_blahC_blahD_blahE im using the following code to grab the field i want: cat data | while IFS='_' read v1 v2 v3 v4 v5; do printf '%s\n' "${v4}"; done im catting data here. in the real world, the exact content of data will be in a variable.... (4 Replies)
Discussion started by: SkySmart
4 Replies

2. Infrastructure Monitoring

Nagios check dependent on second nagios server

We have a dual Nagios server setup. One is setup for internal server monitoring on our LAN, while the second Nagios server is hosted externally and is used for external checks only such as URL and ping checks form the WAN side. I was wondering if there is any way to setup cross dependencies... (1 Reply)
Discussion started by: eugenes18t
1 Replies

3. Infrastructure Monitoring

How secure using Nagios?

Hello Experts, I have my windows servers located at different data-centers across US and I am monitoring all of them using Nagios server configured on a CentOS. All communications are done via public IP address and I doubt it can invite some security threats too. Can anyone let me know if it is... (3 Replies)
Discussion started by: naw_deepak
3 Replies

4. Shell Programming and Scripting

[Solved] Value of a variable is not recognised for commands comes from external file

Hi, my script is setting a variable with value and this variable is present in my another command that is coming from external file and this command is internally called after this variable is set. but while execution of this command, the value is not retrieved properly. say, my script... (5 Replies)
Discussion started by: rbalaj16
5 Replies

5. AIX

HACMP: difference between 'cl' commands and 'cli' commands

Hi all, I'm new in this forum. I'm looking for the difference between the HACMP commands with the prefix "cl" and "cli". The first type are under /usr/es/sbin/cluster/sbin directory and the second are under /usr/es/sbin/cluster/cspoc directory. I know that the first are called HACMP for AIX... (0 Replies)
Discussion started by: peppix
0 Replies

6. Web Development

cgi script and external UNIX commands (like swadm)

Hi, I am trying to implement a server monitoring dashboard using cgi scripting. I am planning to run the necessary unix scripts from the web page using cgi. This method works fine for standard unix commands but I am unable to run some external unix commands (like swadm show_processes, swadm... (9 Replies)
Discussion started by: jofinjoseph
9 Replies

7. Infrastructure Monitoring

Nagios 3.2.2 on RHEL 5

Hi, Installed it and all seems okay except when I try to actually use it. :-( Visiting my nagios url, it says Logs and conf's follow: nagios.log is: # cat /usr/local/nagios/var/nagios.log | tail -5 Successfully shutdown... (PID=3613) Nagios 3.2.2 starting... (PID=4645)... (7 Replies)
Discussion started by: smcracraft
7 Replies

8. Red Hat

nagios configuration

HI all, This is my first topic in this forum. I have a test environment which has a fedora in it and i installed nagios 3.0.6 I added windows clients into it. But i am not getting informative outputs from it. Can anyone tell me where i can edit inorder to get a more informative garph output.... (4 Replies)
Discussion started by: Renjesh
4 Replies

9. Shell Programming and Scripting

Can BASH execute commands on a remote server when the commands are embedded in shell

I want to log into a remote server transfer over a new config and then backup the existing config, replace with the new config. I am not sure if I can do this with BASH scripting. I have set up password less login by adding my public key to authorized_keys file, it works. I am a little... (1 Reply)
Discussion started by: bash_in_my_head
1 Replies

10. Programming

code that reads commands from the standard i/p and executes the commands

Hello all, i've written a small piece of code that will read commands from standard input and executes the commands. Its working fine and is execting the commands well. Accepting arguments too. e.g #mkdir <name of the directory> The problem is that its not letting me change the directory i.e... (4 Replies)
Discussion started by: Phrozen Smoke
4 Replies
Login or Register to Ask a Question
Nagios::Object::Config(3pm)				User Contributed Perl Documentation			       Nagios::Object::Config(3pm)

NAME
Nagios::Object::Config - Perl objects to represent Nagios configuration DESCRIPTION
This is a module for parsing and processing Nagios object configuration files into perl objects. METHODS
new() Create a new configuration object. If Version is not specified, the already weak validation will be weakened further to allow mixing of Nagios 1.0 and 2.0 configurations. For now, the minor numbers of Version are ignored. Do not specify any letters as in '2.0a1'. To enable regular expression matching, use either the "regexp_matching" or "true_regexp_matching" arguments to new(). See enable_regexp_matching() and enable_true_regexp_matching() below. my $objects = Nagios::Object::Config->new(); my $objects = Nagios::Object::Config->new( Version => 1.2 ); my $objects = Nagios::Object::Config->new( Version => 2.0, regexp_matching => 1, true_regexp_matching => 2 ); parse() Parse a nagios object configuration file into memory. Although Nagios::Objects will be created, they are not really usable until the register() method is called. $parser->parse( "myfile.cfg" ); find_object() Search through the list of objects' names and return the first match. The second argument is optional. Always using it can considerably reduce the size of the list to be searched, so it is recommended. my $object = $parser->find_object( "localhost" ); my $object = $parser->find_object( "oracle", "Nagios::Service" ); find_objects() Search through the list of objects' names and return all the matches. The second argument is required. my @object_list = $parser->find_objects( "load", "Nagios::Service" ); find_objects_by_regex() Search through the list of objects' names and return a list of matches. The first argument will be evaluated as a regular expression. The second argument is required and specifies what kind of object to search for. The regular expressions are created by translating the "*" to ".*?" and "?" to ".". For now (v0.9), this code completely ignores Nagios's use_regexp_matching and use_true_regexp_matching and does full RE matching all the time. my @objects = $parser->find_objects_by_regex( "switch_*", "Nagios::Host" ); my @objects = $parser->find_objects_by_regex( "server0?", "Nagios::Host" ); all_objects_for_type() Obtain a reference to all objects of the specified Nagios object type. Usage: $objects = all_objects_for_type($object_type) Parameters: $object_type - A specific Nagios object type, i.e. "Nagios::Contact".. Returns: A reference to an array of references to all objects of the specified type associated with this configuration. Objects of this type added to the configuration following the call to this method _will_ be accessible through this reference after the fact. Note that the array reference by the return value may be empty. Example: my $contacts = $config->all_objects_for_type("Nagios::Contact"); if (scalar(@$contacts) == 0) { print "No contacts have yet been defined "; } else { foreach $contact (@$contacts) { ... } } all_objects() Returns an arrayref with all objects parsed from the config in it. my $everything = $config->all_objects; find_attribute() Search through the objects parsed thus far, looking for a particular textual name. When found, return that object. If called with two arguments, it will search through all objects currently loaded until a match is found. A third argument may specify the type of object to search for, which may speed up the search considerably. my $object = $parser->find_attribute( "command_name", "check_host_alive" ); my $object = $parser->find_attribute( "command_name", "check_host_alive", 'Nagios::Host' ); resolve() Resolve the template for the specified object. Templates will not work until this has been done. $parser->resolve( $object ); register() Examine all attributes of an object and link all of it's references to other Nagios objects to their respective perl objects. If this isn't called, some methods will return the textual name instead of a perl object. $parser->register( $host_object ); my $timeperiod_object = $host_object->notification_period; resolve_objects() Resolve all objects currently loaded into memory. This can be called any number of times without corruption. $parser->resolve_objects(); register_objects() Same deal as resolve_objects(), but as you'd guess, it registers all objects currently loaded into memory. $parser->register_objects(); enable_regexp_matching()/disable_regexp_matching() This correlates to the "use_regexp_matching" option in nagios.cfg. When this option is enabled, Nagios::Object::Config will translate "*" to ".*?" and "?" to "." and evaluate the result as a perl RE, anchored at both ends for any value that can point to multiple other objects (^ and $ are added to either end). $parser->enable_regexp_matching; $parser->disable_regexp_matching; enable_true_regexp_matching()/disable_true_regexp_matching() This correlates to the "use_true_regexp_matching" option in nagios.cfg. This is very similar to the enable_regexp_matching() option, but matches more data and allows more powerful RE syntax. These modules will allow you the full power of perl RE's - this is probably more than is available in Nagios, so don't blame me if something works here but not in Nagios (it's usually the other way around anyways). The generated RE's have the same translation as above, but do not have the anchors to ^ and $. This option always supercedes enable_regexp_matching. $parser->enable_true_regexp_matching; $parser->disable_true_regexp_matching; list_hosts(), list_hostgroups(), etc. Returns an array/arrayref of objects of the given type. $config->list_hosts $config->list_hostgroups $config->list_services $config->list_timeperiods $config->list_commands $config->list_contacts $config->list_contactgroups $config->list_hostdependencies $config->list_servicedependencies $config->list_hostescalations $config->list_hostgroupescalations $config->list_serviceescalations $config->list_servicegroups $config->list_hostextinfo $config->list_serviceextinfo AUTHOR
Al Tobey <tobeya@cpan.org> Contributions From: Lynne Lawrence (API & bugs) perl v5.12.4 2011-10-22 Nagios::Object::Config(3pm)