{
  "__inputs": [
    {
      "name": "DS_PROMETHEUS",
      "label": "Prometheus",
      "description": "Le Prometheus qui lit IshedDB",
      "type": "datasource",
      "pluginId": "prometheus",
      "pluginName": "Prometheus"
    }
  ],
  "__requires": [
    {
      "type": "datasource",
      "id": "prometheus",
      "name": "Prometheus",
      "version": "1.0.0"
    }
  ],
  "title": "IshedDB",
  "description": "Les mesures des clusters Dédiés d’un projet IshedDB, lues par Prometheus.",
  "tags": [
    "isheddb"
  ],
  "timezone": "browser",
  "schemaVersion": 39,
  "version": 1,
  "editable": true,
  "refresh": "30s",
  "time": {
    "from": "now-6h",
    "to": "now"
  },
  "templating": {
    "list": [
      {
        "name": "project",
        "label": "Projet",
        "type": "query",
        "datasource": {
          "type": "prometheus",
          "uid": "${DS_PROMETHEUS}"
        },
        "query": {
          "query": "label_values(ished_up, project)",
          "refId": "Projet"
        },
        "definition": "label_values(ished_up, project)",
        "refresh": 2,
        "includeAll": false,
        "multi": false
      },
      {
        "name": "cluster",
        "label": "Cluster",
        "type": "query",
        "datasource": {
          "type": "prometheus",
          "uid": "${DS_PROMETHEUS}"
        },
        "query": {
          "query": "label_values(ished_up{project=\"$project\"}, cluster)",
          "refId": "Cluster"
        },
        "definition": "label_values(ished_up{project=\"$project\"}, cluster)",
        "refresh": 2,
        "includeAll": true,
        "allValue": ".*",
        "multi": true
      }
    ]
  },
  "panels": [
    {
      "id": 1,
      "type": "stat",
      "title": "Cluster en service",
      "datasource": {
        "type": "prometheus",
        "uid": "${DS_PROMETHEUS}"
      },
      "gridPos": {
        "x": 0,
        "y": 0,
        "w": 6,
        "h": 4
      },
      "fieldConfig": {
        "defaults": {
          "unit": "none",
          "color": {
            "mode": "fixed",
            "fixedColor": "#1F6B46"
          }
        },
        "overrides": []
      },
      "options": {
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": false
        },
        "colorMode": "value",
        "graphMode": "area"
      },
      "targets": [
        {
          "refId": "A",
          "datasource": {
            "type": "prometheus",
            "uid": "${DS_PROMETHEUS}"
          },
          "expr": "min(ished_up{project=\"$project\",cluster=~\"$cluster\"})",
          "legendFormat": "en service"
        }
      ]
    },
    {
      "id": 2,
      "type": "stat",
      "title": "Documents",
      "datasource": {
        "type": "prometheus",
        "uid": "${DS_PROMETHEUS}"
      },
      "gridPos": {
        "x": 6,
        "y": 0,
        "w": 6,
        "h": 4
      },
      "fieldConfig": {
        "defaults": {
          "unit": "short",
          "color": {
            "mode": "fixed",
            "fixedColor": "#1F6B46"
          }
        },
        "overrides": []
      },
      "options": {
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": false
        },
        "colorMode": "value",
        "graphMode": "area"
      },
      "targets": [
        {
          "refId": "A",
          "datasource": {
            "type": "prometheus",
            "uid": "${DS_PROMETHEUS}"
          },
          "expr": "sum(ished_documents{project=\"$project\",cluster=~\"$cluster\"})",
          "legendFormat": "documents"
        }
      ]
    },
    {
      "id": 3,
      "type": "stat",
      "title": "Collections",
      "datasource": {
        "type": "prometheus",
        "uid": "${DS_PROMETHEUS}"
      },
      "gridPos": {
        "x": 12,
        "y": 0,
        "w": 6,
        "h": 4
      },
      "fieldConfig": {
        "defaults": {
          "unit": "short",
          "color": {
            "mode": "fixed",
            "fixedColor": "#1F6B46"
          }
        },
        "overrides": []
      },
      "options": {
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": false
        },
        "colorMode": "value",
        "graphMode": "area"
      },
      "targets": [
        {
          "refId": "A",
          "datasource": {
            "type": "prometheus",
            "uid": "${DS_PROMETHEUS}"
          },
          "expr": "sum(ished_collections{project=\"$project\",cluster=~\"$cluster\"})",
          "legendFormat": "collections"
        }
      ]
    },
    {
      "id": 4,
      "type": "stat",
      "title": "Stockage",
      "datasource": {
        "type": "prometheus",
        "uid": "${DS_PROMETHEUS}"
      },
      "gridPos": {
        "x": 18,
        "y": 0,
        "w": 6,
        "h": 4
      },
      "fieldConfig": {
        "defaults": {
          "unit": "bytes",
          "color": {
            "mode": "fixed",
            "fixedColor": "#1F6B46"
          }
        },
        "overrides": []
      },
      "options": {
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": false
        },
        "colorMode": "value",
        "graphMode": "area"
      },
      "targets": [
        {
          "refId": "A",
          "datasource": {
            "type": "prometheus",
            "uid": "${DS_PROMETHEUS}"
          },
          "expr": "sum(ished_storage_bytes{project=\"$project\",cluster=~\"$cluster\"})",
          "legendFormat": "stockage"
        }
      ]
    },
    {
      "id": 5,
      "type": "timeseries",
      "title": "Requêtes par seconde, par rôle de clé",
      "datasource": {
        "type": "prometheus",
        "uid": "${DS_PROMETHEUS}"
      },
      "gridPos": {
        "x": 0,
        "y": 8,
        "w": 12,
        "h": 8
      },
      "fieldConfig": {
        "defaults": {
          "unit": "reqps",
          "color": {
            "mode": "palette-classic",
            "fixedColor": "#1F6B46"
          }
        },
        "overrides": []
      },
      "options": {
        "legend": {
          "displayMode": "list",
          "placement": "bottom"
        },
        "tooltip": {
          "mode": "multi"
        }
      },
      "targets": [
        {
          "refId": "A",
          "datasource": {
            "type": "prometheus",
            "uid": "${DS_PROMETHEUS}"
          },
          "expr": "sum by (scope) (rate(ished_requests_total{project=\"$project\",cluster=~\"$cluster\",outcome=\"ok\"}[$__rate_interval]))",
          "legendFormat": "{{scope}}"
        }
      ]
    },
    {
      "id": 6,
      "type": "timeseries",
      "title": "Refus et erreurs par seconde",
      "datasource": {
        "type": "prometheus",
        "uid": "${DS_PROMETHEUS}"
      },
      "gridPos": {
        "x": 12,
        "y": 8,
        "w": 12,
        "h": 8
      },
      "fieldConfig": {
        "defaults": {
          "unit": "reqps",
          "color": {
            "mode": "palette-classic",
            "fixedColor": "#1F6B46"
          }
        },
        "overrides": []
      },
      "options": {
        "legend": {
          "displayMode": "list",
          "placement": "bottom"
        },
        "tooltip": {
          "mode": "multi"
        }
      },
      "targets": [
        {
          "refId": "A",
          "datasource": {
            "type": "prometheus",
            "uid": "${DS_PROMETHEUS}"
          },
          "expr": "sum by (outcome) (rate(ished_requests_total{project=\"$project\",cluster=~\"$cluster\",outcome!=\"ok\"}[$__rate_interval]))",
          "legendFormat": "{{outcome}}"
        }
      ]
    },
    {
      "id": 7,
      "type": "timeseries",
      "title": "Durée des réponses (95e centile)",
      "datasource": {
        "type": "prometheus",
        "uid": "${DS_PROMETHEUS}"
      },
      "gridPos": {
        "x": 0,
        "y": 16,
        "w": 12,
        "h": 8
      },
      "fieldConfig": {
        "defaults": {
          "unit": "s",
          "color": {
            "mode": "palette-classic",
            "fixedColor": "#1F6B46"
          }
        },
        "overrides": []
      },
      "options": {
        "legend": {
          "displayMode": "list",
          "placement": "bottom"
        },
        "tooltip": {
          "mode": "multi"
        }
      },
      "targets": [
        {
          "refId": "A",
          "datasource": {
            "type": "prometheus",
            "uid": "${DS_PROMETHEUS}"
          },
          "expr": "histogram_quantile(0.95, sum by (le, scope) (rate(ished_request_duration_seconds_bucket{project=\"$project\",cluster=~\"$cluster\"}[$__rate_interval])))",
          "legendFormat": "{{scope}}"
        }
      ]
    },
    {
      "id": 8,
      "type": "timeseries",
      "title": "Transfert",
      "datasource": {
        "type": "prometheus",
        "uid": "${DS_PROMETHEUS}"
      },
      "gridPos": {
        "x": 12,
        "y": 16,
        "w": 12,
        "h": 8
      },
      "fieldConfig": {
        "defaults": {
          "unit": "Bps",
          "color": {
            "mode": "palette-classic",
            "fixedColor": "#1F6B46"
          }
        },
        "overrides": []
      },
      "options": {
        "legend": {
          "displayMode": "list",
          "placement": "bottom"
        },
        "tooltip": {
          "mode": "multi"
        }
      },
      "targets": [
        {
          "refId": "A",
          "datasource": {
            "type": "prometheus",
            "uid": "${DS_PROMETHEUS}"
          },
          "expr": "sum(rate(ished_network_received_bytes_total{project=\"$project\",cluster=~\"$cluster\"}[$__rate_interval]))",
          "legendFormat": "reçu"
        },
        {
          "refId": "B",
          "datasource": {
            "type": "prometheus",
            "uid": "${DS_PROMETHEUS}"
          },
          "expr": "sum(rate(ished_network_sent_bytes_total{project=\"$project\",cluster=~\"$cluster\"}[$__rate_interval]))",
          "legendFormat": "envoyé"
        }
      ]
    },
    {
      "id": 9,
      "type": "timeseries",
      "title": "Stockage dans le temps",
      "datasource": {
        "type": "prometheus",
        "uid": "${DS_PROMETHEUS}"
      },
      "gridPos": {
        "x": 0,
        "y": 24,
        "w": 12,
        "h": 8
      },
      "fieldConfig": {
        "defaults": {
          "unit": "bytes",
          "color": {
            "mode": "palette-classic",
            "fixedColor": "#1F6B46"
          }
        },
        "overrides": []
      },
      "options": {
        "legend": {
          "displayMode": "list",
          "placement": "bottom"
        },
        "tooltip": {
          "mode": "multi"
        }
      },
      "targets": [
        {
          "refId": "A",
          "datasource": {
            "type": "prometheus",
            "uid": "${DS_PROMETHEUS}"
          },
          "expr": "sum by (cluster) (ished_storage_bytes{project=\"$project\",cluster=~\"$cluster\"})",
          "legendFormat": "{{cluster}}"
        }
      ]
    }
  ]
}
