source: monitoring/plugins/mpi/check_lat_cql_endpoint.py @ 4057

Last change on this file since 4057 was 4057, checked in by sanmai, 11 years ago
  • Make protocol/scheme (http, https) a command-line parameter and an internal

parameter. Fixes redirects from http URLs to https URLs and vice versa.

  • Property svn:executable set to *
File size: 2.2 KB
Line 
1#!/usr/bin/python2
2
3import generic_tla_monitoring
4import os, pdb
5
6
7special_plugin_description = "CQL endpoint"
8special_plugin_file_name = os.path.basename(__file__)
9CQL_namespace = "http://www.loc.gov/zing/srw/"
10command_line_parameters = [("-s", "scheme"), 
11                           ("-h", "host",),
12                           ("-u", "http_path",),
13                           ("-p", "port_number",)]
14
15
16def special_main_subroutine(scheme, 
17                            host, 
18                            http_path,
19                            port_number) : 
20   
21    http_paths = (http_path,) # X- allow for multiple URLs?
22
23    ## Warning: check of validity of returned data relies on the XML namespace CQL_NAMESPACE of the returned XML markup.
24    valid_root_element_tag = "{%s}explainResponse" % (CQL_namespace)
25   
26    ## Check status for all http_paths.
27    results = \
28        map(lambda http_path : generic_tla_monitoring.check_condition(host                      = host,
29                                                                      http_path                 = http_path,
30                                                                      protocol                  = scheme, 
31                                                                      HTTP_method               = 'GET', 
32                                                                      port_number               = port_number, 
33                                                                      authorize                 = True, 
34                                                                      validator                 = generic_tla_monitoring.check_XML_validity,
35                                                                      valid_root_element_tag    = valid_root_element_tag,
36                                                                      special_plugin_file_name  = special_plugin_file_name),
37            http_paths)
38   
39    generic_tla_monitoring.nagios_return_complex(results, reporter = special_plugin_description)
40
41if __name__ == "__main__" :
42    generic_tla_monitoring.main(special_main_subroutine,
43                                command_line_parameters = command_line_parameters)
Note: See TracBrowser for help on using the repository browser.