Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pellaeon/cachet-monitor
Monitors a URL and posts data points to cachet
https://github.com/pellaeon/cachet-monitor
Last synced: about 1 month ago
JSON representation
Monitors a URL and posts data points to cachet
- Host: GitHub
- URL: https://github.com/pellaeon/cachet-monitor
- Owner: pellaeon
- Created: 2015-08-03T06:12:19.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2016-02-16T06:03:10.000Z (almost 9 years ago)
- Last Synced: 2024-06-19T23:14:05.467Z (6 months ago)
- Language: Go
- Homepage: https://castawaylabs.github.io/cachet-monitor/
- Size: 118 KB
- Stars: 4
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
Cachet Monitor plugin
=====================This is a monitoring plugin for CachetHQ.
![screenshot](https://castawaylabs.github.io/cachet-monitor/screenshot.png)
Features
--------- [x] Creates & Resolves Incidents
- [x] Posts monitor lag every second
- [x] Updates Component to Partial Outage
- [x] Updates Component to Major Outage if in Partial Outage
- [x] Can be run on multiple servers and geo regionsDocker Quickstart
-----------------1. Create a configuration json
2.
```
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,
"component_id": null,
"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](https://golang.org)
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 |