使用基於SNMP的監控服務來得到服務器信息

監控的必要性

首先咱們要明確,服務器的監控是必要的。服務器在運行過程當中可能遇到各類問題,及時對服務器的狀態信息以及歷史的狀態信息有一個掌握十分重要。好比程序的異常崩潰,若是在過後分析的時候有一個崩潰時系統CPU、內存、網絡佔用登的圖表可供查閱,對照日誌進行分析,每每比本身胡亂猜想緣由要好得多。node

經常使用的監控服務

本身有多的服務器能夠用來搭建監控服務的話,likexian的stathub-go項目是一個不錯的選擇。不只安裝簡單,界面也十分的友好。
若是本身手上沒有多的服務器,或者感受本身維護一個監控服務器是個麻煩事,也能夠嘗試使用nodequery的服務。nodequery爲每一個帳戶提供監控10個服務器的免費限額,客戶端一句命令就能安完。它能夠在服務器的CPU佔用、內存佔用或者硬盤佔用超過設定的閥值的時候給你發郵件提示,更讓人稱讚的是,在郵件中會附帶當前佔用最高的進程列表。nodequery的監控頻率最低爲三分鐘一次,在監控面板中能夠看到一段時間內它的三個監控節點到服務器的延遲狀況。git

那SNMP又是幹嗎的

簡單來講,SNMP是一個通用的網絡管理協議。經過它,咱們能夠獲取到服務器的信息。
不管是自建stathub-go仍是使用nodequery,都是使用本身編寫的客戶端向監控服務器提供數據。這樣的好處是能夠得到更詳盡的信息,好比nodequery能夠列出如今服務器上運行的程序已經它們的CPU、內存佔用狀況。不過不可避免的是,少許人員維護的第三方客戶端存在能夠被利用漏洞的可能性更高。同時,在不一樣系統的服務器上批量部署監控服務時,可能由於客戶端的兼容問題而頭疼。
使用SNMP做爲客戶端能很好的解決上面的問題。一方面,SNMP做爲通用協議,存在漏洞的可能性很是小,一旦出現漏洞,修復的速度也會很是的快;另外一方面,做爲通用協議,SNMP在各個平臺都有完備的解決方案,不用再爲可能的兼容問題而頭疼。github

怎麼用呢

監控寶貌似就支持SNMP,不過它對免費帳戶的限制稍稍有些嚴(若是是公司出錢,它真是不錯的選擇)。咱們以另外一個SNMP監控服務微林爲例。vim

首先在服務器上配置SNMP服務,個人服務器系統是CentOS 6 x86。
執行 yum install net-snmp -y 安裝SNMP。
安裝完成後,執行 echo ''>/etc/snmp/snmpd.conf 將默認設置清空。
執行 vim /etc/snmp/snmpd.conf ,按i進入編輯模式,將如下內容粘貼進去:服務器

com2sec vnet 192.99.12.76 publictogo
group vnetGroup v2c vnet
access vnetGroup "" any noauth prefix all none none
view all included .1 80

其中publictogo是我的的密匙,推薦改爲本身的。
修改完按 Esc 退出編輯模式,輸入:wq敲回車保存並退出。
執行 service snmpd start 啓動SNMP服務。網絡

而後進到微林的vDog管理頁面,點擊建立項目,在新彈出的框裏輸入主機的名稱(方便識別的備註名稱)、IP和剛剛修改的密匙,點擊提交,以後這臺服務器就會出如今它的管理界面中,隔幾分鐘再刷新就能夠看到數據刷新了。spa

貼兩張轉來的效果圖,服務器多的話整整齊齊的看起來仍是蠻賞心悅目的。日誌

0062iG8cgw1esau8b9q7qj30jm09g75g.jpg

0062iG8cgw1esau8rm2ayj30s00g4ac4.jpg

微林的監控是免費的,貌似沒有任何限制。不過我沒找到像nodequery那種過載發郵件報警的選項,不知道以後會不會更新功能。如今的話主要是查看歷史方便吧。code

你們若是有好用的監控服務請務必在評論裏告訴我 :-)blog

相關文章
相關標籤/搜索