Monitoring an MDQ Server
This document shows how to use a library of bash scripts to monitor a metadata query (MDQ) server.
Getting Started
Skim some related documentation on GitHub: Monitoring an HTTP Resource
Install the bash library (see the bash library project page for details)
Configure the bash environment (see the bash library project page for details)
Testing a Single Entity
Experiment 1: Given an IdP entityID, test a single metadata resource on the MDQ server.
Required info:
An IdP entityID
An MDQ base URL
An MDQ base URL is needed to configure a Shibboleth DynamicHTTPMetadataProvider as well.
The following values are for illustration only:
Initialize parameters
$ entityID=https://webauth.umass.edu/idp/shibboleth
$ mdq_base_url=http://mdq-beta.incommon.org/global
Compute the corresponding MDQ protocol request URL:
Compute the MDQ protocol URL
$ location=$( $BIN_DIR/mdq_url.bash $mdq_base_url $entityID )
$ echo $location
http://mdq-beta.incommon.org/global/entities/https%3A%2F%2Fwebauth.umass.edu%2Fidp%2Fshibboleth
Test the MDQ server by requesting entity metadata:
Run the test
$ $BIN_DIR/http_response_stats.bash -n 1 $location
The previous command outputs the following JSON file on stdout:
Default output
Limit the size of the JSON array to one object but output all available timing data:
Run the test again
The previous command outputs the following JSON file on stdout:
All output
For more information, consult the script’s inline help message:
Display help message
Monitoring the MDQ Server
Set up a cron job for the previous test.