Skip to content

Commit

Permalink
add dashboards-3.26.0-fcb0a036e5ebe443d846f1f335863de0af4cbbbb.tgz
Browse files Browse the repository at this point in the history
dashboards-3.26.0-fcb0a036e5ebe443d846f1f335863de0af4cbbbb.tgz-meta/README.md
dashboards-3.26.0-fcb0a036e5ebe443d846f1f335863de0af4cbbbb.tgz-meta/main.yaml
dashboards-3.26.0-fcb0a036e5ebe443d846f1f335863de0af4cbbbb.tgz-meta/values.schema.json
  • Loading branch information
catalogbot committed Nov 6, 2024
1 parent 0dc1843 commit 6ba247e
Show file tree
Hide file tree
Showing 5 changed files with 227 additions and 1 deletion.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
# Dashboards

This project currently contains Giant Swarm public dashboards.

The goal of this repository is to have both public and Grafana Cloud dashboards defined in one place.

## Management cluster's dashboards

The dashboards located under `helm/dashboards` are the dashboards hosted on each management cluster's grafana.
The "public" ones are accessible by the customer, and the "private" ones are only accessible by Giant Swarm employees.

### Sub-charts

This chart is divided in 4 different charts, to get around helm charts size limitations:
- `helm/dashboards/charts/public_dashboards/` for public dashboards.
- `helm/dashboards/charts/private_dashboards_al/` for private dashboards starting with letters A to L.
- `helm/dashboards/charts/private_dashboards_mz/` for private dashboards starting with letters M to Z.
- `helm/dashboards/` for other dashboards.

### Dashboard format

All dashboards should have proper tags to facilitate their discovery.
To that end, we advise the following tags:
- `owner:team-name`: Team that owns the dashboard
- `component:component_name`: Name of the component this dashboard is about
- `topic:topic`: The topic that this dashboard is about (observability, security, networking, kubernetes, ...)

### Linting

Atlas introduced a dashboard linter to ensure some basic dashboard rules are followed (e.g. always have a datasource present) to help with the migration to Mimir.
This will most likely be moved to CI later but until it is you can run it like this:

```sh
make lint-dashboards
```

If you need help with the tool or its output, please contact @team-atlas.

## Grafana Cloud dashboards

### Requirements

* jsonnet: https://github.com/google/jsonnet

`pip install jsonnet`

* grafonnet: https://github.com/grafana/grafonnet-lib

`git clone https://github.com/grafana/grafonnet-lib.git $GOPATH/src/github.com/grafana/grafonnet-lib`

### Building and uploading

The dashboards located under `dashboards` are the dashboards hosted on Giant Swarm's Grafana Cloud.

To build and upload the Grafana Cloud dashboards, here is what you need to do:

To make the dashboards, run:
```
./scripts/make-dashboards.sh
```

To upload the dashboards, run:
```
./scripts/upload-dashboards.sh
```

To upload a dashboard while editing, run:
```
./scripts/upload-dashboard.sh metrics.json
```

## Mixins Dashboards

### Update

* Alertmanager dashboard

* The Github Action `update-monitoring-mixins` runs automatically every month and it creates a PR to update the dashboard.
* Run `make update-alertmanager-mixin` manually.

* Alloy dashboards

* Run `make update-alloy-mixin` manually.

* Kubernetes dashboards

* Follow the instructions in [giantswarm-kubernetes-mixin](https://github.com/giantswarm/giantswarm-kubernetes-mixin).
* Run `make update-kubernetes-mixin` manually.

* Mimir dashboards

* Run `make update-mimir-mixin` manually.

## Origins of the dashboards

Some dashboards are crafted by us (Giant Swarm) or forked from public dashboards.

Some dashboards come from mixins, with a few manual updates. They have a `.*-mixin` tag, like `kubernetes-mixin` or `prometheus-mixin`.

Some dashboards are coming from https://github.com/prometheus-community/helm-charts/blob/main/charts/kube-prometheus-stack/templates/grafana/dashboards-1.14/ like the `prometheus-remote-write` dashboard

Beware when updating them: even though they come from mixins, they may require tweaks to work with our architecture.

The dashboards that don't require tweaks can be automatically updated from pre-generated mixins at https://monitoring.mixins.dev/ with the `update-mixins-monitoring` github workflow.

In the future we should provide documentation and automation to perform clean updates of mixins-based dashboards.

### Specific dashboards

#### Prometheus-overview

Comes from `prometheus-mixins`, with the addition of support for multiple clusters.

#### KEDA

Comes from https://github.com/kedacore/keda/blob/main/config/grafana/keda-dashboard.json

We added multi-cluster support and tags (team owner)
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
annotations:
application.giantswarm.io/metadata: https://giantswarm.github.io/control-plane-test-catalog/dashboards-3.26.0-fcb0a036e5ebe443d846f1f335863de0af4cbbbb.tgz-meta/main.yaml
application.giantswarm.io/readme: https://giantswarm.github.io/control-plane-test-catalog/dashboards-3.26.0-fcb0a036e5ebe443d846f1f335863de0af4cbbbb.tgz-meta/README.md
application.giantswarm.io/team: atlas
application.giantswarm.io/values-schema: https://giantswarm.github.io/control-plane-test-catalog/dashboards-3.26.0-fcb0a036e5ebe443d846f1f335863de0af4cbbbb.tgz-meta/values.schema.json
config.giantswarm.io/version: 1.x.x
chartApiVersion: v2
chartFile: dashboards-3.26.0-fcb0a036e5ebe443d846f1f335863de0af4cbbbb.tgz
dateCreated: '2024-11-06T14:19:58.914389Z'
digest: 500c702a2cd058f73011e7e4d89df2db1dd73f380a533ca15cca6f79d11226c8
home: https://github.com/giantswarm/dashboards
icon: https://s.giantswarm.io/app-icons/grafana/1/light.svg
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
{
"$schema": "http://json-schema.org/schema#",
"type": "object",
"properties": {
"global": {
"type": "object",
"properties": {
"home": {
"type": "object",
"properties": {
"documentation": {
"type": "array",
"items": {
"type": "object",
"properties": {
"description": {
"type": "string"
},
"link": {
"type": "string"
},
"name": {
"type": "string"
}
}
}
},
"urls": {
"type": "array",
"items": {
"type": "object",
"properties": {
"description": {
"type": "string"
},
"link": {
"type": "string"
},
"name": {
"type": "string"
},
"provider": {
"type": "string"
}
}
}
}
}
},
"name": {
"type": "string"
},
"namespace": {
"type": "string"
},
"serviceType": {
"type": "string"
}
}
},
"provider": {
"type": "object",
"properties": {
"kind": {
"type": "string"
}
}
}
}
}
28 changes: 27 additions & 1 deletion index.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12894,6 +12894,32 @@ entries:
- https://giantswarm.github.io/control-plane-test-catalog/crossplane-0.0.0-725832610a3d8071da2e1f59da8ca6f903ecb550.tgz
version: 0.0.0-725832610a3d8071da2e1f59da8ca6f903ecb550
dashboards:
- annotations:
application.giantswarm.io/metadata: https://giantswarm.github.io/control-plane-test-catalog/dashboards-3.26.0-fcb0a036e5ebe443d846f1f335863de0af4cbbbb.tgz-meta/main.yaml
application.giantswarm.io/readme: https://giantswarm.github.io/control-plane-test-catalog/dashboards-3.26.0-fcb0a036e5ebe443d846f1f335863de0af4cbbbb.tgz-meta/README.md
application.giantswarm.io/team: atlas
application.giantswarm.io/values-schema: https://giantswarm.github.io/control-plane-test-catalog/dashboards-3.26.0-fcb0a036e5ebe443d846f1f335863de0af4cbbbb.tgz-meta/values.schema.json
config.giantswarm.io/version: 1.x.x
apiVersion: v2
created: "2024-11-06T14:20:07.092942302Z"
dependencies:
- name: public_dashboards
repository: ""
version: 1.0.0
- name: private_dashboards_al
repository: ""
version: 1.0.0
- name: private_dashboards_mz
repository: ""
version: 1.0.0
description: Grafana dashboards accessible by Giant Swarm customers
digest: 500c702a2cd058f73011e7e4d89df2db1dd73f380a533ca15cca6f79d11226c8
home: https://github.com/giantswarm/dashboards
icon: https://s.giantswarm.io/app-icons/grafana/1/light.svg
name: dashboards
urls:
- https://giantswarm.github.io/control-plane-test-catalog/dashboards-3.26.0-fcb0a036e5ebe443d846f1f335863de0af4cbbbb.tgz
version: 3.26.0-fcb0a036e5ebe443d846f1f335863de0af4cbbbb
- annotations:
application.giantswarm.io/metadata: https://giantswarm.github.io/control-plane-test-catalog/dashboards-3.26.0-881f34601aca4624a6a2f52a5b66e7c25e6ee220.tgz-meta/main.yaml
application.giantswarm.io/readme: https://giantswarm.github.io/control-plane-test-catalog/dashboards-3.26.0-881f34601aca4624a6a2f52a5b66e7c25e6ee220.tgz-meta/README.md
Expand Down Expand Up @@ -55905,4 +55931,4 @@ entries:
urls:
- https://giantswarm.github.io/control-plane-test-catalog/vertical-pod-autoscaler-crd-0.0.0-9925886a8b029918200779e160c758cfb3c660dc.tgz
version: 0.0.0-9925886a8b029918200779e160c758cfb3c660dc
generated: "2024-11-06T13:54:58.001113317Z"
generated: "2024-11-06T14:20:07.07580732Z"

0 comments on commit 6ba247e

Please sign in to comment.