Docker 容器狀態的實時通知

在最新版本的 Boatswain 網站 (web portal 版本0.1.6) 中,新增了對於 Docker 容器狀態的簡單實時通知機制。我們希望這有助於工程師的維護工作,以便快速回應任何容器上發生的意外問題。

設定實時通知

現在,Boatswain 用戶可以在通知設定頁面上設定實時通知,該頁面位於右上角的設定菜單下。

通知設定

通知設定

啟用實時通知

有時,我們未必需要關心所有在 Docker 伺服器上運行的容器。因此,我們允許用戶使用正規表示式 (regular expression) 來選擇那個容器需要啟用實時通知功能。任何名稱與正規表示式匹配的容器都將會啟用實時通知。

設置正則表達式時,有兩個規則:

  1. 請在前後加上 /
  2. 僅接受 i 修飾詞。
配置正規表示式來啟用實時通知

配置正規表示式來啟用實時通知

查看啟用了實時通知的容器

在正規表示式下方,有一個列表列出最近24小時內檢測到並已啟用了實時通知的容器。

已啟用實時通知的容器清單

已啟用實時通知的容器清單

要注意的是以上列表僅供參考,只要其名稱與任何正規表示式匹配,任何新添加的容器都將會啟用實時通知。

收到的電子郵件通知

無論何時更改容器狀態,相對應的 Boatswain 帳戶的電子郵件地址都會收到通知電子郵件。例子如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
Hi ykyuen,

We have detected a status change of the following container:
---
Host:            camus
Container ID:    1d2ce3c96b372fc61622c0c0133efda6de24cd2fad2e8faab810b8539d3ce4a1
Container name:  nginx-test
Container image: nginx:latest
Command:         nginx -g 'daemon off;'
Status change:   running -> exited
Exit code:       0
Error:           
Is OOM killed:   No
---

- Boatswain Team
 ____              _                     _
|  _ \            | |                   (_)
| |_) | ___   __ _| |_ _____      ____ _ _ _ __
|  _ < / _ \ / _` | __/ __\ \ /\ / / _` | | '_ \
| |_) | (_) | (_| | |_\__ \\ V  V / (_| | | | | |
|____/ \___/ \__,_|\__|___/ \_/\_/ \__,_|_|_| |_|

下一步是?

我們注意到 Boatswain 對伺服器資源有一定的需求,尤其是當在運算能力與資源較緊絀的小型伺服器上運行時,需求會很明顯以致有機會令用戶卻步。因此,我們正研究讓用戶在 Boatswain 的配置文件 中,自己設定數據和日誌收集的頻率來減少伺服器負載。

最後,祝大家在2020年繼續愉快地編寫程式 👨‍💻,並祝新一年一切順利。🎊 🐀 🎉