Unix
沒有多播的神經節
我在沒有多播的網路上執行 Ganglia 3.1.2(我也不能打開它)。有沒有人有一個優雅的解決方案讓神經節正常工作?我找到了這個:
http://code.google.com/p/ganglia-multicast-hack/
但它不能很好地擴展。
現在,在我的 gmetad.conf 文件中,我的網路上的每個主機都有單獨的 data_source 行,但這也不能很好地擴展,而且我無法獲得準確的匯總統計資訊,因為它不斷覆蓋 rrds(儘管主機統計資訊工作得很好)。
任何指針將不勝感激(或確認我已經找到了最佳解決方案)。
謝謝!
經過進一步研究,我找到了答案。在我的客戶上,我在 gmond.conf 中添加了以下內容:
udp_send_channel { host = monitoring-host port = 8666 ttl = 1 } udp_send_channel { host = monitoring-host-backup port = 8666 ttl = 1 }
這將通過單播 UDP 將數據每 1 秒發送到監控主機和備份。
然後在監控主機上,我添加了這個:
udp_recv_channel { port = 8666 }
關鍵是擺脫預設情況下存在的多播條目。
這可行,但問題是所有節點最終都將位於相同的預設數據源中,因此它們的集群資訊會失去,這對於多集群環境來說不是很好。
我還沒有嘗試過,但一個可能的解決方法是為每個集群創建一個 UDP 通道,如果你有很多,這不是很好。
後期編輯:
由於網路限制,我目前的設置在集群級別使用單播,並且所有數據都從每個集群發送到一個節點。然後我聯繫每個使用 metad 的人,以獲取有關該集群的所有數據。
這樣,集群將被分配到它們自己的數據源,並且它們的完整資訊將在那裡。
配置如下所示:
# on each node in the cluster udp_send_channel { host = 1.2.3.4 # this is a member of the cluster, not a metad server port = 8650 }
然後在元數據上:
data_source "My Cluster" 1.2.3.4
對於冗餘,您可以在 data_source 中列出多個 udp_send_channel 條目和多個 IP。我個人為每個集群使用兩個。
對於聯邦,我使用這樣的東西:
data_source "My Grid" 1.2.3.5:8651
僅當您在埠 8651 上偵聽元數據時,這才有效。