Monitoring📜
This repository builds on the following upstream chart kube-prometheus-stack
Pre-requisites📜
- Kubernetes cluster deployed
 - kubectl configuration installed
 - fluxv2 resources and controllers installed
 
Install kubectl
brew install kubectl
Install flux binary from https://github.com/fluxcd/flux2/releases
Configuration📜
Configuration can be done via editing and supplementing the values for the chart which follows the upstream values for kube-prometheus-stack
You can find the API Spec for the Prometheus Operator here
Grafana📜
To set the admin/password of Grafana, set the adminUser adminPassword values at Big Bang Grafana chart/values.yaml. By default an admin user with username “admin” and the configured password in the Grafana chart at “adminPassword” is created for logging into the Grafana UI.
Adding Dashboards📜
To supplement the dashboards already provided by the package you can add more dashboards that are automatically loaded into grafana:
Via Helm Values📜
- Ensure dashboardProviders values are populated (uncommented from package values in this case):
 
monitoring:
  values:
    grafana:
      dashboardProviders:
        dashboardproviders.yaml:
          apiVersion: 1
          providers:
          - name: 'default'
            orgId: 1
            folder: ''
            type: file
            disableDeletion: false
            editable: true
            options:
              path: /var/lib/grafana/dashboards/default
- Populate dashboard JSON you can name in dashboards block like so:
 
monitoring:
  values:
    grafana:
      dashboards:
        default:
          some-dashboard:
            json: |
              $JSON_DATA$
- Helm reconciliation will mount the JSON data to the grafana pod and restart, if not delete the grafana pod.
 
Via Configmap📜
- Download the JSON file for your dashboard, or ensure you have the config in JSON formatting.
 - Create a secret or configmap like so, where you can include your JSON dashboard configuration inline:
 
apiVersion: v1
kind: ConfigMap
metadata:
  name: my-custom-dashboard
  namespace: monitoring
  labels:
    grafana_dashboard: "1"
data:
  dashboard-name.json: |
    ...
*Any configmap in the monitoring namespace with the “grafana_dashboard” : “#” label will be scanned and imported into grafana automatically. This label can be updated in the helm values: grafana.sidecar.dashboards.label: …