使用 Seq 作為 Log 管理工具 - (1)

官網 Seq

Seq 可以架設在 Windows 或 Docker 上,本文以在 Ubuntu 的 Docker為例。

用 Docker 建置

  1. 執行 Container

    預設會有一組 admin (Username) 帳號,使用 Seq 指令將密碼 <password> 作 Hash 後設定在環境變數,執行 Container 時讀取。

    1
    PH=$(echo '<password>' | docker run --rm -i datalust/seq config hash)
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    docker run \
    --name seq \
    -d \
    --restart unless-stopped \
    -e ACCEPT_EULA=Y \
    -e SEQ_API_CANONICALURI=https://<seq_host>/ \
    -e SEQ_FIRSTRUN_ADMINPASSWORDHASH="$PH" \
    -v <host_data>:/data \
    -p <host_ui_port>:443 \
    -p <host_ingestion_port>:45341 \
    datalust/seq

    下列參數依環境調整

    SEQ_API_CANONICALURI:Seq server 的 base URL

    SEQ_FIRSTRUN_ADMINPASSWORDHASHadmin 帳號密碼,從環境變數讀取。

    <host_data>: 本機 data 路徑

    <host_ui_port>:本機 Seq UI 和 API 的 Port

    Container 預設使用 Port 443 (HTTPS),Port 80 (HTTP)。

    <host_ingestion_port>:本機 ingestion-only 的 Port,也就是接收 Log 用的。

    Container 預設使用 Port 45341 (HTTPS),Port 5341 (HTTP)。

  2. 設定 SSL 憑證

    在 Container 建立憑證路徑 /data/Certificates

    1
    docker exec seq mkdir /data/Certificates

    從本機複製憑證到 Container

    1
    2
    docker cp <certificate>.pfx seq:/data/Certificates/443.pfx
    docker cp <certificate>.pfx seq:/data/Certificates/45341.pfx

    <certificate>.pfx:本機憑證路徑

    憑證也支援 .pem 格式,請自行參考官方文件。

    在 Container 設定憑證密碼,<password>為憑證密碼。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    # 進入 Container
    docker exec -it seq bash

    # 使用 Seq 指令將密碼設定在 Config
    echo <password> | seqsvr secret set -k certificates.defaultPassword --value-stdin

    # 離開 Container
    exit

    # 重新啟動 Container
    docker restart seq

admin 帳號登入

https://<seq_host>:<host_ui_port>/

image info

References