Skip to content
This repository has been archived by the owner on Sep 14, 2023. It is now read-only.

Latest commit

 

History

History
94 lines (78 loc) · 1.86 KB

README.md

File metadata and controls

94 lines (78 loc) · 1.86 KB

kubecat

Minimal network uptime monitor for in-cluster kubernetes and docker cluster services. Also can be run stand-alone for general uptime checks.

Reporting services:

Reporters:

  • HTTP modules.HTTP
  • Tile38 modules.Tile38

Example config.yaml

reporters:
  - name: api-service
    module: "http"
    interval: 60 # time in seconds
    options:
      method: POST
      url: http://localhost:3000/v1/users
      timeout: 30000
      acceptableStatus:
        - 200
        - 201
      headers:
        jwtToken: "jwt token here"

  - name: tile38-object-check
    module: "Tile38"
    interval: 120 # time in seconds
    options:
      url: http://tile38:9851
      timeout: 30 # in seconds
      min: 20 // minimum num_objects in the tile38 database

Run: SENTRY_DSN=<keyhere> ./kubecat

In docker: docker run -e SENTRY_DSN=<keyhere> -v ${PWD}/config.yaml:/app/config.yaml stevelacy/kubecat

Kubernetes:

apiVersion: v1
kind: ConfigMap
metadata:
  name: kubecat-config
data:
  kubecat-config.yaml: |
    reporters:
      - name: tile38
        module: "Tile38"
        interval: 60 # time in seconds
        options:
          url: http://tile38-read:9851
          timeout: 30 # in seconds
          min: 20

---

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: kubecat
spec:
  template:
    metadata:
      labels:
        app: kubecat
    spec:
      containers:
        - image: "stevelacy/kubecat:latest"
          name: kubecat-container
          volumeMounts:
            - name: kubecat-config
              mountPath: /app/config.yaml
              subPath: config.yaml
      volumes:
      - name: kubecat-config
        configMap:
          name: kubecat-config
          items:
            - key: kubecat-config.yaml
              path: config.yaml