|
|
|
@@ -14,15 +14,131 @@ data:
|
|
|
|
|
"timezone": "browser",
|
|
|
|
|
"schemaVersion": 39,
|
|
|
|
|
"version": 1,
|
|
|
|
|
"refresh": "30s",
|
|
|
|
|
"refresh": "1m",
|
|
|
|
|
"time": {"from": "now-6h", "to": "now"},
|
|
|
|
|
"panels": [
|
|
|
|
|
{
|
|
|
|
|
"id": 6,
|
|
|
|
|
"title": "Users",
|
|
|
|
|
"type": "stat",
|
|
|
|
|
"datasource": {"type": "prometheus", "uid": "aevstx976yku8a"},
|
|
|
|
|
"gridPos": {"x": 0, "y": 0, "w": 6, "h": 4},
|
|
|
|
|
"targets": [{"refId": "A", "expr": "max(immich_users_total{namespace=\"immich\",endpoint=\"metrics-api\"})", "instant": true}],
|
|
|
|
|
"fieldConfig": {"defaults": {"unit": "none"}, "overrides": []},
|
|
|
|
|
"options": {"colorMode": "value", "graphMode": "area", "reduceOptions": {"calcs": ["lastNotNull"], "fields": "", "values": false}}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": 7,
|
|
|
|
|
"title": "Photos",
|
|
|
|
|
"type": "stat",
|
|
|
|
|
"datasource": {"type": "prometheus", "uid": "aevstx976yku8a"},
|
|
|
|
|
"gridPos": {"x": 6, "y": 0, "w": 6, "h": 4},
|
|
|
|
|
"targets": [{"refId": "A", "expr": "sum(cnpg_immich_user_assets_photos{namespace=\"immich\"})", "instant": true}],
|
|
|
|
|
"fieldConfig": {"defaults": {"unit": "none"}, "overrides": []},
|
|
|
|
|
"options": {"colorMode": "value", "graphMode": "area", "reduceOptions": {"calcs": ["lastNotNull"], "fields": "", "values": false}}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": 8,
|
|
|
|
|
"title": "Videos",
|
|
|
|
|
"type": "stat",
|
|
|
|
|
"datasource": {"type": "prometheus", "uid": "aevstx976yku8a"},
|
|
|
|
|
"gridPos": {"x": 12, "y": 0, "w": 6, "h": 4},
|
|
|
|
|
"targets": [{"refId": "A", "expr": "sum(cnpg_immich_user_assets_videos{namespace=\"immich\"})", "instant": true}],
|
|
|
|
|
"fieldConfig": {"defaults": {"unit": "none"}, "overrides": []},
|
|
|
|
|
"options": {"colorMode": "value", "graphMode": "area", "reduceOptions": {"calcs": ["lastNotNull"], "fields": "", "values": false}}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": 9,
|
|
|
|
|
"title": "Immich-reported storage",
|
|
|
|
|
"description": "Sum of active users' quotaUsageInBytes; this is not the bcachefs volume's physical usage.",
|
|
|
|
|
"type": "stat",
|
|
|
|
|
"datasource": {"type": "prometheus", "uid": "aevstx976yku8a"},
|
|
|
|
|
"gridPos": {"x": 18, "y": 0, "w": 6, "h": 4},
|
|
|
|
|
"targets": [{"refId": "A", "expr": "sum(cnpg_immich_user_assets_storage_bytes{namespace=\"immich\"})", "instant": true}],
|
|
|
|
|
"fieldConfig": {"defaults": {"unit": "bytes"}, "overrides": []},
|
|
|
|
|
"options": {"colorMode": "value", "graphMode": "area", "reduceOptions": {"calcs": ["lastNotNull"], "fields": "", "values": false}}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": 10,
|
|
|
|
|
"title": "Top users by photos",
|
|
|
|
|
"type": "bargauge",
|
|
|
|
|
"datasource": {"type": "prometheus", "uid": "aevstx976yku8a"},
|
|
|
|
|
"gridPos": {"x": 0, "y": 4, "w": 8, "h": 8},
|
|
|
|
|
"targets": [{"refId": "A", "expr": "topk(10, cnpg_immich_user_assets_photos{namespace=\"immich\"})", "instant": true, "legendFormat": "{{user_guid}}"}],
|
|
|
|
|
"fieldConfig": {"defaults": {"unit": "none"}, "overrides": []},
|
|
|
|
|
"options": {"displayMode": "gradient", "orientation": "horizontal", "showUnfilled": true, "reduceOptions": {"calcs": ["lastNotNull"], "fields": "", "values": false}}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": 11,
|
|
|
|
|
"title": "Top users by videos",
|
|
|
|
|
"type": "bargauge",
|
|
|
|
|
"datasource": {"type": "prometheus", "uid": "aevstx976yku8a"},
|
|
|
|
|
"gridPos": {"x": 8, "y": 4, "w": 8, "h": 8},
|
|
|
|
|
"targets": [{"refId": "A", "expr": "topk(10, cnpg_immich_user_assets_videos{namespace=\"immich\"})", "instant": true, "legendFormat": "{{user_guid}}"}],
|
|
|
|
|
"fieldConfig": {"defaults": {"unit": "none"}, "overrides": []},
|
|
|
|
|
"options": {"displayMode": "gradient", "orientation": "horizontal", "showUnfilled": true, "reduceOptions": {"calcs": ["lastNotNull"], "fields": "", "values": false}}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": 12,
|
|
|
|
|
"title": "Top users by storage",
|
|
|
|
|
"type": "bargauge",
|
|
|
|
|
"datasource": {"type": "prometheus", "uid": "aevstx976yku8a"},
|
|
|
|
|
"gridPos": {"x": 16, "y": 4, "w": 8, "h": 8},
|
|
|
|
|
"targets": [{"refId": "A", "expr": "topk(10, cnpg_immich_user_assets_storage_bytes{namespace=\"immich\"})", "instant": true, "legendFormat": "{{user_guid}}"}],
|
|
|
|
|
"fieldConfig": {"defaults": {"unit": "bytes"}, "overrides": []},
|
|
|
|
|
"options": {"displayMode": "gradient", "orientation": "horizontal", "showUnfilled": true, "reduceOptions": {"calcs": ["lastNotNull"], "fields": "", "values": false}}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": 13,
|
|
|
|
|
"title": "Library growth",
|
|
|
|
|
"type": "timeseries",
|
|
|
|
|
"datasource": {"type": "prometheus", "uid": "aevstx976yku8a"},
|
|
|
|
|
"gridPos": {"x": 0, "y": 12, "w": 12, "h": 7},
|
|
|
|
|
"targets": [
|
|
|
|
|
{"refId": "A", "expr": "sum(cnpg_immich_user_assets_photos{namespace=\"immich\"})", "legendFormat": "Photos"},
|
|
|
|
|
{"refId": "B", "expr": "sum(cnpg_immich_user_assets_videos{namespace=\"immich\"})", "legendFormat": "Videos"}
|
|
|
|
|
],
|
|
|
|
|
"fieldConfig": {"defaults": {"unit": "none", "custom": {"drawStyle": "line", "lineWidth": 2, "fillOpacity": 10}}, "overrides": []},
|
|
|
|
|
"options": {"legend": {"displayMode": "table", "placement": "bottom"}, "tooltip": {"mode": "multi"}}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": 14,
|
|
|
|
|
"title": "Active background jobs",
|
|
|
|
|
"type": "timeseries",
|
|
|
|
|
"datasource": {"type": "prometheus", "uid": "aevstx976yku8a"},
|
|
|
|
|
"gridPos": {"x": 12, "y": 12, "w": 12, "h": 7},
|
|
|
|
|
"targets": [
|
|
|
|
|
{"refId": "A", "expr": "immich_queues_thumbnail_generation_active{namespace=\"immich\"}", "legendFormat": "Thumbnails"},
|
|
|
|
|
{"refId": "B", "expr": "immich_queues_video_conversion_active{namespace=\"immich\"}", "legendFormat": "Video conversion"},
|
|
|
|
|
{"refId": "C", "expr": "immich_queues_smart_search_active{namespace=\"immich\"}", "legendFormat": "Smart search"},
|
|
|
|
|
{"refId": "D", "expr": "immich_queues_face_detection_active{namespace=\"immich\"}", "legendFormat": "Face detection"},
|
|
|
|
|
{"refId": "E", "expr": "immich_queues_facial_recognition_active{namespace=\"immich\"}", "legendFormat": "Facial recognition"},
|
|
|
|
|
{"refId": "F", "expr": "immich_queues_ocr_active{namespace=\"immich\"}", "legendFormat": "OCR"}
|
|
|
|
|
],
|
|
|
|
|
"fieldConfig": {"defaults": {"unit": "none", "custom": {"drawStyle": "line", "lineWidth": 2}}, "overrides": []},
|
|
|
|
|
"options": {"legend": {"displayMode": "list", "placement": "bottom"}, "tooltip": {"mode": "multi"}}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": 15,
|
|
|
|
|
"title": "Completed background jobs per minute",
|
|
|
|
|
"type": "timeseries",
|
|
|
|
|
"datasource": {"type": "prometheus", "uid": "aevstx976yku8a"},
|
|
|
|
|
"gridPos": {"x": 0, "y": 19, "w": 24, "h": 7},
|
|
|
|
|
"targets": [
|
|
|
|
|
{"refId": "A", "expr": "60 * rate(immich_jobs_asset_generate_thumbnails_success_total{namespace=\"immich\"}[5m])", "legendFormat": "Thumbnails"},
|
|
|
|
|
{"refId": "B", "expr": "60 * rate(immich_jobs_asset_encode_video_success_total{namespace=\"immich\"}[5m])", "legendFormat": "Video conversion"},
|
|
|
|
|
{"refId": "C", "expr": "60 * rate(immich_jobs_smart_search_success_total{namespace=\"immich\"}[5m])", "legendFormat": "Smart search"},
|
|
|
|
|
{"refId": "D", "expr": "60 * rate(immich_jobs_facial_recognition_success_total{namespace=\"immich\"}[5m])", "legendFormat": "Facial recognition"}
|
|
|
|
|
],
|
|
|
|
|
"fieldConfig": {"defaults": {"unit": "none", "custom": {"drawStyle": "line", "lineWidth": 2}}, "overrides": []},
|
|
|
|
|
"options": {"legend": {"displayMode": "list", "placement": "bottom"}, "tooltip": {"mode": "multi"}}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": 1,
|
|
|
|
|
"title": "CPU by pod and container",
|
|
|
|
|
"type": "timeseries",
|
|
|
|
|
"datasource": {"type": "prometheus", "uid": "aevstx976yku8a"},
|
|
|
|
|
"gridPos": {"x": 0, "y": 0, "w": 12, "h": 8},
|
|
|
|
|
"gridPos": {"x": 0, "y": 26, "w": 12, "h": 8},
|
|
|
|
|
"targets": [{"refId": "A", "expr": "sum by (pod, container) (rate(container_cpu_usage_seconds_total{namespace=\"immich\",pod=~\"immich-(server|machine-learning|valkey|postgresql-[0-9]+).*\",container!=\"\",container!=\"POD\"}[5m]))", "legendFormat": "{{pod}} / {{container}}"}],
|
|
|
|
|
"fieldConfig": {"defaults": {"unit": "cores", "custom": {"drawStyle": "line", "lineWidth": 2, "fillOpacity": 10}}, "overrides": []},
|
|
|
|
|
"options": {"legend": {"displayMode": "table", "placement": "bottom"}, "tooltip": {"mode": "multi", "sort": "desc"}}
|
|
|
|
@@ -32,7 +148,7 @@ data:
|
|
|
|
|
"title": "Memory working set by pod and container",
|
|
|
|
|
"type": "timeseries",
|
|
|
|
|
"datasource": {"type": "prometheus", "uid": "aevstx976yku8a"},
|
|
|
|
|
"gridPos": {"x": 12, "y": 0, "w": 12, "h": 8},
|
|
|
|
|
"gridPos": {"x": 12, "y": 26, "w": 12, "h": 8},
|
|
|
|
|
"targets": [{"refId": "A", "expr": "sum by (pod, container) (container_memory_working_set_bytes{namespace=\"immich\",pod=~\"immich-(server|machine-learning|valkey|postgresql-[0-9]+).*\",container!=\"\",container!=\"POD\"})", "legendFormat": "{{pod}} / {{container}}"}],
|
|
|
|
|
"fieldConfig": {"defaults": {"unit": "bytes", "custom": {"drawStyle": "line", "lineWidth": 2, "fillOpacity": 10}}, "overrides": []},
|
|
|
|
|
"options": {"legend": {"displayMode": "table", "placement": "bottom"}, "tooltip": {"mode": "multi", "sort": "desc"}}
|
|
|
|
@@ -42,7 +158,7 @@ data:
|
|
|
|
|
"title": "Network throughput by pod",
|
|
|
|
|
"type": "timeseries",
|
|
|
|
|
"datasource": {"type": "prometheus", "uid": "aevstx976yku8a"},
|
|
|
|
|
"gridPos": {"x": 0, "y": 8, "w": 12, "h": 8},
|
|
|
|
|
"gridPos": {"x": 0, "y": 34, "w": 12, "h": 8},
|
|
|
|
|
"targets": [
|
|
|
|
|
{"refId": "A", "expr": "sum by (pod) (rate(container_network_receive_bytes_total{namespace=\"immich\",pod=~\"immich-(server|machine-learning|valkey|postgresql-[0-9]+).*\",interface!=\"lo\"}[5m]))", "legendFormat": "{{pod}} receive"},
|
|
|
|
|
{"refId": "B", "expr": "sum by (pod) (rate(container_network_transmit_bytes_total{namespace=\"immich\",pod=~\"immich-(server|machine-learning|valkey|postgresql-[0-9]+).*\",interface!=\"lo\"}[5m]))", "legendFormat": "{{pod}} transmit"}
|
|
|
|
@@ -55,7 +171,7 @@ data:
|
|
|
|
|
"title": "Immich database size",
|
|
|
|
|
"type": "stat",
|
|
|
|
|
"datasource": {"type": "prometheus", "uid": "aevstx976yku8a"},
|
|
|
|
|
"gridPos": {"x": 12, "y": 8, "w": 6, "h": 4},
|
|
|
|
|
"gridPos": {"x": 12, "y": 34, "w": 12, "h": 4},
|
|
|
|
|
"targets": [{"refId": "A", "expr": "max(cnpg_pg_database_size_bytes{namespace=\"immich\",datname=\"immich\"})", "instant": true, "legendFormat": "immich"}],
|
|
|
|
|
"fieldConfig": {"defaults": {"unit": "bytes", "color": {"mode": "thresholds"}, "thresholds": {"mode": "absolute", "steps": [{"color": "green", "value": null}]}}, "overrides": []},
|
|
|
|
|
"options": {"colorMode": "value", "graphMode": "area", "reduceOptions": {"calcs": ["lastNotNull"], "fields": "", "values": false}, "orientation": "auto", "textMode": "auto"}
|
|
|
|
@@ -65,7 +181,7 @@ data:
|
|
|
|
|
"title": "PostgreSQL replication lag",
|
|
|
|
|
"type": "timeseries",
|
|
|
|
|
"datasource": {"type": "prometheus", "uid": "aevstx976yku8a"},
|
|
|
|
|
"gridPos": {"x": 12, "y": 12, "w": 12, "h": 4},
|
|
|
|
|
"gridPos": {"x": 12, "y": 38, "w": 12, "h": 4},
|
|
|
|
|
"targets": [{"refId": "A", "expr": "max by (pod) (cnpg_pg_replication_lag{namespace=\"immich\"})", "legendFormat": "{{pod}}"}],
|
|
|
|
|
"fieldConfig": {"defaults": {"unit": "s", "custom": {"drawStyle": "line", "lineWidth": 2}}, "overrides": []},
|
|
|
|
|
"options": {"legend": {"displayMode": "list", "placement": "bottom"}, "tooltip": {"mode": "multi"}}
|
|
|
|
|