Monitoring

拉取伺服器統計資訊以進行遠端監控

  • March 15, 2012

我想編寫自己的伺服器監控應用程序。理想情況下,它可以顯示負載、正常執行時間、cpu 活動、最活躍的程序、程序的記憶體使用情況等統計數據。從伺服器獲取這些資訊的最佳方式是什麼?我最初想執行 ssh -e 命令,但想看看是否有比輪詢伺服器更有效的方法。

或者,最好將其與 Munin 或類似監控工具匯總的數據聯繫起來?

更新

更清楚地說,我主要對從伺服器獲取上述各種數據的最佳方式感興趣,這樣我就可以在我有興趣建構的 Android 應用程序中呈現它。在伺服器本身上編寫實際的探針並不是我真正想做的工作領域,這就是為什麼我希望 Nagios 或類似的東西可能已經提供了我正在尋找的數據。我只需要提取這些數據並將其呈現在我自己的工具中。

處理此問題的一種方法是在您的伺服器上執行 snmp 代理,並使用諸如 munin 或 cacti 之類的東西收集結果。這是一個不錯的仙人掌教程,它解釋瞭如何在 linux 機器上設置 net-snmp 代理。

使用 snmp 的優點是它是網路設備的最低公分母報告機制。幾乎所有聯網設備都可以配置為執行 snmp 客戶端(非常低端的消費者交換機和路由器除外)。因此,如果您使用 snmp 來監控您的 linux 機器,那麼也很容易使用 snmp 來監控您的交換機、路由器、聯網列印機等。通常,您將定期輪詢設備。

請注意,舊版本的 snmp 協議 (2c) 非常不安全。為了對付這麼多人,只需將 snmp 代理設置為只讀執行。實際上,只要您在內部網路上使用只讀 snmp,安全風險就很低。但是,在使用 snmp 安全模型之前,您應該了解它的局限性。

引用自:https://serverfault.com/questions/326548