InfluxDB 與 Marrow
自動化
每一項指標都以時間序列放進 InfluxDB,依排程 POST。
「在Marrow中打開」需要在iPhone上使用Marrow 1.6或更新版本。
自動化 免費
Marrow 依排程把 CSV 或 JSON POST 到一個網址,App 不用開著。你需要:Telegraf,或配方中那個 30 行的橋接程式。
- 在Marrow中開啟連線,再進入匯出,點選InfluxDB。開啟自動化。
- 在 InfluxDB 前面執行 Telegraf 接聽器,或配方中的橋接程式。
- 在 Marrow 中:新增自動化操作。它的頁面會要求:
- 網址:橋接程式或 Telegraf 接聽器的位址,不是 InfluxDB 本身。看起來像
https://<bridge>/. - 標頭:加入 Authorization: Bearer,以及橋接程式預期的密鑰。
- 資料和頻率:資料種類、JSON 或 CSV,以及執行的頻率。
- 執行:點「立即執行」送出第一筆資料。
- 網址:橋接程式或 Telegraf 接聽器的位址,不是 InfluxDB 本身。看起來像
用 InfluxDB 打造
Body Ops手機、手錶和各項記錄的每一個訊號都集中在一個 Grafana 儀表板上,每小時更新一次。
一年的圓環一整年的樣貌:心率、睡眠、步數、卡路里、聲音和日照,以六個時鐘圓環呈現,資料來自 Body Ops。做了什麼嗎?加入「用 Marrow 打造」.
如果沒有用
在 InfluxDB 中
- Marrow 直接 POST 到 InfluxDB 而失敗。InfluxDB 的寫入 API 只接受行協定(line protocol),所以 Marrow 的 JSON 會得到 400。請讓 Marrow 指向配方中的橋接程式或 Telegraf 接聽器。
- 橋接程式回報 Server answered 502。InfluxDB 拒絕了寫入。權杖不對或無法寫入該 bucket 時它回應 401,org 或 bucket 名稱不對時回應 404。InfluxDB 2 需要
Authorization: Token和 API 權杖。 - Telegraf 什麼都沒收到。接聽器預設使用連接埠 8080 和路徑
/telegraf。配方設定的是連接埠 8798 和/marrow,所以 Marrow 中的位址必須一致。它採用 Basic 驗證:Authorization: Basic加上 user:password 的 base64。 - Telegraf 回應 204,卻沒有資料點。即使什麼都沒解析到,Telegraf 也會回應成功。請檢查 json_v2 區塊是否與資料內容相符,並用
--debug執行 Telegraf,看它讀到了什麼。
自動化檢查
- 用「立即執行」測試。「立即執行」下面那一行會說明發生了什麼。任何 2xx 回應都算已送達。其他情況會顯示為 Server answered 加上狀態碼,或網路錯誤。
- 查看活動記錄。在該自動化操作中,更多選項、活動記錄會列出最近 30 次執行及各自的結果。
- 執行延遲。背景執行的時間由 iOS 決定,整天鎖著的手機會在下次解鎖時送出。「自上次執行以來」會在下一次成功的執行補上進度。
- 家中網路上的接收端。Marrow 需要「本機網路」存取權限才連得到它(設定、隱私權與安全性、本機網路)。請在 Marrow 開著時點一次「立即執行」,iOS 才能詢問你:在背景時,它會直接拒絕,不會詢問。
- 開不起來。每個已開啟的自動化操作都算一個連線。Free同時可開啟3個連線。Marrow Pro最多20個:AI、伺服器和自動化操作合計。來源不會計入。
指南中有更多解法:自動化.