設置 Boatswain 收集數據的時間間隔

Boatswain Agent 版本0.2.12 經已釋出!

本周初,我們發布了新版本的 Boatswain (Agent 版本0.2.12)。請根據此更新指南為不同的 Linux 發行版進行更新。如果您將 Boatswain 作為容器運行,只需使用 Docker Hub 提供的 0.2.12 映像。

新的 Period 參數

在新的版本,我們添加了一個名為 Period 的可設定參數,該參數是伺服器主機Docker 數據的收集時間間隔。以下是新的 /etc/boatswain.yml 設定檔:

1
2
3
4
5
6
7
8
# Please register and get the token from https://app.boatswain.io/
token: token_here
# Period is the collection time interval of the host and docker metrics.
# CPU load could be reduced by using longer period.
#   - short   = 10s
#   - default = 30s
#   - long    = 60s
period: default

在 Agent 版本0.2.12之前,收集的時間間隔為10秒,並無法對其進行設定。

現在,如上面的設定檔中所述,新的 Period 參數有3個可用選項。如果設定檔裡缺少此參數,Boatswain 將使用預設值(default)

設置設定檔的 flag 也更新了

當直接執行二進位檔來運行 Boatswain 作為前台進程時,我們可以使用 -f flag(在 Agent 版本0.2.12之前使用 -t flag)指定設定檔的位置。

1
2
3
4
5
6
7
ykyuen@camus:~# boatswain --help

Usage: boatswain [options]
Options:
  -f string
      boatswain configuration file.
  -v  Show boatswain version and exit.

伺服器資源消耗 VS 收集間隔

設置更長的收集間隔時間意味著 Boatswain web portal 上顯示的統計資訊將具有較小的樣本數,但作為回報,它可以顯著降低伺服器的負載。此外,它可以釋放更多空間來監視更多 Docker 伺服器而不會達到我們的 BETA 版的 2GB 數據限制。

來試試使用不同的 Period 參數執行 Boatswain 來監視 Boatswain 自己。實驗在一個 Digital Ocean Droplet (1vCPU,1GB記憶體) 上運行,它託管了一個我的 Drupal 7 應用程式。每次運行持續30分鐘。

請注意:以下數據大小僅包括取決於 Period 參數的數據。

Period: short (10秒)

Period: short (10秒)

Period: short (10秒)

1
2
3
# CPU 使用率:   1.39%
# 記憶體使用率: 10.06% (104,647,789 Bytes)
# 數據大小:     8.8MB

Period: default (30秒)

Period: default (30秒)

Period: default (30秒)

1
2
3
# CPU 使用率:   0.70%
# 記憶體使用率: 11.00% (114,425,856 Bytes)
# 數據大小:     4.3MB

Period: long (60秒)

Period: long (60秒)

Period: long (60秒)

1
2
3
# CPU 使用率:   0.57%
# 記憶體使用率: 6,61% (68,772,546 Bytes)
# 數據大小:     1.9MB

實驗結果

  1. CPU 使用率顯著下降.
    • 49.64%1.39% 下降到 0.70% (Period: 10秒 30秒)
    • 58.99%1.39% 下降到 0.57% (Period: 10秒 60秒)
  2. 記憶體使用率沒有太大變化.
    • 雖然價值使用率下降了 (Period: 10秒 60秒),但6小時後重返 11.90% (123,901,542 Bytes)
  3. 數據大小顯著下降.
    • 51.14%8.8MB 下降到 4.3MB (Period: 10秒 30秒)
    • 78.41%8.8MB 下降到 1.9MB (Period: 10秒 60秒)

其他數據

Boatswain 還收集其他數據,包括

  • 容器狀態
  • 容器日誌
  • 網絡分析

它們都獨立於新的 Period 參數,因為日誌與網絡數據其實是實時接收的,而容器狀態則固定在10秒時間間隔內。

下一步是?

自從我們發布 BETA-I 以來已有一年多,經過最近的更新後 Boatswain 看起來更加完整。也許是時候再前進一步了。

請繼續關注我們