Skip to main content

Configuring an External Grafana Instance for Monitoring AtScale

You can optionally set up monitoring for AtScale using the grafana-lgtm chart, which includes preconfigured dashboards for the AtScale application stack.

note

This procedure assumes you have already installed AtScale.

Prerequisites

  • A Kubernetes cluster with AtScale already deployed.
  • Helm installed on your local machine.
  • kubectl configured to interact with the cluster.

Configure an external Grafana instance

To configure an external instance of Grafana:

  1. On your Kubernetes cluster, create the monitoring namespace:

    kubectl create namespace <monitoring_namespace>

    Where <monitoring_namespace> is the namespace you want to use for Grafana.

  2. Configure MinIO authentication for Mimir:

    1. Export the MinIO secret:

      kubectl get secret minio-secret -n <atscale_namespace> -o yaml > minio-secret.yaml

      Where <atscale_namespace> is the namespace in which AtScale is installed.

    2. Edit the minio-secret.yaml file to change the namespace field to your monitoring namespace.

    3. Apply the updated secret:

      kubectl apply -f minio-secret.yaml
  3. (Optional) Configure TLS for Grafana ingress:

    1. Export and reapply the certificate secret:

      kubectl get secret <default-certificate> -n <atscale_namespace> -o yaml > <default-certificate>.yaml

      Where:

      • <default-certificate> is your TLS secret. This must include your tls.crt and tls.key.
      • <atscale_namespace> is the namespace in which AtScale is installed.
      • <default-certificate>.yaml is the secret file to use for Grafana.
    2. Edit the <default-certificate>.yaml file and update the namespace field to your monitoring namespace.

    3. Apply the updated secret:

      kubectl apply -f <default-certificate>.yaml
  4. Install the grafana-lgtm chart using Helm:

    helm install grafana oci://docker.io/atscaleinc/atscale-monitoring --version <version> -n <monitoring> --debug --set global.ingressDomain="<ingressDomain>" --set global.tls.existingSecret="<default-certificate>"

    Where:

    • <version> is the version of AtScale you're currently on.
    • <monitoring is your monitoring namespace.
    • <ingressDomain> is your Grafana ingress domain.
    • <default-certificate> is your TLS certificate file.
  5. To ensure Tempo exports data to the correct instance of Mimir, add the following to your values override file:

    monitoring:
    namespace: <monitoring>
    mimir:
    enabled: true
    serviceName: mimir-nginx
    tempo:
    enabled: true

    Where <monitoring> is your monitoring namespace.

  6. Run the following to apply your changes:

    helm upgrade atscale oci://docker.io/atscaleinc/atscale --version <version_number> -n <atscale_namespace> -f <override_file>

    Where:

    • <version> is the version of AtScale you're currently on.
    • <atscale_namespace> is the namespace in which AtScale is installed.
    • <override_file> is your updated values override file.

Once the monitoring stack has been deployed, you can access the preconfigured dashboards in Grafana.