使用監控寶監控你的Linux伺服器(附圖)
來源:互聯網
上載者:User
關鍵字
伺服器
Linux
監控寶
在HTTP://www.unixbar.net/中看到使用監控寶監控伺服器,感覺不錯,就安裝配置了一個,下面介紹一下具體的安裝方法! 監控寶使用標準的SNMP協定來為使用者提供伺服器監控功能,這意味著被監控的伺服器上必須運行SNMP代理程式(snmpd),接下來我們將詳細介紹如何在 Linux伺服器上安裝、開啟Snmp代理,並且進行必要的安全配置, 開啟了nginx監控和伺服器i/o,cpu負載,記憶體負載等相關的功能。 以下的示例採用centos環境,但它同樣適用于其它Linux發行版本。 1、編譯和安裝# wget HTTP://cdnetworks-kr-2.dl.sourceforge.net/project/net-snmp/net-snmp/5.5/net-snmp-5.5.tar.gz# tar - zxvf net-snmp-5.5.tar.gz 然後通過configure來生成編譯規則,如下:# cd net-snmp-5.5# ./configure --prefix=/usr/local/snmp -- with-openssl --with-mib-modules然後一直回車# make# make install2、設置安全的驗證方式將SNMP代理程式暴露給網路上的所有主機是很危險的,為了防止其它主機訪問你的SNMP代理程式 ,我們需要在SNMP代理程式上加入身份驗證機制。 SNMP支援不同的驗證機制,這取決於不同的SNMP協定版本,監控寶目前支援v2c和v3兩個版本,其中v2c版本的驗證機制比較簡單,它基於純文字密碼和授權IP來進行身份驗證, 而v3版本則通過使用者名和密碼的加密傳輸來實現身份驗證,我們建議使用v3。 注意一點,SNMP協定版本和SNMP代理程式版本是兩回事,剛才說的v2c和v3是指SNMP協定的版本,而Net-SNMP是用來實現SNMP協定的程式套件,目前它的最新版本是剛才提到的5.5。 我們建議您使用v3版本來進行身份驗證。 對於一些早期版本的Linux分發版,其內置的SNMP代理程式可能並不支援v3,所以我們建議您按照前邊介紹的方法,編譯和安裝最新的Net-Snmp。 v3支援另一種驗證方式,需要創建一個v3的帳號,我們同樣修改以下設定檔:# vi /usr/local/snmp/share/snmp/snmpd.conf然後添加一個唯讀帳號,如下:rouser jiankongbao auth可以看到,在v3中,"rouser"用於表示唯讀帳號類型,隨後的"jiankongbao"是指定的使用者名,後邊的"auth"指明需要驗證。 接下來,我們還要添加「jiankongbao」這個使用者,這就是v3中的特殊機制,我們打開以下設定檔:# vi /var/net-snmp/ snmpd.conf這個檔會在snmpd啟動的時候被自動調用,我們需要在它裡邊添加創建使用者的指令,如下:createUser jiankongbao MD5 mypassword這行配置的意思是創建一個名為「 jiankongbao」的使用者,密碼為「mypassword」,並且用MD5進行加密傳輸。 這裡要提醒的是:密碼至少要有8個位元組這是SNMP協定的規定,如果小於8個位元組,通信將無法進行。 值得注意的是,一旦snmpd啟動後,出於安全考慮,以上這行配置會被snmpd自動刪除,當然,snmpd會將這些配置以密文的形式記錄在其它檔中,重新開機snmpd是不需要再次添加這些配置的,除非你希望創建新的使用者。 以上配置中的使用者名、密碼和加密方式,在監控寶添加伺服器的時候需要添加。 啟動SNMP代理程式經過配置後,現在可以啟動snmpd,如下:# /usr/local/snmp/sbin/snmpd如果要關閉,則可以直接kill這個進程,如下:# killall -9 snmpd3、MySQL 監控創建MySQL許可權您需要在被監控的MySQL伺服器上為監控寶創建一個專用的MySQL使用者,這樣做的好處是:(1)與您的其它MySQL使用者進行有效隔離,獨立管理。 (2)對該使用者進行受限管理,不需要給予任何MySQL許可權。 (3)指定監控寶的訪問IP位址,阻止其它非法訪問。 操作非常簡單,在MySQL中操作如下:CREATE USER ’jiankongbao’@’125.76.229.113’ IDENTIFIED BY’your_password’; CREATE USER ’jiankongbao’@’125.76.229.215’ IDENTIFIED BY’your_password’;在以上操作中,我們創建的MySQL使用者名為「jiankongbao」,密碼為「 your_password」,建議您對其進行修改。 除此之外,目前我們不需要對該MySQL帳戶授予任何許可權。 同時,監控寶目前指定的授權IP位址為:125.76.229.113、125.76.229.215,兩個必須同時添加,隨後如有變更,我們會及時通知使用者。 注意:在MySQL或者防火牆中指定授權IP位址的時候,請只開放我們指定的IP位址,而不要直接開放整個C類網段,比如 125.76.229.0/24,因為該網段中其它伺服器不在我們的可控範圍內。 4、nginx 監控編譯nginx的時候需要開啟nginx監控安裝 pcre#tar zxvf pcre-8.0.tar.gz#cd pcre-8.0#./configure#make && make install安裝nginx# tar zxvf nginx-0.7.64.tar.gz# cd nginx-0.7.64# ./configure --with-HTTP_stub_status_module --prefix=/ usr/local/nginx --user=www --group=www# make && make install設定檔裡面需要添加location /nginx {stub_status on;auth_ basic"NginxStatus";# auth_basic_user_fileconf/htpasswd; #密碼由apache的htpasswd工具來產生access_log off;} 到此snmp就配置完事了,接下來配置監控寶現在我們來看看如何在監控寶中添加伺服器監控,通過新增的導航,你會很容易進入添加伺服器的頁面,這裡分為兩部分,首先是填寫伺服器資訊,包括伺服器名稱和IP位址,以及作業系統類型。 這些都非常簡單,之所以要選擇作業系統類型,是因為Linux和Windows的機制存在一些差異,所以它們的SNMP資訊庫會有一些不同,我們需要根據不同的系統來提供相應的監控專案。 接下來是SNMP設置,主要是選擇不同的SNMP協定,以及填寫身份驗證資訊,前邊已經有過詳細的介紹,這裡你只需要將前邊配置的資訊如實填寫即可。 498)this.width=498;' onmousewheel = 'javascript:return big(this)' style="CURSOR: pointer" id=eWebEditor_TempElement_ Img onclick="showimg(this.src);return false;" border=0 alt=使用監控寶監控你的Linux伺服器1 src="HTTP://images.51cto.com/files/uploadimg/ 20100203/1034070.gif" width=600>填寫完後,點擊提交按鈕,這時候監控寶會使用這些資訊來嘗試連接你的SNMP監控代理,需要一些時間,這一步非常重要找到問題後再次提交,如果連接成功, 則會看到成功頁面,如下498)this.width=498;' onmousewheel = 'javascript:return big(this)' style="CURSOR: pointer" id=eWebEditor_ TempElement_Img onclick="showimg(this.src);return false;" border=0 alt=使用監控寶監控你的Linux伺服器2 src="HTTP:// images.51cto.com/files/uploadimg/20100203/1034071.gif">然後點擊「添加監控專案」,便可以為這台伺服器選擇監控專案,對於Linux伺服器, 監控寶目前提供了以下的監控專案,你可以全部勾選,然後提交。 498)this.width=498;' onmousewheel = 'javascript:return big(this)' style="CURSOR: pointer" id=eWebEditor_TempElement_ Img onclick="showimg(this.src);return false;" border=0 alt=使用監控寶監控你的Linux伺服器3 src="HTTP://images.51cto.com/files/ uploadimg/20100203/1034072.gif">添加nginx監控498)this.width=498;' onmousewheel = 'javascript:return big(this)' style ="CURSOR: pointer" id=eWebEditor_TempElement_Img onclick="showimg(this.src);return false;" border=0 alt=使用監控寶監控你的Linux伺服器4 src="HTTP://images.51cto.com/files/uploadimg/20100203/1034073.gif" width=500> 498)this.width=498;' onmousewheel = 'javascript:return big(this)' style="CURSOR: pointer" id=eWebEditor_TempElement_ Img onclick="showimg(this.src);return false;" border=0 alt=使用監控寶監控你的Linux伺服器5 src="HTTP://images.51cto.com/files/ uploadimg/20100203/1034074.gif" width=500>然後等待一會,就可以看到監控狀態了! 498)this.width=498;' onmousewheel = 'javascript:return big(this)' style="CURSOR: pointer" id=eWebEditor_TempElement_ Img onclick="showimg(this.src);return false;" border=0 alt=使用監控寶監控你的Linux伺服器6 src="HTTP://images.51cto.com/files/ uploadimg/20100203/1034075.gif" width=500>