使用監控寶監控你的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 install
2、設置安全的驗證方式
將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 snmpd
3、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協議,以及填寫身份驗證信息,前邊已經有過詳細的介紹,這里你只需要將前邊配置的信息如實填寫即可。
填寫完后,點擊提交按鈕,這時候監控寶會使用這些信息來嘗試連接你的SNMP監控代理,需要一些時間,這一步非常重要
找到問題后再次提交,如果連接成功,則會看到成功頁面,如下
然后點擊“添加監控項目”,便可以為這臺服務器選擇監控項目,對于Linux服務器,監控寶目前提供了以下的監控項目,你可以全部勾選,然后提交。
添加nginx監控
然后等待一會,就可以看到監控狀態了!
【編輯推薦】