{ "dashboard": { "id": null, "title": "🏥 Service Health Center - User Friendly", "tags": ["services", "health", "user-friendly", "overview"], "style": "dark", "timezone": "browser", "panels": [ { "id": 1, "title": "🔐 Security Services", "type": "stat", "targets": [ { "expr": "up{instance=~\".*vaultwarden.*\"}", "legendFormat": "🔐 Vaultwarden" } ], "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "thresholds": { "steps": [ {"color": "red", "value": 0}, {"color": "green", "value": 1} ] }, "mappings": [ { "options": { "0": {"text": "🔴 OFFLINE", "color": "red"}, "1": {"text": "🟢 ONLINE", "color": "green"} }, "type": "value" } ], "unit": "short" } }, "gridPos": {"h": 6, "w": 8, "x": 0, "y": 0} }, { "id": 2, "title": "📄 Document Services", "type": "stat", "targets": [ { "expr": "up{instance=~\".*192\\.168\\.50\\.229:8000.*\"}", "legendFormat": "📄 Paperless-NGX" }, { "expr": "up{instance=~\".*192\\.168\\.50\\.229:3000.*\"}", "legendFormat": "🤖 Paperless-AI" } ], "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "thresholds": { "steps": [ {"color": "red", "value": 0}, {"color": "green", "value": 1} ] }, "mappings": [ { "options": { "0": {"text": "🔴 OFFLINE", "color": "red"}, "1": {"text": "🟢 ONLINE", "color": "green"} }, "type": "value" } ], "unit": "short" } }, "gridPos": {"h": 6, "w": 8, "x": 8, "y": 0} }, { "id": 3, "title": "☁️ Cloud Services", "type": "stat", "targets": [ { "expr": "up{instance=~\".*192\\.168\\.50\\.229:8081.*\"}", "legendFormat": "☁️ Nextcloud" } ], "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "thresholds": { "steps": [ {"color": "red", "value": 0}, {"color": "green", "value": 1} ] }, "mappings": [ { "options": { "0": {"text": "🔴 OFFLINE", "color": "red"}, "1": {"text": "🟢 ONLINE", "color": "green"} }, "type": "value" } ], "unit": "short" } }, "gridPos": {"h": 6, "w": 8, "x": 16, "y": 0} }, { "id": 4, "title": "🏠 Home Automation", "type": "stat", "targets": [ { "expr": "up{instance=~\".*192\\.168\\.50\\.181:8123.*\"}", "legendFormat": "🏠 Home Assistant" } ], "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "thresholds": { "steps": [ {"color": "red", "value": 0}, {"color": "green", "value": 1} ] }, "mappings": [ { "options": { "0": {"text": "🔴 OFFLINE", "color": "red"}, "1": {"text": "🟢 ONLINE", "color": "green"} }, "type": "value" } ], "unit": "short" } }, "gridPos": {"h": 6, "w": 8, "x": 0, "y": 6} }, { "id": 5, "title": "🐳 Management Tools", "type": "stat", "targets": [ { "expr": "up{instance=~\".*192\\.168\\.50\\.181:9000.*\"}", "legendFormat": "🐳 Portainer" } ], "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "thresholds": { "steps": [ {"color": "red", "value": 0}, {"color": "green", "value": 1} ] }, "mappings": [ { "options": { "0": {"text": "🔴 OFFLINE", "color": "red"}, "1": {"text": "🟢 ONLINE", "color": "green"} }, "type": "value" } ], "unit": "short" } }, "gridPos": {"h": 6, "w": 8, "x": 8, "y": 6} }, { "id": 6, "title": "📱 Mobile Apps", "type": "stat", "targets": [ { "expr": "up{instance=~\".*192\\.168\\.50\\.66:9080.*\"}", "legendFormat": "📱 AppFlowy" } ], "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "thresholds": { "steps": [ {"color": "red", "value": 0}, {"color": "green", "value": 1} ] }, "mappings": [ { "options": { "0": {"text": "🔴 OFFLINE", "color": "red"}, "1": {"text": "🟢 ONLINE", "color": "green"} }, "type": "value" } ], "unit": "short" } }, "gridPos": {"h": 6, "w": 8, "x": 16, "y": 6} }, { "id": 7, "title": "🗄️ Database Services", "type": "stat", "targets": [ { "expr": "up{instance=~\".*192\\.168\\.50\\.229:5432.*\"}", "legendFormat": "🐘 PostgreSQL" }, { "expr": "up{instance=~\".*192\\.168\\.50\\.229:3306.*\"}", "legendFormat": "🐬 MariaDB" }, { "expr": "up{instance=~\".*192\\.168\\.50\\.229:6379.*\"}", "legendFormat": "🔴 Redis" } ], "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "thresholds": { "steps": [ {"color": "red", "value": 0}, {"color": "green", "value": 1} ] }, "mappings": [ { "options": { "0": {"text": "🔴 OFFLINE", "color": "red"}, "1": {"text": "🟢 ONLINE", "color": "green"} }, "type": "value" } ], "unit": "short" } }, "gridPos": {"h": 6, "w": 8, "x": 0, "y": 12} }, { "id": 8, "title": "📡 Communication Services", "type": "stat", "targets": [ { "expr": "up{instance=~\".*192\\.168\\.50\\.229:1883.*\"}", "legendFormat": "📡 Mosquitto MQTT" } ], "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "thresholds": { "steps": [ {"color": "red", "value": 0}, {"color": "green", "value": 1} ] }, "mappings": [ { "options": { "0": {"text": "🔴 OFFLINE", "color": "red"}, "1": {"text": "🟢 ONLINE", "color": "green"} }, "type": "value" } ], "unit": "short" } }, "gridPos": {"h": 6, "w": 8, "x": 8, "y": 12} }, { "id": 9, "title": "📊 Monitoring Services", "type": "stat", "targets": [ { "expr": "up{instance=~\".*192\\.168\\.50\\.229:9091.*\"}", "legendFormat": "📈 Prometheus" }, { "expr": "up{instance=~\".*192\\.168\\.50\\.229:3002.*\"}", "legendFormat": "📊 Grafana" }, { "expr": "up{instance=~\".*192\\.168\\.50\\.229:9100.*\"}", "legendFormat": "🖥️ Node Exporter" }, { "expr": "up{instance=~\".*192\\.168\\.50\\.229:9115.*\"}", "legendFormat": "🔍 Blackbox Exporter" } ], "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "thresholds": { "steps": [ {"color": "red", "value": 0}, {"color": "green", "value": 1} ] }, "mappings": [ { "options": { "0": {"text": "🔴 OFFLINE", "color": "red"}, "1": {"text": "🟢 ONLINE", "color": "green"} }, "type": "value" } ], "unit": "short" } }, "gridPos": {"h": 6, "w": 8, "x": 16, "y": 12} }, { "id": 10, "title": "📈 Service Response Times", "type": "graph", "targets": [ { "expr": "probe_duration_seconds{job=\"http-service-health\"}", "legendFormat": "{{instance}}" } ], "yAxes": [ { "label": "Response Time (seconds)", "min": 0 } ], "gridPos": {"h": 8, "w": 12, "x": 0, "y": 18} }, { "id": 11, "title": "🌐 HTTP Status Overview", "type": "graph", "targets": [ { "expr": "probe_http_status_code{job=\"http-service-health\"}", "legendFormat": "{{instance}} - {{code}}" } ], "yAxes": [ { "label": "HTTP Status Code", "min": 0, "max": 600 } ], "gridPos": {"h": 8, "w": 12, "x": 12, "y": 18} } ], "time": { "from": "now-1h", "to": "now" }, "refresh": "30s" } }