From 59231397966a4d2b2ff71069b00f86838922d593 Mon Sep 17 00:00:00 2001 From: Michel Hollands Date: Wed, 24 Apr 2024 10:40:52 +0100 Subject: [PATCH] Update installation instructions Signed-off-by: Michel Hollands --- README.md | 20 +------------- docs/installation.md | 65 ++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 61 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index 0f2d66c..a085d41 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,9 @@ # meta-monitoring-chart -This is a meta-monitoring chart for GEL, GEM and GET. It should be installed in a -separate namespace next to GEM, GEL or GET installations. +This is a meta-monitoring chart for Loki. Note that this is pre-production software at the moment. -## Preparation - -Create a values.yaml file based on the [default one](../charts/meta-monitoring/values.yaml). - -1. Add or remove the namespaces to monitor in the `namespacesToMonitor` setting - -1. Set the cluster name in the `clusterName` setting. This will be added as a label to all logs, metrics and traces. - -1. Create a `meta` namespace. - ## Local and cloud modes The chart has 2 modes: local and cloud. In the local mode logs, metrics and/or traces are sent @@ -34,12 +23,6 @@ Both modes can be enabled at the same time. ## Installation -``` -helm install -n meta --skip-crds -f values.yaml meta ./charts/meta-monitoring -``` - -If the platform supports CRDs the `--skip-crds` option can be removed. However the CRDs are not used by this chart. - For more instructions including how to update the chart go to the [installation](docs/installation.md) page. ## Supported features @@ -59,7 +42,6 @@ Most of these features are enabled by default. See the values.yaml file for how ## Caveats -- The [loki.source.kubernetes](https://grafana.com/docs/agent/latest/flow/reference/components/loki.source.kubernetes/) component of the Grafana Agent is used to scrape Kubernetes log files. This component is marked experimental at the moment. - This has not been tested on Openshift yet. - The underlying Loki, Mimir and Tempo are at the default size installed by the Helm chart. This might need changing when monitoring bigger Loki, Mimir or Tempo installations. - MinIO is used as storage at the moment with a limited retention. At the moment this chart cannot be used for monitoring over longer periods. diff --git a/docs/installation.md b/docs/installation.md index 769b4fb..08b3879 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -1,5 +1,19 @@ # Install this chart +## Cloud mode (preferred) + +1. Use an existing Grafana Cloud account or setup a new one. Then create an access token: + + 1. In Grafana go to Administration -> Users and Access -> Cloud access policies. + + 1. Click `Create access policy`. + + 1. Fill in the `Display name` field and check the `Write` check box for metrics, logs and traces. Then click `Create`. + + 1. On the newly created access policy click `Add token`. + + 1. Fill in the `Token name` field and click `Create`. Make a copy of the token as it will be used later on. + 1. Create the meta namespace ``` @@ -11,21 +25,39 @@ ``` kubectl create secret generic logs -n meta \ --from-literal=username= \ - --from-literal=password= + --from-literal=password= --from-literal=endpoint='https://logs-prod-us-central1.grafana.net/loki/api/v1/push' kubectl create secret generic metrics -n meta \ --from-literal=username= \ - --from-literal=password= + --from-literal=password= --from-literal=endpoint='https://prometheus-us-central1.grafana.net/api/prom/push' kubectl create secret generic traces -n meta \ --from-literal=username= \ - --from-literal=password= + --from-literal=password= --from-literal=endpoint='https://tempo-us-central1.grafana.net/tempo' ``` -1. Create a values.yaml file based on the [default one](../charts/meta-monitoring/values.yaml). Fill in the names of the secrets created above as needed. + The logs, metrics and traces usernames are the `User / Username / Instance IDs` of the Loki, Prometheus/Mimir and Tempo instances in Grafana Cloud. From `Home` in Grafana click on `Stacks`. Then go to the `Details` pages of Loki, Prometheus/Mimir and Tempo. + +1. Create a values.yaml file based on the [default one](../charts/meta-monitoring/values.yaml). Fill in the names of the secrets created above as needed. An example minimal values.yaml looks like this: + + ``` + namespacesToMonitor: + - loki + + cloud: + logs: + enabled: true + secret: "logs" + metrics: + enabled: true + secret: "metrics" + traces: + enabled: true + secret: "traces" + ``` 1. Add the repo @@ -56,4 +88,27 @@ ``` helm delete -n meta meta - ``` \ No newline at end of file + ``` + +## Local mode + +1. Create the meta namespace + + ``` + kubectl create namespace meta + ``` + +1. Create a values.yaml file based on the [default one](../charts/meta-monitoring/values.yaml). An example minimal values.yaml looks like this: + + ``` + namespacesToMonitor: + - loki + + cloud: + logs: + enabled: false + metrics: + enabled: false + traces: + enabled: false + ```