Skip to content

Commit

Permalink
add dashboards-3.26.1-0bb557b5a092d8069f01a8eb61027e584c4929ca.tgz
Browse files Browse the repository at this point in the history
dashboards-3.26.1-0bb557b5a092d8069f01a8eb61027e584c4929ca.tgz-meta/README.md
dashboards-3.26.1-0bb557b5a092d8069f01a8eb61027e584c4929ca.tgz-meta/main.yaml
dashboards-3.26.1-0bb557b5a092d8069f01a8eb61027e584c4929ca.tgz-meta/values.schema.json
  • Loading branch information
catalogbot committed Dec 27, 2024
1 parent aea3f3f commit 43ddd0b
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.1-0bb557b5a092d8069f01a8eb61027e584c4929ca.tgz-meta/main.yaml
application.giantswarm.io/readme: https://giantswarm.github.io/control-plane-test-catalog/dashboards-3.26.1-0bb557b5a092d8069f01a8eb61027e584c4929ca.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.1-0bb557b5a092d8069f01a8eb61027e584c4929ca.tgz-meta/values.schema.json
config.giantswarm.io/version: 1.x.x
chartApiVersion: v2
chartFile: dashboards-3.26.1-0bb557b5a092d8069f01a8eb61027e584c4929ca.tgz
dateCreated: '2024-12-27T12:31:15.055171Z'
digest: a1082f08f730679b6ff0f9630a91de6514d7694fd2f381b8c434121dbf1e4435
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 @@ -13995,6 +13995,32 @@ entries:
urls:
- https://giantswarm.github.io/control-plane-test-catalog/dashboards-3.26.1-1683721b804a4bc7277454d7fe5e9c655489a083.tgz
version: 3.26.1-1683721b804a4bc7277454d7fe5e9c655489a083
- annotations:
application.giantswarm.io/metadata: https://giantswarm.github.io/control-plane-test-catalog/dashboards-3.26.1-0bb557b5a092d8069f01a8eb61027e584c4929ca.tgz-meta/main.yaml
application.giantswarm.io/readme: https://giantswarm.github.io/control-plane-test-catalog/dashboards-3.26.1-0bb557b5a092d8069f01a8eb61027e584c4929ca.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.1-0bb557b5a092d8069f01a8eb61027e584c4929ca.tgz-meta/values.schema.json
config.giantswarm.io/version: 1.x.x
apiVersion: v2
created: "2024-12-27T12:31:22.60224838Z"
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: a1082f08f730679b6ff0f9630a91de6514d7694fd2f381b8c434121dbf1e4435
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.1-0bb557b5a092d8069f01a8eb61027e584c4929ca.tgz
version: 3.26.1-0bb557b5a092d8069f01a8eb61027e584c4929ca
- annotations:
application.giantswarm.io/metadata: https://giantswarm.github.io/control-plane-test-catalog/dashboards-3.26.0-fcdd3581a675333010c78a1efd235b8ee3a62372.tgz-meta/main.yaml
application.giantswarm.io/readme: https://giantswarm.github.io/control-plane-test-catalog/dashboards-3.26.0-fcdd3581a675333010c78a1efd235b8ee3a62372.tgz-meta/README.md
Expand Down Expand Up @@ -47623,4 +47649,4 @@ entries:
urls:
- https://giantswarm.github.io/control-plane-test-catalog/vertical-pod-autoscaler-crd-3.1.1-210f7d852240f260929631c2436c30b32e897589.tgz
version: 3.1.1-210f7d852240f260929631c2436c30b32e897589
generated: "2024-12-27T11:41:22.599019545Z"
generated: "2024-12-27T12:31:22.585433176Z"

0 comments on commit 43ddd0b

Please sign in to comment.