使用監(jiān)控寶監(jiān)控你的Linux服務(wù)器(附圖)
在http://www.unixbar.net/中看到使用監(jiān)控寶監(jiān)控服務(wù)器,感覺不錯,就安裝配置了一個,下面介紹一下具體的安裝方法!
監(jiān)控寶使用標(biāo)準(zhǔn)的SNMP協(xié)議來為用戶提供服務(wù)器監(jiān)控功能,這意味著被監(jiān)控的服務(wù)器上必須運(yùn)行SNMP代理程序(snmpd),接下來我們將詳細(xì)介紹如何在 Linux服務(wù)器上安裝、開啟Snmp代理,并且進(jìn)行必要的安全配置,開啟了nginx監(jiān)控和服務(wù)器i/o,cpu負(fù)載,內(nèi)存負(fù)載等相關(guān)的功能。
以下的示例采用centos環(huán)境,但它同樣適用于其它Linux發(fā)行版。
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來生成編譯規(guī)則,如下:
# cd net-snmp-5.5
# ./configure --prefix=/usr/local/snmp --with-openssl --with-mib-modules
然后一直回車
# make
# make install
2、設(shè)置安全的驗(yàn)證方式
將SNMP代理程序暴露給網(wǎng)絡(luò)上的所有主機(jī)是很危險的,為了防止其它主機(jī)訪問你的SNMP代理程序,我們需要在SNMP代理程序上加入身份驗(yàn)證機(jī)制。
SNMP支持不同的驗(yàn)證機(jī)制,這取決于不同的SNMP協(xié)議版本,監(jiān)控寶目前支持v2c和v3兩個版本,其中v2c版本的驗(yàn)證機(jī)制比較簡單,它基于明文密碼和授權(quán)IP來進(jìn)行身份驗(yàn)證,而v3版本則通過用戶名和密碼的加密傳輸來實(shí)現(xiàn)身份驗(yàn)證,我們建議使用v3。
注意一點(diǎn),SNMP協(xié)議版本和SNMP代理程序版本是兩回事,剛才說的v2c和v3是指SNMP協(xié)議的版本,而Net-SNMP是用來實(shí)現(xiàn)SNMP協(xié)議的程序套件,目前它的***版本是剛才提到的5.5。
我們建議您使用v3版本來進(jìn)行身份驗(yàn)證。對于一些早期版本的Linux分發(fā)版,其內(nèi)置的SNMP代理程序可能并不支持v3,所以我們建議您按照前邊介紹的方法,編譯和安裝***的Net-Snmp。
v3支持另一種驗(yàn)證方式,需要創(chuàng)建一個v3的帳號,我們同樣修改以下配置文件:
# vi /usr/local/snmp/share/snmp/snmpd.conf
然后添加一個只讀帳號,如下:
rouser jiankongbao auth
可以看到,在v3中,"rouser"用于表示只讀帳號類型,隨后的"jiankongbao"是指定的用戶名,后邊的"auth"指明需要驗(yàn)證。
接下來,我們還要添加“jiankongbao”這個用戶,這就是v3中的特殊機(jī)制,我們打開以下配置文件:
# vi /var/net-snmp/snmpd.conf
這個文件會在snmpd啟動的時候被自動調(diào)用,我們需要在它里邊添加創(chuàng)建用戶的指令,如下:
createUser jiankongbao MD5 mypassword
這行配置的意思是創(chuàng)建一個名為“jiankongbao”的用戶,密碼為“mypassword”,并且用MD5進(jìn)行加密傳輸。這里要提醒的是:
密碼至少要有8個字節(jié)
這是SNMP協(xié)議的規(guī)定,如果小于8個字節(jié),通信將無法進(jìn)行。
值得注意的是,一旦snmpd啟動后,出于安全考慮,以上這行配置會被snmpd自動刪除,當(dāng)然,snmpd會將這些配置以密文的形式記錄在其它文件中,重新啟動snmpd是不需要再次添加這些配置的,除非你希望創(chuàng)建新的用戶。
以上配置中的用戶名、密碼和加密方式,在監(jiān)控寶添加服務(wù)器的時候需要添加。
啟動SNMP代理程序
經(jīng)過配置后,現(xiàn)在可以啟動snmpd,如下:
# /usr/local/snmp/sbin/snmpd
如果要關(guān)閉,則可以直接kill這個進(jìn)程,如下:
# killall -9 snmpd
3、MySQL 監(jiān)控
創(chuàng)建MySQL權(quán)限
您需要在被監(jiān)控的MySQL服務(wù)器上為監(jiān)控寶創(chuàng)建一個專用的MySQL用戶,這樣做的好處是:
(1)與您的其它MySQL用戶進(jìn)行有效隔離,獨(dú)立管理。
(2)對該用戶進(jìn)行受限管理,不需要給予任何MySQL權(quán)限。
(3)指定監(jiān)控寶的訪問IP地址,阻止其它非法訪問。
操作非常簡單,在MySQL中操作如下:
CREATE USER ’jiankongbao’@’125.76.229.113’ IDENTIFIED BY’your_password’;
CREATE USER ’jiankongbao’@’125.76.229.215’ IDENTIFIED BY’your_password’;
在以上操作中,我們創(chuàng)建的MySQL用戶名為“jiankongbao”,密碼為“your_password”,建議您對其進(jìn)行修改。除此之外,目前我們不需要對該MySQL賬戶授予任何權(quán)限。
同時,監(jiān)控寶目前指定的授權(quán)IP地址為:125.76.229.113、125.76.229.215,兩個必須同時添加,隨后如有變更,我們會及時通知用戶。
注意:在MySQL或者防火墻中指定授權(quán)IP地址的時候,請只開放我們指定的IP地址,而不要直接開放整個C類網(wǎng)段,比如 125.76.229.0/24,因?yàn)樵摼W(wǎng)段中其它服務(wù)器不在我們的可控范圍內(nèi)。
4、nginx 監(jiān)控
編譯nginx的時候需要開啟nginx監(jiān)控
安裝 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工具來產(chǎn)生
access_log off;
}
到此snmp就配置完事了,接下來配置監(jiān)控寶
現(xiàn)在我們來看看如何在監(jiān)控寶中添加服務(wù)器監(jiān)控,通過新增的導(dǎo)航,你會很容易進(jìn)入添加服務(wù)器的頁面,這里分為兩部分,首先是填寫服務(wù)器信息,包括服務(wù)器名稱和IP地址,以及操作系統(tǒng)類型。
這些都非常簡單,之所以要選擇操作系統(tǒng)類型,是因?yàn)長inux和Windows的機(jī)制存在一些差異,所以它們的SNMP信息庫會有一些不同,我們需要根據(jù)不同的系統(tǒng)來提供相應(yīng)的監(jiān)控項(xiàng)目。
接下來是SNMP設(shè)置,主要是選擇不同的SNMP協(xié)議,以及填寫身份驗(yàn)證信息,前邊已經(jīng)有過詳細(xì)的介紹,這里你只需要將前邊配置的信息如實(shí)填寫即可。
填寫完后,點(diǎn)擊提交按鈕,這時候監(jiān)控寶會使用這些信息來嘗試連接你的SNMP監(jiān)控代理,需要一些時間,這一步非常重要
找到問題后再次提交,如果連接成功,則會看到成功頁面,如下
然后點(diǎn)擊“添加監(jiān)控項(xiàng)目”,便可以為這臺服務(wù)器選擇監(jiān)控項(xiàng)目,對于Linux服務(wù)器,監(jiān)控寶目前提供了以下的監(jiān)控項(xiàng)目,你可以全部勾選,然后提交。
添加nginx監(jiān)控
然后等待一會,就可以看到監(jiān)控狀態(tài)了!
【編輯推薦】