{
  "id": null,
  "title": "Host & Docker Monitoring",
  "tags": ["system", "docker"],
  "timezone": "browser",
  "schemaVersion": 36,
  "version": 1,
  "panels": [
    {
      "type": "graph",
      "title": "Host CPU Usage",
      "datasource": "Prometheus",
      "targets": [
        {
          "expr": "100 - (avg by(instance)(rate(node_cpu_seconds_total{mode=\"idle\"}[5m])) * 100)",
          "legendFormat": "CPU Usage"
        }
      ],
      "lines": true,
      "fill": 1
    },
    {
      "type": "graph",
      "title": "Host Memory Usage",
      "datasource": "Prometheus",
      "targets": [
        {
          "expr": "(node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes) / node_memory_MemTotal_bytes * 100",
          "legendFormat": "Memory Usage"
        }
      ],
      "lines": true,
      "fill": 1
    },
    {
      "type": "graph",
      "title": "Host Disk Usage",
      "datasource": "Prometheus",
      "targets": [
        {
          "expr": "100 - (node_filesystem_avail_bytes{fstype!=\"tmpfs\"} / node_filesystem_size_bytes{fstype!=\"tmpfs\"} * 100)",
          "legendFormat": "{{mountpoint}}"
        }
      ],
      "lines": true,
      "fill": 1
    },
    {
      "type": "graph",
      "title": "Container CPU Usage",
      "datasource": "Prometheus",
      "targets": [
        {
          "expr": "rate(container_cpu_usage_seconds_total[5m])",
          "legendFormat": "{{container_label_com_docker_swarm_service_name}}"
        }
      ],
      "lines": true,
      "fill": 1
    },
    {
      "type": "graph",
      "title": "Container Memory Usage",
      "datasource": "Prometheus",
      "targets": [
        {
          "expr": "container_memory_usage_bytes",
          "legendFormat": "{{container_label_com_docker_swarm_service_name}}"
        }
      ],
      "lines": true,
      "fill": 1
    }
  ]
}
