* 'monitor_interval' of https://github.com/Soulou/cachet-monitor: update readme Implement 'inteval' config parameter -> number of seconds between checks # Conflicts: # cachet/config.go # main.go # monitor.go # readme.md
2.6 KiB
2.6 KiB
Cachet Monitor plugin
This is a monitoring plugin for CachetHQ.
Features
- Creates & Resolves Incidents
- Posts monitor lag (interval configurable)
- Updates Component to Partial Outage
- Updates Component to Major Outage if in Partial Outage
- Can be run on multiple servers and geo regions
Configuration
{
"api_url": "https://demo.cachethq.io/api/v1",
"api_token": "<API TOKEN>",
"interval": 60,
"monitors": [
{
"name": "Name of your monitor",
"url": "Ping URL",
"metric_id": <metric id from cachet>,
"component_id": <component id from cachet>,
"threshold": 80,
"expected_status_code": 200,
"strict_tls": true,
"interval": 5
}
],
"insecure_api": false
}
Notes:
metric_idis optionalinsecure_apiif true it will ignore HTTPS certificate errors (eg if self-signed)strict_tlsif false (true is default) it will ignore HTTPS certificate errors (eg if monitor uses self-signed certificate)component_idis optionalthresholdis a percentageexpected_status_codeis a http response codeintervalis the duration in seconds between two checks.- GET request will be performed on the
url
Installation
- Download binary from release page
- Create your configuration (example)
cachet-monitor -c /etc/cachet-monitor.config.json
tip: run in background using 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 |
| CACHET_DEV | 1 | Strips logging |
Vision and goals
We made this tool because we felt the need to have our own monitoring software (leveraging on Cachet). The idea is a stateless program which collects data and pushes it to a central cachet instance.
This gives us power to have an army of geographically distributed loggers and reveal issues in both latency & downtime on client websites.
