Overseer

Do you want to monitor your SSL certificates expiration? Or if a Kubernetes service has enough endpoints?

You can use an Overseer  deployment (e.g. deployed on Kubernetes ) to test the conditions of multiple targets:

  • Do you want to be notified if an SSL certificate is about to expire?

    https://google.com must run ssl

  • Do you want to know if a service in your Kubernetes deployment has > 0 endpoints available (is healthy)?

    default/nginx must run k8s-svc

More examples ” available in the GitHub repository .

The following example shows how it is possible to deal with a test result (in this example there has been a period-test error):

Template
Overseer [{{if .error}}ERR{{else}}OK{{end}}] ({{.tag}}): {{.input}}

---

{{if .error -}}Error{{ if .isDedup}} (duplicated){{end}}: {{.error}}{{end}}

Tag: {{.tag}}
Input: {{.input}}

Target: {{ .target }}
Type: {{ .type }}
Time: {{ .time | ParseUnixTime }}

{{if .details}}
Details:
{{.details}}
{{end}}
Rendered
Overseer [ERR] (my-cluster): https://example.com must run http with connect-timeout '3s'

---

Error: 1 tests failed out of 56 (1.79%)

Tag: my-cluster
Input: https://example.com must run http with connect-timeout '3s'

Target: 88.22.33.44
Type: http
Time: 2019-12-12 19:50:23 +0000 UTC

Details:
Period-test errors:
- test 27 failed, took 3000.41ms: Get https://example.com: dial tcp 88.22.33.44:443: i/o timeout
Payload
{
  "details": "Period-test errors:\n- test 27 failed, took 3000.41ms: Get https://example.com: dial tcp 88.22.33.44:443: i/o timeout",
  "error": "1 tests failed out of 56 (1.79%)",
  "input": "https://example.com must run http with connect-timeout '3s'",
  "isDedup": false,
  "recovered": false,
  "tag": "my-cluster",
  "target": "88.22.33.44",
  "time": 1576180223,
  "type": "http"
}

To show all possible statuses (error/duplicate/recovered) cases, a more verbose title could be:

Overseer [{{if .error}}ERR{{if .isDedup}}-DUP{{end}}{{else}}{{if .recovered}}RECOVERED{{else}}OK{{end}}{{end}}] ({{.tag}}): {{.input}}