From 59231397966a4d2b2ff71069b00f86838922d593 Mon Sep 17 00:00:00 2001 From: Michel Hollands Date: Wed, 24 Apr 2024 10:40:52 +0100 Subject: [PATCH 1/3] 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 + ``` From 41619b99b1c3501d8aa0e21f1053688bc239e451 Mon Sep 17 00:00:00 2001 From: Michel Hollands Date: Wed, 24 Apr 2024 10:45:38 +0100 Subject: [PATCH 2/3] Update example values.yaml for local mode Signed-off-by: Michel Hollands --- docs/installation.md | 61 +++++++++++++++++++++++++++----------------- 1 file changed, 38 insertions(+), 23 deletions(-) diff --git a/docs/installation.md b/docs/installation.md index 08b3879..d5c75a4 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -1,6 +1,6 @@ # Install this chart -## Cloud mode (preferred) +## Preparation for Cloud mode (preferred) 1. Use an existing Grafana Cloud account or setup a new one. Then create an access token: @@ -59,6 +59,43 @@ secret: "traces" ``` +## Preparation for 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 + + local: + grafana: + enabled:true + logs: + enabled: true + metrics: + enabled: true + traces: + enabled: true + minio: + enabled: true + ``` + +## Installing the chart + 1. Add the repo ``` @@ -90,25 +127,3 @@ helm delete -n meta meta ``` -## 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 - ``` From c666bf69c9b12933a90ac931367f66ea79880bca Mon Sep 17 00:00:00 2001 From: Michel Hollands Date: Wed, 24 Apr 2024 10:46:31 +0100 Subject: [PATCH 3/3] Remove whitespace Signed-off-by: Michel Hollands --- docs/installation.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/installation.md b/docs/installation.md index d5c75a4..091a318 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -126,4 +126,3 @@ ``` helm delete -n meta meta ``` -