Monitoring Funnelback

Background

The Funnelback software can be configured to send out an email indicating if an update has failed or completed successfully. This is built in to the product but requires the server to be configured to send via an SMTP server.

The Funnelback server can also be monitored using a monitoring service such as Nagios.

Monitoring checks should implement any authentication required to gain access to the pages that form part of the check.

Suggested checks

The following are suggested checks:

Service availability

Query service - HTTP

  • Request: HTTP request to http://<funnelback-server>/s/search.html?collection=<collection-name>

  • Response: Check for HTTP 200 OK response code

Query service - HTTPS

  • Request: HTTP request to https://<funnelback-server>/s/search.html?collection=<collection-name>

  • Response: Check for HTTP 200 OK response code

Admin service (Classic)

  • Request: HTTP request to https://<funnelback-server>:8443/search/admin/

  • Response: Check for HTTP 200 OK response code

Admin service - Marketing dashboard

  • Request: HTTP request to https://<funnelback-server>:8443/a/

  • Response: Check for HTTP 200 OK response code

Service response times

  • Request: HTTP/S request to:

  • http/s://<funnelback-server>/s/search.html?collection=<collection-name>&query=<known-query>

  • http/s://<funnelback-server>/s/search.json?collection=<collection-name>&query=<known-query>

  • http/s://<funnelback-server>/s/search.xml?collection=<collection-name>&query=<known-query>

  • http/s://<funnelback-server>/s/search.classic?collection=<collection-name>&query=<known-query>

    depending on what endpoint you are using.

  • Response: Measure response time

Query check

HTML endpoint

  • Request: HTTP/S request to http/s://<funnelback-server>/s/search.html?collection=<collection-name>&query=<known-query>

  • Response: Check response for presence of an expected result. Eg. for query=winnie a response containing the word pooh may be expected.

JSON endpoint

  • Request: HTTP/S request to http/s://<funnelback-server>/s/search.json?collection=<collection-name>&query=<known-query>

  • Response: Check response for presence of an expected result. Eg. for query=winnie a response containing the word pooh may be expected.

XML endpoint

  • Request: HTTP/S request to http/s://<funnelback-server>/s/search.xml?collection=<collection-name>&query=<known-query>

  • Response: Check response for presence of an expected result. Eg. for query=winnie a response containing the word pooh may be expected.

XML (classic) endpoint

  • Request: HTTP/S request to http/s://<funnelback-server>/s/search.classic?collection=<collection-name>&query=<known-query>

  • Response: Check response for presence of an expected result. Eg. for query=winnie a response containing the word pooh may be expected.

Index freshness

  • Request: HTTP/S request to http/s://<funnelback-server>/s/search.xml?collection=<collection-name>&query=<known-query> or http/s://<funnelback-server>/s/search.json?collection=<collection-name>&query=<known-query>

  • Response: Inspect the response for the value within the <collectionUpdated> XML field or collectionUpdated JSON field.

Analytics database age

  • Request: HTTP request to https://<funnelback-server>:8443/search/admin/analytics/Dashboard?collection=<collection-name>

  • Response: extract Report last updated: DD MMM YYYY value from the page source.

Server attributes

Monitoring of server attributes (disk space, CPU load, memory utilisation etc.) should be performed using standard monitoring procedures.