濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > 在CentOS下使用Munin來(lái)監(jiān)控服務(wù)器運(yùn)行的方法

在CentOS下使用Munin來(lái)監(jiān)控服務(wù)器運(yùn)行的方法

熱門(mén)標(biāo)簽:騰沖銷(xiāo)售外呼管理系統(tǒng)服務(wù) 電銷(xiāo)機(jī)器人自動(dòng)撥號(hào)信息 400電話申請(qǐng)安裝 臨沂語(yǔ)音電話機(jī)器人公司 北京地圖標(biāo)注平臺(tái)注冊(cè)入駐 用什么軟件做地圖標(biāo)注 長(zhǎng)沙呼叫中心外呼系統(tǒng)穩(wěn)定嗎 洛陽(yáng)外呼增值業(yè)務(wù)線路解決方案 昆明crm外呼系統(tǒng)價(jià)格

Munin的介紹和原理

Munin 是一個(gè)服務(wù)器監(jiān)控工具,基于perl寫(xiě)的,能通過(guò)網(wǎng)絡(luò),定期收集所有節(jié)點(diǎn)服務(wù)器的信息,將服務(wù)器的數(shù)據(jù)信息保存為 RRD 文件格式,并通過(guò) RRDTool (也是perl寫(xiě)的) 繪制成圖形和曲線,在web頁(yè)面顯示出來(lái)??梢员O(jiān)控計(jì)算機(jī),服務(wù),網(wǎng)絡(luò),SANS ,應(yīng)用等。Munin(代表記憶,是奧丁神的一只烏鴉的名字)
工作方式:

Munin分為master和node

master只需安裝在一臺(tái)服務(wù)器上即可,它每5分鐘去各個(gè)node采集信息,并使用RRD格式記錄數(shù)據(jù),繪制成圖表
node安裝在各個(gè)被監(jiān)控的服務(wù)器上,node上可以配置許多plugin,每個(gè)plugin有不同的職責(zé),負(fù)責(zé)獲取服務(wù)器各種不同的信息。

Munin服務(wù)端,在節(jié)點(diǎn)超過(guò)20臺(tái)左右的時(shí)候,資源占用會(huì)非常大,所以,如果服務(wù)器較多的話還是用Nagios之類(lèi)的比較好(這個(gè)倒是沒(méi)試過(guò)件監(jiān)控那么多服務(wù)器)。
如何在CentOs ,RHEL ,F(xiàn)edora上安裝 munin

我最近剛從centos6.4 升級(jí)到centos 6.5版本。在CentOS,RHEL,Scientific Linux 6.5/6.4/6.3/6.X ,其中x代表小版本更新。只要屬于 6.x的都可以使用epel源進(jìn)行在線安裝。

    前提一:我這安裝munin的前提是已經(jīng)安裝了 lnmp環(huán)境。所以,你可以先安裝軍哥lnmp,然后再按照我的教程安裝mumin。

    前提二:因?yàn)槲沂诸^只有一臺(tái)vps,所以既是作為監(jiān)控服務(wù)器(master),又作為被監(jiān)控的客戶端(node節(jié)點(diǎn))。當(dāng)然,我也會(huì)在教程里插入監(jiān)控多個(gè)服務(wù)器節(jié)點(diǎn)的方法。

    前提三:確認(rèn)你的nginx加載了http_stub_status_module模塊。
   

復(fù)制代碼
代碼如下:
#/usr/local/nginx/sbin/nginx -v //查看nginx版本

   

復(fù)制代碼
代碼如下:
#/usr/local/nginx/sbin/nginx -V //

    這里-V是大寫(xiě)。查看nginx的編譯參數(shù),看看里面有哪些模塊。如果輸出的結(jié)果中有 --with-http_stub_status_module 文字,則說(shuō)明含http_stub_status_module模塊。滿足前提三了。如果沒(méi)有http_stub_status_module,則重新編 譯安裝下nginx即可。(軍哥的lnmp是已經(jīng)默認(rèn)安裝了),也可以組合grep命令來(lái)查看。

為CentOs,RHEL,Fedora安裝
執(zhí)行下面的命令:

    RHEL/CentOS 6.x 的32位系統(tǒng)
   

復(fù)制代碼
代碼如下:
# rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

    RHEL/CentOS 5.x 的32位系統(tǒng)
   

復(fù)制代碼
代碼如下:
# rpm -ivh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm

還有64位的系統(tǒng)等,見(jiàn)《centos安裝EPEL第三方源的方法 》
因?yàn)閑pel源中的epel-release-6-8.noarch.rpm只保留最新的版本。所以,很可能你看到這篇文章的時(shí)候,epel- release-6-8.noarch.rpm 已經(jīng)不存在了。這時(shí)候,你就要自己的系統(tǒng)版本及系統(tǒng)是否32位來(lái)自己去http://dl.fedoraproject.org/pub/epel/目錄 下找到最新的epel-release-x-x.noarch.rpm 。只要你的系統(tǒng)是6.x的就可以安裝 epel-release-6-x.noarch.rpm 。同理,對(duì)于 centos5.x也可以安裝 的epel-release-5-x.noarch.rpm 。

對(duì)于Fedora用戶來(lái)說(shuō),就不需要手動(dòng)安裝epel源了,因?yàn)?munin 已經(jīng)包括在fedora的軟件庫(kù)中,可以直接yum安裝。

安裝mumin
munin的安裝分為三個(gè)部分分別是:

    master 服務(wù)器
    node 被監(jiān)控節(jié)點(diǎn)
    plugins 插件(nginx的插件貌似munin的安裝包中就有,不需要再下載了,反正我是沒(méi)下載,直接安裝好munin就可以得到監(jiān)控圖像了。)

而我這唯一一臺(tái)vps既是作為監(jiān)控服務(wù)器(master),又作為被監(jiān)控的客戶端(node節(jié)點(diǎn))。
執(zhí)行下面的命令:
在服務(wù)器端(master)安裝:

   

復(fù)制代碼
代碼如下:
# yum --enablerepo=epel -y install munin munin-node

    注:如果只是作為服務(wù)端,可以不安裝munin-node

安裝完成后,默認(rèn)會(huì)創(chuàng)建以下文件:

    /etc/munin/munin.conf : Munin master(服務(wù)器端) 配置文件.
    /etc/cron.d/munin : Munin 設(shè)置crontab計(jì)劃任務(wù)文件.
    /etc/httpd/conf.d/munin.conf : Munin Apache 配置文件.
    /var/log/munin : Munin log日志目錄.
    /var/www/munin : Munin 網(wǎng)站目錄.
    /etc/munin/munin-node.conf : Munin Node節(jié)點(diǎn)配置文件(指定監(jiān)控哪些節(jié)點(diǎn)).
    /etc/munin/plugins.conf : Munin plugins插件配置文件.
    /etc/rc.d/init.d/munin-node : Munin啟動(dòng)腳本
    /etc/munin/plugin-conf.d/munin-node

服務(wù)端master不會(huì)添加任何service,但是會(huì)自動(dòng)添加一個(gè)cron任務(wù),每5分鐘采集一次node的信息,如果沒(méi)有添加可以手動(dòng)加入:

   

復(fù)制代碼
代碼如下:
# crontab -e
*/5 * * * * /usr/bin/munin-cron

注意:這個(gè)默認(rèn)安裝就已經(jīng)設(shè)置了定時(shí)任務(wù)??梢栽谂渲煤煤?,通過(guò)munin的繪圖統(tǒng)計(jì)曲線來(lái)判斷是否在不間斷的采集信息。

在客戶端(node)安裝:

   

復(fù)制代碼
代碼如下:
# yum --enablerepo=epel -y install munin-node

注意:如果要監(jiān)控N臺(tái)服務(wù)器,那么這N臺(tái)服務(wù)器都只要裝munin-node

配置munin和nginx
我給munin設(shè)置個(gè)vhost,直接用個(gè)指定的二級(jí)域名訪問(wèn)munin的監(jiān)控頁(yè)面,比如我的munin網(wǎng)站: http://test.dabu.info/munin
服務(wù)器端(master)配置web:

Nginx:
這里使用 test.dabu.info 訪問(wèn) munin網(wǎng)站
新建個(gè)nginx的虛擬主機(jī)(Virtual Host ) ,將它的vhost配置文件中server{}段改成

  

復(fù)制代碼
代碼如下:
server {
listen 80 ;
access_log logs/server-access_log;/p> p> #設(shè)置訪問(wèn)munin的二級(jí)域名,當(dāng)然也可以使用vps外網(wǎng)ip訪問(wèn)
#但是我vps上設(shè)置了禁止ip訪問(wèn)網(wǎng)站
server_name test.dabu.info;/p> p> server_name_in_redirect off;
root /var/www/html;/p> p> # 設(shè)置密碼來(lái)限制對(duì)munin網(wǎng)站的訪問(wèn)
location /munin {/p> p> auth_basic "Administrator Login";
auth_basic_user_file /var/www/.htpasswd;
}/p> p> #下面是給vhost開(kāi)啟了http_stub_status_module模塊
#這段location其實(shí)放哪個(gè)server{}都可以,有的直接放到munin的虛擬機(jī)server{}一起 中/p> p> location /nginx_status {/p> p> stub_status on;
access_log off;
#只準(zhǔn)本機(jī)訪問(wèn)/nginx_status中的request統(tǒng)計(jì)信息
#如果沒(méi)有下面兩行,那么,別人就可以使用
#http://test.dabu.info/nginx_status 看到nginx的request的信息了
#175.0.137.58是你的vps外網(wǎng)ip
allow 175.0.137.58;
deny all;/p> p> }/p> p> }

注 意:如果你將 location /nginx_status{}段與munin虛擬主機(jī)配置文件分開(kāi),放入單獨(dú)的server{}段中時(shí),那么就要先新建一個(gè)虛擬主機(jī)來(lái)開(kāi)啟了 http_stub_status_module模塊,將其server{} 改成下面的樣子:

  

復(fù)制代碼
代碼如下:
server
{
listen 127.0.0.1;
server_name localhost;/p> p> location /nginx_status {/p> p> stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}/p> p> }

同時(shí)將munin虛擬機(jī)的server段改成:

   

復(fù)制代碼
代碼如下:
server {
listen 80 ;
access_log logs/server-access_log;/p> p> server_name test.dabu.info;/p> p> server_name_in_redirect off;
root /var/www/html;/p> p> location /munin {
auth_basic "Administrator Login";
auth_basic_user_file /var/www/.htpasswd;
}/p> p> }

此時(shí),就只能本機(jī)訪問(wèn) http://localhost/nginx_status 來(lái)得到nginx的request信息。

修改好后保存。接著重啟nginx

  

復(fù)制代碼
代碼如下:
#service nginx restart

Apache:

   

復(fù)制代碼
代碼如下:
# vi /etc/httpd/conf.d/munin.conf

在文件末尾添加下面的內(nèi)容:

   

復(fù)制代碼
代碼如下:
Directory /var/www/html/munin/>
Order Deny,Allow
Deny from all
Allow from 127.0.0.1 192.168.1.0/24
/Directory>

同樣要重啟apache:

   

復(fù)制代碼
代碼如下:
#service httpd restart

現(xiàn)在,你可以使用 http://test.dabu.info/munin 訪問(wèn) munin的網(wǎng)頁(yè)了。但是因?yàn)槭褂觅~號(hào)密碼限制訪問(wèn),所以,我們還要去設(shè)置訪問(wèn)密碼。
設(shè)置訪問(wèn)網(wǎng)站的賬戶和密碼:

yum安裝munin默認(rèn)的munin網(wǎng)站文件目錄是在/var/www/html/munin中。為munin目錄創(chuàng)建一個(gè)用戶密碼,執(zhí)行命令:

   

復(fù)制代碼
代碼如下:
#htpasswd -c /var/www/.htpasswd dabu //新建一個(gè)叫dabu的用戶

然后就會(huì)顯示下面的,讓你設(shè)置密碼,輸入兩次密碼(密碼不會(huì)顯示的):

   

復(fù)制代碼
代碼如下:
New password:
Re-type new password:
Adding password for user dabu

添加密碼完成后,接著去設(shè)置munin的配置文件。http://test.dabu.info/munin是我安裝的munin,賬號(hào):dabu ,密碼:dabu1

為munin設(shè)置環(huán)境參數(shù):
編輯 /etc/munin/plugin-conf.d/munin-node 文件,這個(gè)配置文件的作用:
1.告訴munin去哪里獲得參數(shù)
如監(jiān)控nginx的時(shí)候,則需要將下面的內(nèi)容添加到 /etc/munin/plugin-conf.d/munin-node 文件的后面。以此讓munin從http_stub_status_module模塊獲取request等信息

    a. location /nginx_status{}段在munin虛擬機(jī)的server{}中時(shí),則增加下面的內(nèi)容
   

復(fù)制代碼
代碼如下:
[nginx*]
env.url http://test.dabu.info/nginx_status

    b. location /nginx_status{}段單獨(dú)放在一個(gè)server{}中時(shí),則增加下面的內(nèi)容
   

復(fù)制代碼
代碼如下:
[nginx*]
env.url http://localhost/nginx_status

    或者直接執(zhí)行下面的命令:
    #if [[ $(cat /etc/munin/plugin-conf.d/munin-node | grep "nginx") = "" ]]; then echo -e "\n[nginx*]\nenv.url http://test.dabu.info/nginx_status" >> /etc/munin/plugin-conf.d/munin-node; fi
    注:將 http://test.dabu.info/nginx_status 替換為你設(shè)定的訪問(wèn)request的網(wǎng)址

2.munin登陸軟件的賬號(hào)密碼參數(shù)
如監(jiān)控mysql等,就是需要告訴munin登陸mysql的賬號(hào)密碼,甚至mysql路徑等

將munin的兩個(gè)插件:nginx_request 和 nginx_status 軟鏈到 /etc/munin中。當(dāng)然官方給了快速配置插件的腳本,運(yùn)行命令:

   

復(fù)制代碼
代碼如下:
#munin-node-configure --shell --families=contrib,auto | sh -x

如果軟連接沒(méi)創(chuàng)建成功,自己手動(dòng)執(zhí)行下面兩個(gè)命令:

   

復(fù)制代碼
代碼如下:
#ln -s /usr/share/munin/plugins/nginx_request /etc/munin/plugins/ -v
#ln -s /usr/share/munin/plugins/nginx_status /etc/munin/plugins/ -v

遠(yuǎn)程監(jiān)控多臺(tái)服務(wù)器客戶端(node):
假設(shè)我要采集192.168.1.10 、192.168.1.11 、192.168.1.12三臺(tái)服務(wù)器的運(yùn)行狀況,則;

   

復(fù)制代碼
代碼如下:
#vi /etc/munin/munin.conf

#增加需采集的node:

  

復(fù)制代碼
代碼如下:
[luxiang2f;mysqlsrv]
address 192.168.1.10
use_node_name yes/p> p> [luxiang3f;websrv]
address 192.168.1.11
use_node_name yes/p> p> [nanyuan2f;websrv]
address 192.168.1.1
use_node_name yes/p> p> # 分號(hào)前是分組組名,分號(hào)后是節(jié)點(diǎn)名
# use_node_name yes表示使用上面定義的組名和節(jié)點(diǎn)名,否則會(huì)執(zhí)行一次DNS查詢,反查節(jié)點(diǎn)的DNS名稱(chēng)
# address表示節(jié)點(diǎn)的ip地址
# 在1.4.5版本,分組或產(chǎn)生錯(cuò)誤,部分圖表生成不了,懶得琢磨了,直接改為[websrvxxx]就可以成功了
#貌似,現(xiàn)在改成了 “. ” 來(lái)分隔組,而不是分號(hào)了。具體我也懶得試了。

    見(jiàn)官方文檔:http://munin-monitoring.org/wiki/munin-node.conf

客戶端(node)配置操作:

允許服務(wù)端采集,假設(shè)服務(wù)端IP為192.168.1.10。同時(shí),客戶端node上要開(kāi)放4949的tcp端口,這個(gè)端口可以在/etc/munin/munin-node.conf里指定。

    a. 當(dāng)一臺(tái)vps既作為服務(wù)端,又作為客戶端。則改操作還是要在服務(wù)端操作,執(zhí)行下面的命令:
   

復(fù)制代碼
代碼如下:
#vi /etc/munin/munin-node.conf

    可以看到默認(rèn)有了 allow ^127\.0\.0\.1$ 這一行。說(shuō)明當(dāng)vps即作為服務(wù)端,又作為客戶端。允許本機(jī)自己采集自己。所以,如果僅僅是自己監(jiān)控自己,則不需要修改該配置文件了。

    b. 當(dāng)這臺(tái)vps僅作為服務(wù)端,那么,就需要在客戶端執(zhí)行下面的命令:
   

復(fù)制代碼
代碼如下:
#vi /etc/munin/munin-node.conf

    在最下面的一行添加服務(wù)端ip,允許服務(wù)端來(lái)采集;
   
復(fù)制代碼
代碼如下:
allow ^192\.168\.1\.10$

    記住都要以這個(gè)形式來(lái)寫(xiě),更多寫(xiě)法介紹, /etc/munin/munin-node.conf 中都有介紹

然后再服務(wù)端和客戶端都重啟服務(wù):

  

復(fù)制代碼
代碼如下:
#service munin-node restart

    或
   
復(fù)制代碼
代碼如下:
#/etc/init.d/munin-node restart

加入服務(wù)并開(kāi)機(jī)自啟動(dòng):

   

復(fù)制代碼
代碼如下:
#chkconfig --levels 235 munin-node onn

測(cè)試munin配置是否好了的方法:

  

復(fù)制代碼
代碼如下:
[root@ksharpdabu ~]# munin-run nginx_request

顯示:request.value 3

    注意:
    a. 3表示我nginx瞬時(shí)收到的請(qǐng)求數(shù)。所以,你那可能不是3,是其他的數(shù)字。這個(gè)數(shù)字還可能時(shí)刻在變,畢竟不同時(shí)刻訪問(wèn)你 網(wǎng)站的人肯定不同。
    b. 如果你得到的結(jié)果是 request.value U 。那么表示munin并沒(méi)有采集到nginx的信息。你的munin的配置有問(wèn)題。
    c. 還有可能報(bào)其他錯(cuò)誤,自己根據(jù)報(bào)錯(cuò)信息去google吧。

測(cè)試成功后,就可以直接訪問(wèn) http://test.dabu.info/munin,查看服務(wù)器狀況了。默認(rèn)情況下,cpu,內(nèi)存,硬盤(pán),網(wǎng)絡(luò)等都不需要再單獨(dú)配置了,直接可以查看。

貼上官方munin安裝配置文檔:http://munin.readthedocs.org/en/latest/installation/index.html

標(biāo)簽:汕頭 遼寧 南充 濰坊 三亞 昌都 通化 涼山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《在CentOS下使用Munin來(lái)監(jiān)控服務(wù)器運(yùn)行的方法》,本文關(guān)鍵詞  在,CentOS,下,使用,Munin,來(lái),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《在CentOS下使用Munin來(lái)監(jiān)控服務(wù)器運(yùn)行的方法》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于在CentOS下使用Munin來(lái)監(jiān)控服務(wù)器運(yùn)行的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    海林市| 图们市| 醴陵市| 读书| 仪征市| 临安市| 延庆县| 和硕县| 台东县| 东乡族自治县| 岐山县| 商洛市| 建昌县| 天门市| 邢台县| 哈巴河县| 商河县| 鲁甸县| 岢岚县| 会理县| 阳原县| 繁昌县| 定陶县| 当阳市| 南城县| 阳信县| 威海市| 宣恩县| 富宁县| 社旗县| 开原市| 榆树市| 遵义县| 荥经县| 青岛市| 卢龙县| 新化县| 伊春市| 乳山市| 咸丰县| 远安县|