The Samo Log

Kibana 公告設定全攻略:Banner 跑馬燈 vs. 登入彈窗,SRE 該怎麼選?

為什麼我們需要 Kibana 公告?

身為 SRE,我們完成了 Elasticsearch 8.19.10 的升級,甚至還發現 Elastic 原廠把大家熟悉的 「APM」 改名成了 「Applications」

如果這時候只發一封 Email 給全公司開發者,結果通常是:

  1. 大家沒看信。
  2. 登入 Kibana 找不到 APM。
  3. 維運團隊的電話被打爆。

為了避免這種情況,Kibana 提供了兩種內建機制:Global Banner (全域橫幅)Access Agreement (存取協議)。以下教你如何設定。


方法一:溫和提醒 (Global Banner)

這是 Kibana 頂部的一條橫幅。它的優點是不會打斷使用者的工作流程,適合用來標示環境(如 UAT/Prod)或是簡單的狀態通知。

適用場景

  • ✅ 標示「這是測試環境」。
  • ✅ 簡單的版本升級通知。
  • ✅ 系統維護中的狀態顯示。

設定範例 (kibana.yml)

在這次 8.19.10 升級中,我們用綠色背景代表「升級成功」,並用簡短文字提示功能變更。

# =================================================
# 🟢 頂部橫幅設定 (Global Banner)
# =================================================

# 位置:頁面最上方
xpack.banners.placement: "top"

# 內容:支援純文字 (不支援 Markdown)
xpack.banners.textContent: "✅ 測試環境已升級至 8.19.10 | ℹ️ 注意:原 APM 功能名稱現已變更為 Applications"

# 樣式:使用 HEX 色碼
xpack.banners.textColor: "#FFFFFF"       # 白色文字
xpack.banners.backgroundColor: "#27AE60" # 綠色背景 (代表成功/正常)

SRE 小撇步: 如果是維護中或警告,背景色可以用紅色 (#E74C3C);如果是 UAT 環境常駐提示,可以用藍色 (#2980B9)。

方法二:強制告知 (Access Agreement)

這是一個登入後會跳出的「模態視窗 (Modal)」。使用者 必須 點擊「我同意 (Accept)」才能進入系統。這非常適合用來公告重大變更,確保每個人「被迫」看過一次。

適用場景

  • ✅ 重大功能改版 (如 APM 改名)。
  • ✅ 系統維護時間預告。
  • ✅ 資安合規宣告。

設定範例 (kibana.yml)

這裡支援 Markdown 語法,所以我們可以做排版、粗體,甚至留下聯絡人資訊。

# =================================================
# 📢 登入彈窗設定 (Access Agreement)
# =================================================

# 注意:使用 '|' 符號來支援多行 Markdown 內容
xpack.security.accessAgreement.message: |
  ### 📢 測試環境公告 (System Announcement)

  ---

  **✅ 版本升級完成**
  本環境已順利升級至版本 **8.19.10**。

  **ℹ️ 重要功能名稱變更**
  請注意,為了配合新版介面整合,原 **「APM」** 功能入口名稱已變更為 **「Applications」**。

  ---
  若有任何使用問題,請聯繫系統管理員:
  * samo

注意: 修改此設定後,所有使用者 (包含已經登入的) 在下次重新整理頁面或登入時,都會再次看到這個視窗。


總結:我該用哪一個?

在這次升級案中,我建議 「兩者並用」,但有階段性:

  1. 剛升級完的第一週: 開啟 Access Agreement (彈窗)。因為「APM 改名」這件事很容易讓人迷路,需要強迫告知。

  2. 一週後: 關閉彈窗,改用 Global Banner (橫幅) 常駐。讓使用者知道目前的環境版本,但不再干擾操作。

部署指令

修改完 kibana.yml 後,別忘了重啟服務才會生效:

sudo systemctl restart kibana

現在,享受一個電話不再被打爆的寧靜下午吧!

寫作日曆

Mon Wed Fri
Less
More

也看看我的其他文章

載入留言中...