假設有一個集群/一組進程透過 REST/HTTP 進行通訊(現在可以描述很多產品)。有什麼好的、簡單的方法可以透過某種不錯的視覺化工具來查看它們之間的溝通?它們可能是動物園管理員精心策劃的,但不一定。 (此外,如果它們在同一台機器上,理想情況下我可以使用 netstat 來發現誰調用了誰 - 如果這一切都以某種方式可用,那就太好了)。必須在 Linux 上工作。
是的,我知道我可以使用代理等,但這需要大量的手動工作。 Wireshark 及相關產品的工作量更大。我想知道是否有針對此類問題的更多交鑰匙解決方案。
一種方法只是基於 Wireshark,但旨在僅顯示具有某些已經有效的標準的 HTTP 流量。
提到 Zookeeper 的原因也許是另一種方式是詢問 Zookeeper,並用代理端口替換其中的端口,並通過它們路由所有流量 - 但同樣,我想要一些已經可以工作的東西。
答案1
如果您只需要知道誰打電話給誰(而不是所說內容的詳細資訊),您可以透過 iptables 增加網路層級的日誌記錄,然後集中收集系統日誌,並將它們解析為您需要的任何形式。或者,您可以使用 ntop/nprobe 之類的工具來收集每個主機上的匯總連接數據,然後將其提供給中央 NetFlow 報告工具。根據您的環境,您甚至可以從網路硬體收集該資料。
如果您需要更多地了解所說的內容,則需要代理,儘管它們可以是在同一伺服器上運行的簡單代理,將其日誌提供給中央伺服器進行分析。
最好的解決方案是修改您的軟體以包含自己的日誌記錄功能,即使它只發生在「偵錯模式」下,這樣您也可以在將來使用它來解決問題。
也可以看看: http://www.tokiwinter.com/adding-logging-to-iptables-under-centos/