我們在node.js中實施了一個監視解決方案,它對數據庫完整性和API運行時間進行了一些基本檢查。我們希望擴展這個系統來收集我們的Linux服務器的基本系統統計信息,如CPU和光盤使用情況。其中一些服務器位於防火牆之外,只有一些非常基本的端口可以打開(ssh,ftp,http,https)。使用node.js遠程監視系統狀態
如何在node.js中收集這些服務器的系統信息。是否有通過(安全)RESTful API公開這些信息的監控系統?
我們在node.js中實施了一個監視解決方案,它對數據庫完整性和API運行時間進行了一些基本檢查。我們希望擴展這個系統來收集我們的Linux服務器的基本系統統計信息,如CPU和光盤使用情況。其中一些服務器位於防火牆之外,只有一些非常基本的端口可以打開(ssh,ftp,http,https)。使用node.js遠程監視系統狀態
如何在node.js中收集這些服務器的系統信息。是否有通過(安全)RESTful API公開這些信息的監控系統?
因此,有很多可用於監測系統統計數據的解決方案:Nagios,Zabbix,Scout,Cacti。甚至有一些託管的像ServerDensity。
所有這些系統應該覆蓋頂級統計信息:CPU,RAM,Disk IO &網絡。他們都有一個插件基礎設施,以便您可以發送自定義統計信息(API正常運行時間,數據庫可用性)並將它們與常規統計信息一起發送。
如果您在某處運行雲基礎架構,其中很多會提供「開箱即用」信息,通常位於您的帳戶儀表板中(請參閱Joyent或Azure等人)。
這裏最大的問題是「你還需要什麼」?
我已經受夠了用JavaScript編寫這個SSH客戶端有很多成功的: https://github.com/mscdex/ssh2
使用NRPE從Nagios的作爲要監視盒子客戶端。設置起來相當簡單,並且它的API被記錄下來。 http://exchange.nagios.org/directory/Addons/Monitoring-Agents/NRPE--2D-Nagios-Remote-Plugin-Executor/details
像Nagios?要麼 ...? – jcolebrand
我不知道一個restful API,我只是通過使用ssh(假設你在linux上運行)通過node.js使用基於密鑰/主機的身份驗證進行系統調用,並執行各種命令並解析stdout/stderr輸出 - 並通過node.js暴露結果。 – Anders
@jcolebrand:Nagios聽起來不錯,以前不知道。謝謝你的提示,我會看看它。 – Thomas