Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

開始使用

Demo script 可以用範例資料與實際 Rule 快速展示 Osprey 的運作方式,不需要撰寫程式碼或設定,結束後也能用單一 command 清理。若要逐一執行服務、修改程式碼及除錯,請參考英文官方文件的本機開發章節。

執行 demo 的步驟如下。

  1. 確認已安裝必要工具。 需要安裝支援 Compose v2 plugin 的 Docker,並啟動 Docker daemon。Script 會在進行其他操作前先檢查這些項目。

    docker --version && docker compose version
    

    技術堆疊也需要多個未使用的 ports,script 會預先檢查並列出已被占用的 ports。實際會開啟的服務包括 5002 的 Osprey UI 與 8888 的 Druid console,worker 與 UI API 則使用 50015004

  2. 從 repository clone 執行 script。

    ./demo.sh
    

    也可以在尚未 clone repository 的情況下執行。這個方式會將 repository clone 到 ./osprey-demo

    curl -sSL https://raw.githubusercontent.com/roostorg/osprey/main/demo.sh | bash
    

    Script 會啟動完整技術堆疊,包括 Kafka、Druid、PostgreSQL、MinIO、Osprey worker、API 與 UI,總共超過 12 個 containers。測試資料 producer 每秒會傳送一個合成貼文 event。若找到先前執行留下的服務,script 會在停止前詢問;不論是否找到服務,先前 demo 的 volumes 都會移除,讓每次 demo 從乾淨狀態開始。首次執行需要下載及建立 images,可能花費數分鐘。

    Warning

    Demo 會移除先前 demo 使用的 volumes 與其中資料。只應在確認目標是 Osprey demo 資源後執行。直接將網路取得的 script 傳入 shell 前,也應先下載並檢查內容及來源版本。

  3. 等待 Demo Ready! banner。 Script 會等待所有服務回報 healthy,再等待第一批 Events 流入,整個過程需要幾分鐘。完成後會在瀏覽器開啟介面,或印出可自行開啟的 URL,並預先填入查詢最近一天 Events 的條件。

可以嘗試的操作

Demo ruleset 包含一個 ContainsHello Rule。任何包含 hello 的貼文都會讓作者被停用並套用 meow Label。Producer 會從小型詞庫組成五個字的貼文,因此約三分之一產生的貼文會觸發這個 Rule。

  • 查看 Event Stream。 右側面板會顯示處理中的 Events。點選符合 ContainsHello 的 event,查看擷取的 Features 與 Effects
  • 用查詢篩選。 在查詢列輸入 ContainsHello == True,只顯示觸發 Rule 的貼文。其他語法請見查詢語法
  • 使用 Top N 分組。 預先填入的查詢會依 UserId 分組,顯示哪些合成使用者最常被停用
  • 開啟 Rules Visualizer。 從導覽列開啟關係圖,查看 demo 的 Features 與 Rule 之間的 dependency graph

使用者指南說明完整調查流程。SML 與自行撰寫 Rules 的方式目前請參考英文官方文件的撰寫規則章節。

停止 demo

從 repository 目錄執行。若 script 代為 clone,則從 osprey-demo/ 執行。

docker compose --profile test_data down -v

這個 command 會停止所有 containers,並刪除包括全部 demo 產生資料在內的 volumes。

發生問題時

Script 是方便使用的 wrapper。可以直接執行同一套技術堆疊並查看 logs。

docker compose --profile test_data up -d
docker compose logs --follow osprey-worker

服務穩定後開啟 http://localhost:5002。常見問題請見英文官方文件的疑難排解章節;各項 demo 服務的說明則位於本機開發章節。