1. 建立新的 patient.log
打開 cancer-dashboard/patient.log,把內容換成:
2025-09-01 patient_id=001 AFP=120 ALT=30
2025-09-02 patient_id=001 AFP=135 ALT=45
2025-09-03 patient_id=001 AFP=180 ALT=40
2025-09-01 patient_id=002 AFP=90 ALT=25
2025-09-02 patient_id=002 AFP=100 ALT=30
2025-09-03 patient_id=002 AFP=130 ALT=50
• patient_id → 病人編號
• AFP → 甲型胎兒蛋白 (肝癌常用標記)
• ALT → 肝功能指標(丙氨酸轉氨酶)
2. 確認 Promtail 正在收集
昨天已經設定好 promtail-config.yml,它會自動讀取patient.log。
只要重新啟動服務:
docker compose down
docker compose up -d
然後檢查Promtail log:
docker logs cancer-dashboard-promtail-1 | head -n 20
有看到patient.log被讀取的訊息,就代表OK。
3. 在Grafana新增Dashboard Variables
(1)開Grafana → 左側選單 Dashboards → New → New dashboard
(2)點Add variable
(3)新增變數 patient_id:
• 類型:Query
• Data source:選Loki
• 查詢語法:
label_values(patient-data, patient_id)
• 這樣Grafana就會自動抓出所有病人的ID
(4)增另一個變數 marker(代表檢測指標,例如 AFP、ALT):
• 類型:Custom
• 輸入值:
AFP, ALT
4. 在圖表裡使用變數
在你的Panel查詢語法中,可以這樣寫:
{job="patient-data", patient_id="$patient_id"} |= "$marker"
這樣就能做到:
• 選病人 → 看該病人的數據
• 選指標 → 切換顯示AFP或ALT
5. 測試成果
• 在Dashboard上加一個Dropdown,選擇病人編號。
• 再加另一個Dropdown,選擇指標 (AFP/ALT)。
• 嘗試切換,圖表會即時變化!