rakshazi/fping

There is no license information available for the latest version (1.1.1) of this package.

Simple microservice / function to check target health

1.1.1 2018-04-11 08:34 UTC

This package is auto-updated.

Last update: 2024-04-13 20:39:38 UTC


README

Simple microservice / function to check target server, site, etc status.

Table of Contents

Usage

Docker

docker run -d -p 8080:8080 rakshazi/fping

curl -X POST -d "type=HTTP&address=https://google.com" localhost:8080

#response
{"status_code":200,"time":0.448615,"should_contain":true,"should_not_contain":true,"status":true}

OpenFaaS

Coming soon...

Composer (optional)

If you want to use fping "as-is", without docker, you can install it with composer:

composer require rakshazi/fping

API

Request

fping built on top of OpenFaaS Watchdog to provide simple API and integration with OpenFaaS.

To call fping, you should send POST request to fping address (in example above - localhost:8080) with following body structure:

json:

{
    "type": "Check type",
    "address": "Target server/site address",
    "timeout": 5, //integer timeout in seconds
    "optional": {} //optional params, specific for each check type
}

raw form:

type=Check type&address=Target address&timeout=5&optional[param1]=val1&optional[param2]=val2

Response

json:

{
    "status_code":200, //HTTP response status code
    "time":448, //response time in ms
    "should_contain":true, //optional for HTTP
    "should_not_contain":true, //optional for HTTP
    "status":true //check status - is target up or down
}

Check types

HTTP

Check HTTP(-s) targets.

optional params:

  • should_contain - Check response body for that string, check passed if string was found
  • should_not_contain - Check response body for that string, check failed if string was found

Example:

curl -X POST -d "type=HTTP&address=https://example.com&timeout=5&optional[should_contain]=healthy&optional[should_not_contain]=error" localhost:8080