From 38ecbd319e7095d15e900e59ff0e6cac7834455f Mon Sep 17 00:00:00 2001 From: "phillip.toohill" Date: Wed, 20 Mar 2024 14:14:48 -0500 Subject: [PATCH] Updating monitoring docs with a getting started page (#168) --- docs/monitoring-getting-started.md | 51 ++++++++++++++++++++++++++ docs/prometheus-monitoring-overview.md | 27 ++++++++++++-- 2 files changed, 75 insertions(+), 3 deletions(-) create mode 100644 docs/monitoring-getting-started.md diff --git a/docs/monitoring-getting-started.md b/docs/monitoring-getting-started.md new file mode 100644 index 00000000..182b1ef1 --- /dev/null +++ b/docs/monitoring-getting-started.md @@ -0,0 +1,51 @@ +# Getting started with genestack monitoring + +In order to begin monitoring your genestack deployment we first need to deploy the core prometheus components + +## Install the Prometheus stack + +Install [Prometheus](prometheus.md) which is part of the kube-prometheus-stack and includes: + +* Prometheus and the Prometheus operator to manage the Prometheus cluster deployment +* AlertManager which allows for alerting configurations to be set in order to notify various services like email or PagerDuty for specified alerting thresholds + +The [Prometheus](prometheus.md) kube-prometheus-stack will also deploy a couple core metric exporters as part of the stack, those include: + +* Node Exporter(Hardware metrics) +* Kube State Exporter(Kubernetes cluster metrics) + +## Install Grafana + +We can then deploy our visualization dashboard Grafana + +* [Install Grafana](grafana.md) + +Grafana is used to visualize various metrics provided by the monitoring system as well as alerts and logs, take a look at the [Grafana](https://grafana.com/) documentation for more information + +## Install the metric exporters + +Now let's deploy our exporters! + +* [Mysql Exporter](prometheus-mysql-exporter.md) +* [RabbitMQ Exporter](prometheus-rabbitmq-exporter.md) +* [Postgres Exporter](prometheus-postgres-exporter.md) +* [Memcached Exporter](prometheus-memcached-exporter.md) +* [Openstack Exporter](prometheus-openstack-metrics-exporter.md) + +## Next steps + +### Configure alert manager + +Configure the alert manager to send the specified alerts to slack as an example, see: [Slack Alerts](alertmanager-slack.md) + +... and more ... + +### Update alerting rules + +Within the genestack repo we can update our alerting rules via the alerting_rules.yaml to fit our needs + +View alerting_rules.yaml in: + +``` shell +less /opt/genestack/kustomize/prometheus/alerting_rules.yaml +``` diff --git a/docs/prometheus-monitoring-overview.md b/docs/prometheus-monitoring-overview.md index 3fbebdf8..4b7da4b6 100644 --- a/docs/prometheus-monitoring-overview.md +++ b/docs/prometheus-monitoring-overview.md @@ -1,8 +1,29 @@ # Prometheus Monitoring Overview -Genestack utilizes Prometheus for monitoring and metrics collection. To read more about Prometheus please take a look at the [upstream docs](https://prometheus.io). +Genestack utilizes Prometheus for monitoring, alerting and metrics collection. To read more about Prometheus please take a look at the [upstream docs](https://prometheus.io). -A high level visual of Prometheus and the various monitoring and alerting components inside Genestack +Components used to monitor and provide alerting and visualization mechanisms for genestack include: -![Prometheus Monitoring Diagram](assets/images/prometheus-monitoring.png) +* Prometheus +* AlertManager +* Grafana + +Prometheus makes use of various metric exporters used to collect monitoring data related to specific services: + +* Node Exporter(Hardware metrics) +* Kube State Exporter(Kubernetes cluster metrics) +* Mysql Exporter(MariaDB/Galera metrics) +* RabbitMQ Exporter(RabbitMQ queue metrics) +* Postgres Exporter(Postgresql metrics) +* Memcached Exporter(Memcached metrics) +* Openstack Exporter(Metrics from various Openstack products) + +Below is a high level visual of Prometheus and the various monitoring and alerting components within genestack + +![Prometheus Monitoring Diagram](assets/images/prometheus-monitoring.png){ align=center : style="filter:drop-shadow(#3c3c3c 0.5rem 0.5rem 10px);" } + + +### Getting started with genestack monitoring + +To get started using monitoring within the genestack ecosystem begin with the [getting started](monitoring-getting-started.md) page