collectd:監控伺服器不顯示客戶端

collectd:監控伺服器不顯示客戶端

我已經使用以下設定設定了監控伺服器。

<Plugin network>
Listen "0.0.0.0" "25826"
</Plugin>

現在我的客戶正在向監控伺服器發送資料(透過tcpdump驗證)。連集合資料夾都顯示資料正在轉儲

/var/lib/collectd/rrd
[ec2-user at x rrd]$ ll
total 4
drwxr-xr-x 11 root root 4096 Nov 20 17:53 x-web-1.y.com
[ec2-user at x rrd]$

我也用 find 驗證過。 -mmin 1 查看是否不斷更新。

[ec2-user@x rrd]$ find . -mmin 1
./x-web-1.y.com/interface-eth0/if_errors.rrd
./x-web-1.y.com/interface-eth0/if_packets.rrd
./x-web-1.y.com/interface-eth0/if_octets.rrd
./x-web-1.y.com/disk-xvda1/disk_time.rrd
./x-web-1.y.com/disk-xvda1/disk_ops.rrd
./x-web-1.y.com/disk-xvda1/disk_octets.rrd
./x-web-1.y.com/disk-xvda1/disk_merged.rrd

但是當我透過collectd-web查找時,我沒有看到客戶 在此輸入影像描述

我的設定可能有什麼問題?

答案1

發布的圖片似乎不屬於collectd-web。不管怎樣,Firefox 有一種快取效果,可防止重建collectd-web 選單,包括主機清單。清理 Firefox 的快取並重試。

答案2

如前面所評論的,我在使用預設的collectd.conf 檔案時遇到了同樣的問題,該檔案預設全域Host參數為localhost。我發現,如果任何客戶端收集器使用相同的全域名Host稱,這將使您的伺服器收集器感到困惑,這通常可以透過日誌檔案中的錯誤來證明,即同一時間戳發生了太多更新。

解決方案是確保所有客戶端都使用唯一的全域主機參數,此時收集器伺服器的 rrd 資料夾應填入包含各個客戶端主機名稱以及擷取的子內容的資料夾。

答案3

我也遇到了這個問題。當我透過 Apache 提供collectd-web,而不是使用內建的 python 伺服器(它工作正常)時,就發生了這種情況。

發生的情況是 apache 沒有處理collectd-web 中的gci 檔案。要修復它,您只需確保安裝了 mod_gci,然後編輯/etc/apache2/sites-available檔案以允許 apache 允許覆蓋您的collectd-web 資料夾中的配置:

<Directory /var/www/collectd-web>
  AllowOverride all
</Directory>

這將導致 apache 載入collectd-web 的 .htacccess 檔案(在cgi-bin資料夾上),其中包含用於執行 cgi 腳本的指令。

文檔中提到了這個小問題:http://collectdweb.appspot.com/documentation/

不確定您是否也使用 apache,但無論您使用什麼伺服器:檢查正在評估的 cgi 腳本。否則,介面的動態部分將無法載入。

答案4

考慮切換到 prometheus 或其他一些最新的監控系統。

目前,collectd 甚至還沒有 ubuntu 22 LTS 軟體包。

我們從 Collectd 轉向 Prometheus。更容易處理和更多選擇。

相關內容