From 5c521194360c14fbaf2e9e33ec417de1051a83e1 Mon Sep 17 00:00:00 2001 From: Tomasz Szostak Date: Wed, 26 Feb 2020 13:23:08 +0100 Subject: [PATCH] Health Monitor design doc (#940) * Fixed line endings for devcontainer * Requirements for Health Monitor app --- .../epicli/.devcontainer/cert/config-pre.sh | 1 + .../health-monitor/health-monitor.md | 33 +++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 docs/design-docs/health-monitor/health-monitor.md diff --git a/core/src/epicli/.devcontainer/cert/config-pre.sh b/core/src/epicli/.devcontainer/cert/config-pre.sh index d4ccfbc2b7..a3692e0ea3 100644 --- a/core/src/epicli/.devcontainer/cert/config-pre.sh +++ b/core/src/epicli/.devcontainer/cert/config-pre.sh @@ -1,4 +1,5 @@ #!/bin/bash + if ls /usr/local/share/ca-certificates/*.crt 1> /dev/null 2>&1; then echo "Setup cert for System, PIP..." pattern="/usr/local/share/ca-certificates/*.crt" diff --git a/docs/design-docs/health-monitor/health-monitor.md b/docs/design-docs/health-monitor/health-monitor.md new file mode 100644 index 0000000000..f66170f3b3 --- /dev/null +++ b/docs/design-docs/health-monitor/health-monitor.md @@ -0,0 +1,33 @@ +# Epiphany Health Monitor service design proposal + +Affected version: 0.6.x/0.7.x + +## Goals + +Provide service that will be monitoring components (Kubernetes, Docker, Kafka, EFK, Prometheus, etc.) deployed using Epiphany. + +## Use cases + +Service will be installed and used on Virtual Machines/Bare Metal on Ubuntu and RedHat (systemd service). +Health Monitor will check status of components that were installed on the cluster. Combinations of those components can be different and will be provided to the service through configuration file. + +Components that Health Monitor should check: +- Kubernetes (kubelet)* +- Query Kubernetes health endpoint (/healthz)* +- Docker* +- Query Docker stats* +- PostgreSQL +- HAProxy +- Prometheus +- Kafka +- ZooKeeper +- ElasticSearch +- RabbitMQ + +`*` means MVP version. + +Health Monitor exposes endpoint that is compliant with [Prometheus metrics format](https://github.com/prometheus/docs/blob/master/content/docs/instrumenting/exposition_formats.md#text-format-example) and serves data about health checks. This endpoint should listen on the configurable port (default 98XX). + +## Design proposal + +TODO \ No newline at end of file