Skip to content

Latest commit

 

History

History
89 lines (71 loc) · 2.28 KB

readme.md

File metadata and controls

89 lines (71 loc) · 2.28 KB

Cachet Monitor plugin

This is a monitoring plugin for CachetHQ.

screenshot

Features

  • Creates & Resolves Incidents
  • Posts monitor lag every second
  • Updates Component to Partial Outage
  • Updates Component to Major Outage if in Partial Outage
  • Can be run on multiple servers and geo regions

Docker Quickstart

  1. Create a configuration json
docker run -d \
  --name cachet-monitor \
  -h cachet-monitor \
  -v `pwd`/config.json:/etc/cachet-monitor.config.json \
  castawaylabs/cachet-monitor

Configuration

{
  "api_url": "https://demo.cachethq.io/api/v1",
  "api_token": "9yMHsdioQosnyVK4iCVR",
  "monitors": [
    {
      "name": "nodegear frontend",
      "url": "https://nodegear.io/ping",
      "metric_id": 0,
      "component_id": 0,
      "threshold": 80,
      "expected_status_code": 200,
      "strict_tls": true
    }
  ],
  "insecure_api": false
}

Notes:

  • metric_id is optional
  • insecure_api if true it will ignore HTTPS certificate errors (eg if self-signed)
  • strict_tls if false (true is default) it will ignore HTTPS certificate errors (eg if monitor uses self-signed certificate)
  • component_id is optional
  • threshold is a percentage
  • expected_status_code is a http response code
  • GET request will be performed on the url

How to run

Example:

  1. Set up Go
  2. go install github.com/castawaylabs/cachet-monitor
  3. cachet-monitor -c https://raw.githubusercontent.com/CastawayLabs/cachet-monitor/master/example.config.json

Production:

  1. Download the example config and save to /etc/cachet-monitor.config.json
  2. Run in background: nohup cachet-monitor 2>&1 > /var/log/cachet-monitor.log &
Usage of cachet-monitor:
  -c="/etc/cachet-monitor.config.json": Config path
  -log="": Log path
  -name="": System Name

Environment variables

Name Example Value Description
CACHET_API http://demo.cachethq.io/api URL endpoint for cachet api
CACHET_TOKEN randomvalue API Authentication token