feat(grafana) Added custom dashboard with the Grafana values.yaml override

Dashboard displays the Logs for the label tekton_dev_pipeline.
Drop down menus added for selecting Namespace, pipeline, pipeline run and task run.
Dashboard is added to default admin user in default org.

Template provided can be modified to show different panels, different labels/logs.
Template can be added to different orgs and users with additional API calls.

Change-Id: I0e2126ec5044b15e8a0727f6124e11fc0a2164d9
This commit is contained in:
mn9209 2021-01-13 17:54:06 -06:00
parent 64974a8225
commit e455800785

View File

@ -32,4 +32,329 @@ grafana:
tls:
- secretName: lokistack-grafana-tls
hosts:
- grafana.jarvis.local
- grafana.jarvis.local
dashboardProviders:
dashboardproviders.yaml:
apiVersion: 1
providers:
- name: 'default'
orgId: 1
folder: ''
type: file
disableDeletion: false
editable: true
options:
path: /var/lib/grafana/dashboards/default
dashboards:
default:
tekton-pipelines:
json: |
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"description": "Tekton Logs Dashboard",
"editable": true,
"gnetId": null,
"graphTooltip": 0,
"id": null,
"iteration": 1610656127596,
"links": [],
"panels": [
{
"aliasColors": {},
"bars": true,
"dashLength": 10,
"dashes": false,
"datasource": "Loki",
"fieldConfig": {
"defaults": {
"custom": {}
},
"overrides": []
},
"fill": 1,
"fillGradient": 0,
"gridPos": {
"h": 8,
"w": 24,
"x": 0,
"y": 0
},
"hiddenSeries": false,
"id": 6,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": false,
"total": false,
"values": false
},
"lines": false,
"linewidth": 1,
"nullPointMode": "null",
"options": {
"dataLinks": []
},
"percentage": false,
"pointradius": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "sum(count_over_time({namespace=~\"$namespace\", tekton_dev_pipeline=~\"$tekton_dev_pipeline\", tekton_dev_pipelineRun=~\"$tekton_dev_pipelineRun\", tekton_dev_taskRun=~\"$tekton_dev_taskRun\"} |~ \"$search\"[$__interval]))",
"refId": "A"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Timeline",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": false
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": false
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"datasource": "Loki",
"fieldConfig": {
"defaults": {
"custom": {}
},
"overrides": []
},
"gridPos": {
"h": 25,
"w": 24,
"x": 0,
"y": 8
},
"id": 2,
"maxDataPoints": "",
"options": {
"showLabels": true,
"showTime": true,
"sortOrder": "Descending",
"wrapLogMessage": true
},
"targets": [
{
"expr": "{namespace=~\"$namespace\", tekton_dev_pipeline=~\"$tekton_dev_pipeline\", tekton_dev_pipelineRun=~\"$tekton_dev_pipelineRun\", tekton_dev_taskRun=~\"$tekton_dev_taskRun\"} |~ \"$search\"",
"refId": "A"
}
],
"timeFrom": null,
"timeShift": null,
"title": "Logs",
"type": "logs"
}
],
"refresh": false,
"schemaVersion": 22,
"style": "dark",
"tags": [],
"templating": {
"list": [
{
"allValue": null,
"current": {
"selected": false,
"text": "All",
"value": "$__all"
},
"datasource": "Loki",
"definition": "label_values(kube_pod_info, namespace)",
"hide": 0,
"includeAll": true,
"index": -1,
"label": null,
"multi": false,
"name": "namespace",
"options": [],
"query": "label_values(kube_pod_info, namespace)",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
"sort": 0,
"tagValuesQuery": "",
"tags": [],
"tagsQuery": "",
"type": "query",
"useTags": false
},
{
"allValue": ".*",
"current": {
"selected": false,
"text": "All",
"value": "$__all"
},
"datasource": "Loki",
"definition": "label_values(mixin_pod_workload{namespace=\"$namespace\"}, tekton_dev_pipeline)",
"hide": 0,
"includeAll": true,
"index": -1,
"label": null,
"multi": false,
"name": "tekton_dev_pipeline",
"options": [],
"query": "label_values(mixin_pod_workload{namespace=\"namespace\"}, tekton_dev_pipeline)",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
"sort": 5,
"tagValuesQuery": "",
"tags": [],
"tagsQuery": "",
"type": "query",
"useTags": false
},
{
"allValue": ".*",
"current": {
"selected": false,
"text": "All",
"value": "$__all"
},
"datasource": "Loki",
"definition": "label_values(mixin_pod_workload{namespace=\"$namespace\"}, tekton_dev_pipelineRun)",
"hide": 0,
"includeAll": true,
"index": -1,
"label": null,
"multi": false,
"name": "tekton_dev_pipelineRun",
"options": [],
"query": "label_values(mixin_pod_workload{namespace=\"$namespace\"}, tekton_dev_pipelineRun)",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
"sort": 5,
"tagValuesQuery": "",
"tags": [],
"tagsQuery": "",
"type": "query",
"useTags": false
},
{
"allValue": ".*",
"current": {
"selected": false,
"text": "All",
"value": "$__all"
},
"datasource": "Loki",
"definition": "label_values(mixin_pod_workload{namespace=\"$namespace\"}, tekton_dev_taskRun)",
"hide": 0,
"includeAll": true,
"index": -1,
"label": null,
"multi": false,
"name": "tekton_dev_taskRun",
"options": [],
"query": "label_values(mixin_pod_workload{namespace=\"$namespace\"}, tekton_dev_taskRun)",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
"sort": 5,
"tagValuesQuery": "",
"tags": [],
"tagsQuery": "",
"type": "query",
"useTags": false
},
{
"current": {
"selected": false,
"text": "",
"value": ""
},
"hide": 0,
"label": null,
"name": "search",
"options": [
{
"selected": true,
"text": "",
"value": ""
}
],
"query": "",
"skipUrlSync": false,
"type": "textbox"
}
]
},
"time": {
"from": "now-24h",
"to": "now"
},
"timepicker": {
"refresh_intervals": [
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
]
},
"timezone": "",
"title": "Tekton Logs Dashboard",
"uid": "tektonDash",
"variables": {
"list": []
},
"version": 1
}