將nagios監(jiān)控數(shù)據(jù)可視化


前言
nagios系統(tǒng)可以像zabbix、cacti類軟件一樣叽粹,將收集到的各項監(jiān)控指標性能數(shù)據(jù)以圖形的形式動態(tài)展示出來览效。使監(jiān)控更加直觀化,可進行各項靈活的定制虫几,方便對性能數(shù)據(jù)進行對比分析锤灿。nagios可以用于監(jiān)控數(shù)據(jù)畫圖的插件有多種,這里以pnp4nagios軟件為例進行說明辆脸。

本文所用到系統(tǒng)環(huán)境
OS:CentOS release 6.8 (Final) 2.6.32-642.el6.x86_64
還有一個重要環(huán)境:互聯(lián)網(wǎng)(yum衡招、百度、Google)每强。
各軟件包:

組件 軟件包名
nagios daemon nagios-4.3.1.tar.gz
nrpe nrpe-2.15.tar.gz
nagios plugin nagios-plugins-2.2.0.tar.gz
pnp4nagios pnp4nagios-0.6.25.tar.gz

1. 獲取pnp4nagios軟件

筆者是在pnp4nagios的官網(wǎng)上下載的始腾,現(xiàn)將它和nagios其它軟件包一起放在此處百度網(wǎng)盤 密碼:ayhk

2. 安裝pnp4nagios

  • 安裝前的準備
    筆者使用的是pnp4nagios的0.6.25版本,根據(jù)官網(wǎng)說明安裝它以前需要滿足以下條件:
Perl >= 5.x without additional modules
    RRDtool >= 1.x, better 1.2 but not compulsory
    Attention: installing RRDtool without a packet manager might lead to missing dejavu fonts. If you see graphs without text then this may be the cause.
    PHP >= 5.1.6 for the Webfrontend based on Kohana
    Nagios >= 2.x or Icinga
    Kohana needs the module “mod_rewrite” to be enabled. For details please have a look at the documentation of your web-server specific to your distribution.

其中perl空执、rrdtool都可以通過yum來進行安裝浪箭,web server apache默認即已包含mod_rewrite了。需要使用yum安裝的包大致包括以下幾個:

yum install rrdtool rrdtool-perl perl-devel 
  • 安裝pnp4nagios
    先將軟件壓縮包解壓辨绊,然后configure,根據(jù)提示執(zhí)行相應的make操作奶栖,完成安裝過程,相應指令如下:

    tar xf pnp4nagios-0.6.25
    cd pnp4nagios
    ./configure
    configure完成以后會出現(xiàn)相應的匯總信息:  
    General Options:
     Nagios user/group:                nagios nagios
     Install directory:                /usr/local/pnp4nagios
     HTML Dir:                         /usr/local/pnp4nagios/share
     Config Dir:                       /usr/local/pnp4nagios/etc
     Location of rrdtool binary:       /usr/bin/rrdtool Version 1.3.8
     RRDs Perl Modules:                FOUND (Version 1.3008)
     RRD Files stored in:                   /usr/local/pnp4nagios/var/perfdata
    process_perfdata.pl Logfile:           /usr/local/pnp4nagios/var/perfdata.log
    Perfdata files (NPCD) stored in:  /usr/local/pnp4nagios/var/spool
    Web Interface Options:
    HTML URL:                         http://localhost/pnp4nagios
    Apache Config File:               /etc/httpd/conf.d/pnp4nagios.conf
    

    以上配置匯總信息很重要门坷,后面修改nagios.cfg需要用到宣鄙,以及pnp4nagios運行環(huán)境測試也會用到。然后根據(jù)提示信息依次執(zhí)行:

make all
make install
make fullinstall

這里對make fullinstall進行一下說明默蚌,這一指令其實包含有三個指令:

  1. make install-webconf
    復制一個名為pnp4nagios.conf的文件到/etc/httpd.conf.d/目錄下冻晤,主要用于從web可以訪問pnp4nagios。
  2. make install-config 復制process_perfdata.pl和npcd的配置文件到/etc/pnp中绸吸,為可選項鼻弧。
    3.make install-init 安裝npcd init腳本。

3. 測試pnp4nagios安裝結(jié)果

重啟web服務锦茁,并驗證pnp4nagios運行環(huán)境是否已準備就緒攘轩。

service httpd restart

打開瀏覽器輸入上面匯總信息的HTML URL即:http://localhost/pnp4nagios。正常情況下會得到如下頁面:

pnp4nagios運行環(huán)境測試圖1
pnp4nagios運行環(huán)境測試圖2

4. 了解pnp4nagios的工作模式

進行pnp4nagios的配置之前码俩,需要先確定要使用pnp4nagios的哪種工作模式度帮,它支持的有sync mode(應該是默認模式)、bulk mode稿存、bulk mode with npcd笨篷、bulk with npcd and npcdmod和gearman mode共5種運行模式甫菠,按照官網(wǎng)的說明,我這里選擇buld mode with npcd冕屯。以下為這種模式的官方說明:

Viewing from Nagios this is the best way of processing because Nagios will not be blocked.

Nagios again uses a temporary file to store the data and executes a command after expiration of a certain time. Instead of immediate processing by process_perfdata.pl the file is moved to a spool directory. As moving a file inside the same filesystem nearly takes no time nagios is able to execute crucial work immediately.

The NPCD daemon (Nagios Performance C Daemon) will monitor the directory for new files and will pass the names to process_perfdata.pl. Processing of performance data is decoupled completely from nagios. NPCD itself is able to start multiple thread for processing the data.

簡單來說這種模式的好處就是它將收集到原始的性能統(tǒng)計數(shù)據(jù)工作和對這些數(shù)據(jù)進行處理然后生成RRD和XML文件的工作分開了,前者由nagios完成拂苹,后者則由專門的守護進程NPCD來完成安聘,提高了nagios的工作效率。
以下為這種模式的工作原理示圖:

pnp4nagios bulk mode with npcd

5. 配置pnp4nagios及nagios

要想pnp4nagios工作起來必須對pnp4nagios和nagios的配置文件進行修改瓢棒,讓它們能夠聯(lián)動起來浴韭。按照以下步驟進行配置:

  • 修改nagios主配置文件 (/usr/local/nagios/etc/nagios.cfg)
  • 打開性能數(shù)據(jù)處理開關(guān)
process_performance_data=1   #默認為0
  • 修改性能數(shù)據(jù)文件位置
host_perfdata_file=/usr/local/pnp4nagios/var/host-perfdata
service_perfdata_file=/usr/local/pnp4nagios/var/service-perfdata 
#記得pnp4nagios安裝時的配置信息匯總信息吧,這里用到了
  • 修改性能數(shù)據(jù)文件格式模板
host_perfdata_file_template=DATATYPE::HOSTPERFDATA\tTIM
ET::$TIMET$\tHOSTNAME::$HOSTNAME$\tHOSTPERFDATA::$
HOSTPERFDATA$\tHOSTCHECKCOMMAND::$HOSTCHECKC
OMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::
$HOSTSTATETYPE$   #內(nèi)容很長脯宿,修改的時候記得寫在一行不要人為分行  
host_perfdata_file_template=DATATYPE::HOSTPERFDATA\tTIM
ET::$TIMET$\tHOSTNAME::$HOSTNAME$\tHOSTPERFDATA::$
HOSTPERFDATA$\tHOSTCHECKCOMMAND::$HOSTCHECKC
OMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::
$HOSTSTATETYPE$   #內(nèi)容很長念颈,修改的時候記得寫在一行不要人為分行  
  • 設(shè)置性能數(shù)據(jù)文件寫入模式及處理間隔
host_perfdata_file_mode=a
service_perfdata_file_mode=a   #默認為即a,append
host_perfdata_file_processing_interval=15  #設(shè)置每15秒處理一次性能數(shù)據(jù)文件
service_perfdata_file_processing_interval=15
  • 配置處理這些性能數(shù)據(jù)文件的指令
host_perfdata_file_processing_command=process-host-perfdata-file
service_perfdata_file_processing_command=process-service-perfdata-file  

這兩個指令非常關(guān)鍵,它需要在nagios的commands.cfg中定義好连霉,且命令名稱跟此處完全一致榴芳。

  • 定義處理文件指令的詳細參數(shù)
    在nagios的commands.cfg中配置如下參數(shù):

    define command{
      command_name    process-service-perfdata-file
      command_line    /bin/mv /usr/local/pnp4nagios/var/service-
     perfdata /usr/local/pnp4nagios/var/spool/service-perfdata.$TIMET$
     }
    
    define command{
      command_name    process-host-perfdata-file
      command_line    /bin/mv /usr/local/pnp4nagios/var/host-
    perfdata /usr/local/pnp4nagios/var/spool/host-perfdata.$TIMET$
     }
    
  • 配置nagios web上可以調(diào)用pnp4nagios
    要實現(xiàn)從nagios web頁面上直接打開pnp4nagios,從而查看其輸出的圖形跺撼,還需要配置很關(guān)鍵的一個參數(shù) action_url窟感,我選擇將它直接定義在host和service的模板中。在實際工作中有的監(jiān)控項目可能并不需要畫圖出來歉井,可以在定義監(jiān)控時柿祈,在相應的服務中設(shè)置process_perf_data 0,即不處理此服務的性能數(shù)據(jù)哩至。默認在服務和主機模板中它是設(shè)置為1的躏嚎。
    要想看到一個監(jiān)控項目輸出的圖形,必須將process_perf data設(shè)置為1菩貌,同時調(diào)用的有action_url卢佣。
    action_url的配置如下所示,我選擇將它們分別定義在templates.cfg的主機和服務模板中了:

      action_url                      /pnp4nagios/index.php/graph?
     host=$HOSTNAME$&srv=_HOST_    ;針對主機的箭阶,注意寫在一行
      action_url                      /pnp4nagios/index.php/graph?
     host=$HOSTNAME$&srv=$SERVICEDESC$ ;針對服務的珠漂,注意寫在一行  
    
  • 檢查npcd配置文件
    查看/usr/local/pnp4nagios/etc/npcd.cfg的內(nèi)容,確認其中配置的有無錯誤的地方尾膊,比如使用的用戶是否和nagios的一致為nagios媳危,調(diào)用的process_perfdata.pl是否是pnp4nagios libexec下的。一般情況下此文件保持默認參數(shù)即可冈敛。

  • 設(shè)置npcd服務開機自啟并啟動

service npcd start
chkconfig npcd on
service npcd status  #確認一下它是否啟動
  • 重載nagios
    當naios的配置文件有過改動以后待笑,需要檢查配置文件是否有明顯的語法及邏輯錯誤,檢測方式:
    /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
    檢測無誤后抓谴,重載nagios服務:
    service nagios reload

6. 觀察畫圖效果

nagios中添加了action_url以后暮蹂,web 頁面相應的主機和服務后會多一個小的圖標寞缝,如下:

pnp4nagios圖標

點擊其中一個圖標可以看到其動態(tài)輸出效果荆陆,如下所示:

pnp4nagios效果圖

7. pnp4nagios的官方文檔

pnp4nagios還支持很多高級功能集侯,如在配置 文件中使用正則表達式,以實現(xiàn)更為復雜的匹配浓体,支持自定義page辈讶,將想要放在一起的主機及服務呈現(xiàn)在一個頁面中,支持數(shù)據(jù)導出贱除。這些在它的官方網(wǎng)站上都有介紹,文中的原理圖也來自pnp4nagios的官網(wǎng)跪腹。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末飞醉,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子轴术,更是在濱河造成了極大的恐慌,老刑警劉巖逗栽,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件彼宠,死亡現(xiàn)場離奇詭異,居然都是意外死亡凭峡,警方通過查閱死者的電腦和手機决记,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來索昂,“玉大人,你說我怎么就攤上這事椒惨。” “怎么了领斥?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我屯碴,道長,這世上最難降的妖魔是什么忱叭? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任今艺,我火速辦了婚禮,結(jié)果婚禮上撵彻,老公的妹妹穿的比我還像新娘实牡。我一直安慰自己,他們只是感情好创坞,可當我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著偎谁,像睡著了一般。 火紅的嫁衣襯著肌膚如雪巡雨。 梳的紋絲不亂的頭發(fā)上席函,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天,我揣著相機與錄音蝌以,去河邊找鬼炕舵。 笑死跟畅,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的徊件。 我是一名探鬼主播虱痕,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼部翘!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起窖梁,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤夹囚,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后荸哟,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡位谋,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年掏父,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片秆剪。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖陶缺,靈堂內(nèi)的尸體忽然破棺而出洁灵,到底是詐尸還是另有隱情饱岸,我是刑警寧澤掺出,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布汤锨,位于F島的核電站百框,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏铐维。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一嫁蛇、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧第煮,春花似錦闸拿、人聲如沸空盼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至痒芝,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間严衬,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工请琳, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留赠幕,地道東北人。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓竖慧,卻偏偏與公主長得像,于是被迫代替她去往敵國和親圾旨。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,786評論 2 345

推薦閱讀更多精彩內(nèi)容