diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..2c51237 --- /dev/null +++ b/_config.yml @@ -0,0 +1,8 @@ +title: Cachet-monitor +description: Distributed monitoring plugin for CachetHQ +google_analytics: +show_downloads: true +theme: jekyll-theme-architect + +gems: + - jekyll-mentions diff --git a/images/body-bg.jpg b/images/body-bg.jpg deleted file mode 100644 index 719fb88..0000000 Binary files a/images/body-bg.jpg and /dev/null differ diff --git a/images/download-button.png b/images/download-button.png deleted file mode 100644 index c5ffb3a..0000000 Binary files a/images/download-button.png and /dev/null differ diff --git a/images/github-button.png b/images/github-button.png deleted file mode 100644 index cd41580..0000000 Binary files a/images/github-button.png and /dev/null differ diff --git a/images/header-bg.jpg b/images/header-bg.jpg deleted file mode 100644 index d16497a..0000000 Binary files a/images/header-bg.jpg and /dev/null differ diff --git a/images/highlight-bg.jpg b/images/highlight-bg.jpg deleted file mode 100644 index 355e089..0000000 Binary files a/images/highlight-bg.jpg and /dev/null differ diff --git a/images/sidebar-bg.jpg b/images/sidebar-bg.jpg deleted file mode 100644 index 536ead9..0000000 Binary files a/images/sidebar-bg.jpg and /dev/null differ diff --git a/index.html b/index.html deleted file mode 100644 index 634f87c..0000000 --- a/index.html +++ /dev/null @@ -1,167 +0,0 @@ - - - - - - - - - - - - - - Cachet-monitor by CastawayLabs - - - -
-
-

Cachet-monitor

-

Distributed monitoring plugin for CachetHQ

- View project on GitHub -
-
- -
-
-
-

screenshot

- -

-Features

- -
    -
  • [x] Creates & Resolves Incidents
  • -
  • [x] Posts monitor lag to cachet graphs
  • -
  • [x] Updates Component to Partial Outage
  • -
  • [x] Updates Component to Major Outage if already in Partial Outage (works well with distributed monitoring)
  • -
  • [x] Can be run on multiple servers and geo regions
  • -
- -

-Configuration

- -
{
-  // URL for the API. Note: Must end with /api/v1
-  "api_url": "https://<cachet domain>/api/v1",
-  // Your API token for Cachet
-  "api_token": "<cachet api token>",
-  // optional, false default, set if your certificate is self-signed/untrusted
-  "insecure_api": false,
-  "monitors": [{
-    // required, friendly name for your monitor
-    "name": "Name of your monitor",
-    // required, url to probe
-    "url": "Ping URL",
-    // optional, http method (defaults GET)
-    "method": "get",
-    // self-signed ssl certificate
-    "strict_tls": true,
-    // seconds between checks
-    "interval": 10,
-    // post lag to cachet metric (graph)
-    // note either metric ID or component ID are required
-    "metric_id": <metric id>,
-    // post incidents to this component
-    "component_id": <component id>,
-    // If % of downtime is over this threshold, open an incident
-    "threshold": 80,
-    // optional, expected status code (either status code or body must be supplied)
-    "expected_status_code": 200,
-    // optional, regular expression to match body content
-    "expected_body": "P.*NG"
-  }],
-  // optional, system name to identify bot (uses hostname by default)
-  "system_name": "",
-  // optional, defaults to stdout
-  "log_path": ""
-}
-
- -

-Installation

- -
    -
  1. Download binary from release page -
  2. -
  3. Create your configuration (example)
  4. -
  5. cachet-monitor -c /etc/cachet-monitor.config.json
  6. -
- -

pro 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

- - - - - - - - - - - - - - - - - - - - - - - - - - -
NameExample ValueDescription
CACHET_APIhttp://demo.cachethq.io/api/v1URL endpoint for cachet api
CACHET_TOKENAPIToken123API Authentication token
CACHET_DEV1Strips 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.

- -

-Package usage

- -

When using cachet-monitor as a package in another program, you should follow what cli/main.go does. It is important to call ValidateConfiguration on CachetMonitor and all the monitors inside.

- -

API Documentation

-
- - -
-
- - - - diff --git a/index.md b/index.md new file mode 100644 index 0000000..0bbf07f --- /dev/null +++ b/index.md @@ -0,0 +1,91 @@ +![screenshot](https://castawaylabs.github.io/cachet-monitor/screenshot.png) + +Features +-------- + +- [x] Creates & Resolves Incidents +- [x] Posts monitor lag to cachet graphs +- [x] Updates Component to Partial Outage +- [x] Updates Component to Major Outage if already in Partial Outage (works well with distributed monitoring) +- [x] Can be run on multiple servers and geo regions + +Configuration +------------- + +``` +{ + // URL for the API. Note: Must end with /api/v1 + "api_url": "https:///api/v1", + // Your API token for Cachet + "api_token": "", + // optional, false default, set if your certificate is self-signed/untrusted + "insecure_api": false, + "monitors": [{ + // required, friendly name for your monitor + "name": "Name of your monitor", + // required, url to probe + "url": "Ping URL", + // optional, http method (defaults GET) + "method": "get", + // self-signed ssl certificate + "strict_tls": true, + // seconds between checks + "interval": 10, + // post lag to cachet metric (graph) + // note either metric ID or component ID are required + "metric_id": , + // post incidents to this component + "component_id": , + // If % of downtime is over this threshold, open an incident + "threshold": 80, + // optional, expected status code (either status code or body must be supplied) + "expected_status_code": 200, + // optional, regular expression to match body content + "expected_body": "P.*NG" + }], + // optional, system name to identify bot (uses hostname by default) + "system_name": "", + // optional, defaults to stdout + "log_path": "" +} +``` + +Installation +------------ + +1. Download binary from [release page](https://github.com/CastawayLabs/cachet-monitor/releases) +2. Create your configuration ([example](https://raw.githubusercontent.com/CastawayLabs/cachet-monitor/master/example.config.json)) +3. `cachet-monitor -c /etc/cachet-monitor.config.json` + +pro 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/v1 | URL endpoint for cachet api | +| CACHET_TOKEN | APIToken123 | 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. + +Package usage +------------- + +When using `cachet-monitor` as a package in another program, you should follow what `cli/main.go` does. It is important to call `ValidateConfiguration` on `CachetMonitor` and all the monitors inside. + +[API Documentation](https://godoc.org/github.com/CastawayLabs/cachet-monitor) diff --git a/javascripts/main.js b/javascripts/main.js deleted file mode 100644 index d8135d3..0000000 --- a/javascripts/main.js +++ /dev/null @@ -1 +0,0 @@ -console.log('This would be the main JS file.'); diff --git a/params.json b/params.json deleted file mode 100644 index d7450d7..0000000 --- a/params.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "name": "Cachet-monitor", - "tagline": "Distributed monitoring plugin for CachetHQ", - "body": "![screenshot](https://castawaylabs.github.io/cachet-monitor/screenshot.png)\r\n\r\nFeatures\r\n--------\r\n\r\n- [x] Creates & Resolves Incidents\r\n- [x] Posts monitor lag to cachet graphs\r\n- [x] Updates Component to Partial Outage\r\n- [x] Updates Component to Major Outage if already in Partial Outage (works well with distributed monitoring)\r\n- [x] Can be run on multiple servers and geo regions\r\n\r\nConfiguration\r\n-------------\r\n\r\n```\r\n{\r\n // URL for the API. Note: Must end with /api/v1\r\n \"api_url\": \"https:///api/v1\",\r\n // Your API token for Cachet\r\n \"api_token\": \"\",\r\n // optional, false default, set if your certificate is self-signed/untrusted\r\n \"insecure_api\": false,\r\n \"monitors\": [{\r\n // required, friendly name for your monitor\r\n \"name\": \"Name of your monitor\",\r\n // required, url to probe\r\n \"url\": \"Ping URL\",\r\n // optional, http method (defaults GET)\r\n \"method\": \"get\",\r\n // self-signed ssl certificate\r\n \"strict_tls\": true,\r\n // seconds between checks\r\n \"interval\": 10,\r\n // post lag to cachet metric (graph)\r\n // note either metric ID or component ID are required\r\n \"metric_id\": ,\r\n // post incidents to this component\r\n \"component_id\": ,\r\n // If % of downtime is over this threshold, open an incident\r\n \"threshold\": 80,\r\n // optional, expected status code (either status code or body must be supplied)\r\n \"expected_status_code\": 200,\r\n // optional, regular expression to match body content\r\n \"expected_body\": \"P.*NG\"\r\n }],\r\n // optional, system name to identify bot (uses hostname by default)\r\n \"system_name\": \"\",\r\n // optional, defaults to stdout\r\n \"log_path\": \"\"\r\n}\r\n```\r\n\r\nInstallation\r\n------------\r\n\r\n1. Download binary from [release page](https://github.com/CastawayLabs/cachet-monitor/releases)\r\n2. Create your configuration ([example](https://raw.githubusercontent.com/CastawayLabs/cachet-monitor/master/example.config.json))\r\n3. `cachet-monitor -c /etc/cachet-monitor.config.json`\r\n\r\npro tip: run in background using `nohup cachet-monitor 2>&1 > /var/log/cachet-monitor.log &`\r\n\r\n```\r\nUsage of cachet-monitor:\r\n -c=\"/etc/cachet-monitor.config.json\": Config path\r\n -log=\"\": Log path\r\n -name=\"\": System Name\r\n```\r\n\r\nEnvironment variables\r\n---------------------\r\n\r\n| Name | Example Value | Description |\r\n| ------------ | ------------------------------ | --------------------------- |\r\n| CACHET_API | http://demo.cachethq.io/api/v1 | URL endpoint for cachet api |\r\n| CACHET_TOKEN | APIToken123 | API Authentication token |\r\n| CACHET_DEV | 1 | Strips logging |\r\n\r\nVision and goals\r\n----------------\r\n\r\nWe made this tool because we felt the need to have our own monitoring software (leveraging on Cachet).\r\nThe idea is a stateless program which collects data and pushes it to a central cachet instance.\r\n\r\nThis gives us power to have an army of geographically distributed loggers and reveal issues in both latency & downtime on client websites.\r\n\r\nPackage usage\r\n-------------\r\n\r\nWhen using `cachet-monitor` as a package in another program, you should follow what `cli/main.go` does. It is important to call `ValidateConfiguration` on `CachetMonitor` and all the monitors inside.\r\n\r\n[API Documentation](https://godoc.org/github.com/CastawayLabs/cachet-monitor)\r\n", - "google": "", - "note": "Don't delete this file! It's used internally to help with page regeneration." -} \ No newline at end of file