Provisioning de dashboards (provider + JSON) : un dashboard logs avec sélecteur d'hôte + filtre regex + panneau logs + débit. Référence Loki par une VARIABLE de datasource (ds_loki), pas un UID codé en dur. Leçon : ajouter un uid explicite à une datasource déjà provisionnée casse le démarrage de Grafana (« data source not found ») → variable de datasource. Permet aux Viewers (dont testmail) de voir les logs sans accès Explore. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
66 lines
2.1 KiB
JSON
66 lines
2.1 KiB
JSON
{
|
|
"uid": "setops-journaux",
|
|
"title": "Journaux de la flotte",
|
|
"tags": ["set-ops", "logs"],
|
|
"timezone": "browser",
|
|
"schemaVersion": 39,
|
|
"version": 1,
|
|
"refresh": "30s",
|
|
"time": { "from": "now-1h", "to": "now" },
|
|
"templating": {
|
|
"list": [
|
|
{
|
|
"name": "ds_loki",
|
|
"label": "Source Loki",
|
|
"type": "datasource",
|
|
"query": "loki",
|
|
"hide": 2,
|
|
"current": {}
|
|
},
|
|
{
|
|
"name": "host",
|
|
"label": "Hôte",
|
|
"type": "query",
|
|
"datasource": { "type": "loki", "uid": "${ds_loki}" },
|
|
"query": "label_values(host)",
|
|
"definition": "label_values(host)",
|
|
"includeAll": true,
|
|
"multi": true,
|
|
"current": { "text": "All", "value": "$__all" },
|
|
"refresh": 2,
|
|
"sort": 1
|
|
},
|
|
{
|
|
"name": "filtre",
|
|
"label": "Filtre (regex, insensible à la casse)",
|
|
"type": "textbox",
|
|
"query": "",
|
|
"current": { "text": "", "value": "" }
|
|
}
|
|
]
|
|
},
|
|
"panels": [
|
|
{
|
|
"id": 1,
|
|
"type": "timeseries",
|
|
"title": "Débit des journaux (lignes/s) par hôte",
|
|
"datasource": { "type": "loki", "uid": "${ds_loki}" },
|
|
"gridPos": { "h": 7, "w": 24, "x": 0, "y": 0 },
|
|
"fieldConfig": { "defaults": { "custom": { "drawStyle": "bars", "fillOpacity": 40, "stacking": { "mode": "normal" } } } },
|
|
"targets": [
|
|
{ "refId": "A", "datasource": { "type": "loki", "uid": "${ds_loki}" }, "expr": "sum by (host) (rate({host=~\"$host\"} |~ \"(?i)$filtre\" [$__interval]))", "legendFormat": "{{host}}" }
|
|
]
|
|
},
|
|
{
|
|
"id": 2,
|
|
"type": "logs",
|
|
"title": "Journaux",
|
|
"datasource": { "type": "loki", "uid": "${ds_loki}" },
|
|
"gridPos": { "h": 18, "w": 24, "x": 0, "y": 7 },
|
|
"options": { "showTime": true, "wrapLogMessage": true, "prettifyLogMessage": false, "enableLogDetails": true, "sortOrder": "Descending" },
|
|
"targets": [
|
|
{ "refId": "A", "datasource": { "type": "loki", "uid": "${ds_loki}" }, "expr": "{host=~\"$host\"} |~ \"(?i)$filtre\"" }
|
|
]
|
|
}
|
|
]
|
|
}
|