source: monitoring/plugins/mpi/check_lat_oai_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.1 KB
Line 
1#!/usr/bin/python2
2
3import generic_tla_monitoring
4import os, pdb
5
6
7special_plugin_description = "OAI-PMH endpoint"
8special_plugin_file_name = os.path.basename(__file__)
9OAI_namespace = "http://www.openarchives.org/OAI/2.0/"
10command_line_parameters = [("-s", "scheme"), 
11                           ("-h", "host",),
12                           ("-u", "http_path",),
13                           ("-p", "port_number",)]
14
15
16def special_main_subroutine(host, 
17                            http_path,
18                            port_number) : 
19
20    http_paths = (http_path,) # X- use frozenset
21
22    ## Warning: check of validity of returned data relies on the XML namespace OAI_NAMESPACE of the returned XML markup.
23    valid_root_element_tag  = "{%s}OAI-PMH" % (OAI_namespace)
24   
25    ## Check status for all http_paths.
26    results = \
27        map(lambda http_path : generic_tla_monitoring.check_condition(host                      = host,
28                                                                      http_path                 = http_path,
29                                                                      HTTP_method               = 'GET',
30                                                                      protocol                  = scheme, 
31                                                                      port_number               = port_number,
32                                                                      authorize                 = True,
33                                                                      validator                 = generic_tla_monitoring.check_XML_validity,
34                                                                      valid_root_element_tag    = valid_root_element_tag,
35                                                                      special_plugin_file_name  = special_plugin_file_name),
36            http_paths)   
37   
38    generic_tla_monitoring.nagios_return_complex(results, 
39                                                 reporter = special_plugin_description)
40
41if __name__ == "__main__" :
42    generic_tla_monitoring.main(special_main_subroutine, 
43                                command_line_parameters)
Note: See TracBrowser for help on using the repository browser.