跳轉到內容

社群版 FreedomBox/監控客戶端

來自華夏公益教科書,開放世界的開放書籍

由管理 FreedomBox 社群網路的技術志願者組成的團隊需要監控網路以發現維護問題。如果網路的某個元件(例如 Wi-Fi 接入點)離線,則團隊需要自動收到通知,以便立即進行糾正。此外,如果由於成員數量增加或網際網路頻寬不足導致網路出現瓶頸,他們需要透過新增頻寬或更多硬體來解決這些問題。全面瞭解多少使用者正在使用網路還可以幫助改善網路並規劃其他網路。

本節介紹在 FreedomBox 伺服器上設定監控客戶端,該客戶端負責收集各種引數,例如 CPU 使用率、記憶體使用率、網路中當前執行的接入點數量等。然後,它將這些資訊連續傳送到網路外部由網路管理員配置的伺服器。然後,可以使用這些資訊構建一個儀表板,當網路出現問題時,儀表板會向管理員發出警報。

在 FreedomBox 上設定

[編輯 | 編輯原始碼]

FreedomBox 伺服器充當監控網路中所有裝置及其效能的中心點。這是透過在 FreedomBox 伺服器上安裝監控代理來實現的。

  1. 安裝 collectd 及其依賴項。
    apt install collectd-core liboping0
    
  2. 從 collectd 的示例目錄複製 collectd 配置檔案。
    cp /usr/share/doc/collectd-core/examples/collectd.conf /etc/collectd/
    
  3. 編輯/etc/collectd/collectd.conf並更改以下行。
    • 將主機名設定為社群 FreedomBox 的完整域名,該域名可從外部訪問。這是必要的,因為可能存在多個社群網路可能將監控資料傳送到管理員設定的單個監控伺服器。主機名決定了如何為每個網路儲存資料,而不會相互衝突。
      Hostname "[mycommunity.domain]"
      
    • 從示例複製到 的配置應該預設啟用了以下外掛。驗證。
      LoadPlugin conntrack
      LoadPlugin cpu
      LoadPlugin df
      LoadPlugin disk
      LoadPlugin interface
      LoadPlugin load
      LoadPlugin memory
      LoadPlugin processes
      LoadPlugin swap
      LoadPlugin uptime
      LoadPlugin users
      
    • 啟用 ping 外掛,並將其配置設定為監控網路中的所有主機。對於網路中的每個主機(例如 Wi-Fi 接入點),在 ping 外掛的配置中新增一個條目。包括一個網際網路主機,例如“1.1.1.1”,以監控網際網路連線。每個配置的主機都將每秒 ping 一次,以確定它們是否在網路中執行。
      LoadPlugin ping
      <Plugin ping>
          Host "1.1.1.1"
          Host "10.42.0.4"
          Host "10.42.0.5"
          Interval 10
      </Plugin>
      
    • 使 collectd 連線到外部監控伺服器並提供它執行的持續監控結果。啟用一個外掛以寫入Graphite。Graphite 是管理員將在中央監控伺服器上安裝的監控設定中使用的伺服器端軟體(以及 Grafana 和 Carbon)。
      LoadPlugin write_graphite
      <Plugin write_graphite>
          <Node "[remoteservername]">
              Host "[myremoteserver.domain]"
          </Node>
      </Plugin>
      
  4. 重新啟動 collectd 服務以應用設定的配置。
    systemctl restart collectd
    

在監控伺服器上設定

[編輯 | 編輯原始碼]

在社群網路的 FreedomBox 伺服器上完成監控設定後,它將開始向監控伺服器傳送資料。除非使用資料進行聚合,否則資料不會立即可用。然後,監控伺服器的管理員應該為該社群網路傳送的所有引數設定一個單獨的儀表板。此外,應設定警報以在傳送的資料中觀察到意外結果時通知管理員。有關如何完成此操作的詳細資訊,請參閱有關設定監控伺服器的部分。

華夏公益教科書