Monitoring an MDQ Server

This document shows how to use a library of bash scripts to monitor a metadata query (MDQ) server.

Getting Started

  1. Skim some related documentation on GitHub: Monitoring an HTTP Resource

  2. Install the bash library (see the bash library project page for details)

  3. 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:

  1. An IdP entityID

  2. 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.

Cron job