Linux下nginx+nagios 監(jiān)控平臺(tái)搭建_第1頁(yè)
Linux下nginx+nagios 監(jiān)控平臺(tái)搭建_第2頁(yè)
Linux下nginx+nagios 監(jiān)控平臺(tái)搭建_第3頁(yè)
Linux下nginx+nagios 監(jiān)控平臺(tái)搭建_第4頁(yè)
Linux下nginx+nagios 監(jiān)控平臺(tái)搭建_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Linux下nginx+nagios 監(jiān)控平臺(tái)搭建】隨著linux服務(wù)器可用性、穩(wěn)定性逐步增強(qiáng),企業(yè)對(duì)線上服務(wù)也要求越來(lái)越嚴(yán)格,需要有專門的監(jiān)控系統(tǒng)監(jiān)控服務(wù)的正常運(yùn)轉(zhuǎn),并有問(wèn)題及時(shí)發(fā)郵件、報(bào)警給linux SA。我們大多數(shù)nagios、cacti監(jiān)控都基于apache搭建,今天我們講一種新平臺(tái)搭建nginx平臺(tái)的nagios監(jiān)控!一、系統(tǒng)運(yùn)行環(huán)境:服務(wù)器系統(tǒng)版本:Centos 5.3x64nginx版本:nginx-0.8.54nagios版本:nagios-3.2.3二、下載所需包:所有安裝所需的源碼包:本站點(diǎn)集成下載:Nginx 安裝請(qǐng)參考: 【nginx安裝】nginx安裝完畢后。三、正

2、式安裝nagios:創(chuàng)建nagios用戶和組,并把www加入nagios管理組:useraddnagios &groupadd nagcmd & usermod -g nagcmd nagios & usermod -g nagcmd wwwcd /usr/scr & tar xzf nagios-3.2.3.tar.gz & cd nagios-3.2.3 & ./configure -with-command-group=nagcmd -prefix=/usr/local/nagios & make all & make install &make install-init & make

3、install-config & make install-commandmodenagios安裝完畢:驗(yàn)證程序是否被正確安裝。切換目錄到安裝路徑(這里是/usr/local/nagios),看是否存在 etc、bin、 sbin、 share、 var這五個(gè)目錄,如果存在則可以表明程序被正確的安裝到系統(tǒng)了。接下來(lái)編譯并安裝nagios插件 nagios-pluginscd /usr/src &tar zxvf nagios-plugins-1.4.13.tar.gz &cd nagios-plugins-1.4.13 &./configure -perfix=/usr/local/nagio

4、s -with-nagios-user=nagios -with-nagios-group=nagios& make & make install插件安裝完畢!ls /usr/local/nagios/libexec會(huì)顯示安裝的插件文件,即所有的插件都安裝在libexec這個(gè)目錄下。四、創(chuàng)建一個(gè)nagiosadmin用戶:用于Nagios的WEB接口登錄。記下你所設(shè)置的登錄口令,一會(huì)兒你會(huì)用到它這里要借助于apche的htpasswd,在有apache機(jī)器上執(zhí)行下列命令/usr/local/apache2/bin/htpasswd -c /usr/local/nagios/etc/htpass

5、wd nagiosadmin輸入兩次一樣的密碼即可。啟動(dòng)nagios ;chkconfig add nagios 添加到service 中,chkconfig nagios level 35 on 設(shè)置成開機(jī)啟動(dòng)。【把selinux、iptables關(guān)閉,或者更改iptables策略需要訪問(wèn)nagios】五、安裝perl fcgi模塊:【首先得安裝php并編譯fastcGI模塊】安裝php可參考 (1)、安裝FCGIcd /usr/src & tar -zxvf FCGI-0.67.tar.gz &cd FCGI-0.67 & perl Makefile.PL & make & make in

6、stall(2)、安裝FCGI-ProcManager:cd ./ & tar -xzxf FCGI-ProcManager-0.18.tar.gz &cd FCGI-ProcManager-0.18 & perl Makefile.PL &make & make install安裝完畢即可。mkdir -p /usr/local/nagios/share/nagios &ln -s /usr/local/nagios/share/images /usr/local/nagios/share/nagios/images &ln -s /usr/local/nagios/share/styles

7、heets /usr/local/nagios/share/nagios/stylesheets 避免無(wú)法顯示圖片。接下來(lái)配置cgi腳本、nginx配置文件:cd/usr/local/nagios/bin/ 下新建文件,并寫入以下內(nèi)容 vi perl-cgi.pl#!/usr/bin/perluse FCGI;#perl -MCPAN -e install FCGIuse Socket;#this keeps the program alive or something after execing perl scriptsEND()BEGIN()*CORE:GLOBAL:exit=subdie

8、“fakeexitnrc=”.shift().”n”;evalqexit;if($)exitunless$=/fakeexit/;&main;sub main #$socket = FCGI:OpenSocket( “:3461, 10 ); #use IP sockets$socket= FCGI:OpenSocket(“/var/run/nagios.sock”,10);#use UNIX sockets user running this script must have w access to the nginx folder!$request= FCGI:Request(*STDIN

9、,*STDOUT,*STDERR,%ENV,$socket);if($request)request_loop();FCGI:CloseSocket($socket);sub request_loop while($request-Accept()=0)#processing any STDIN input from WebServer (for CGI-GET actions)$env=$request-GetEnvironment();$stdin_passthrough=”;$req_len=0+$ENVCONTENT_LENGTH;if($ENVREQUEST_METHODeqGET)

10、$stdin_passthrough.=$ENVQUERY_STRING;#running the cgi appif(-x $ENVSCRIPT_FILENAME)&#can I execute this?(-s$ENVSCRIPT_FILENAME)&#Is this file empty?(-r $ENVSCRIPT_FILENAME)#can I read this file?)#/perlipc.html#Safe-Pipe-Opensopen$cgi_app,-|,$ENVSCRIPT_FILENAME,$stdin_passthroug

11、horprint(“Content-type: text/plainrnrn”);print“Error: CGI app returned no output Executing $ENVSCRIPT_FILENAME failed !n”;if($cgi_app)print;close$cgi_app;elseprint(“Content-type: text/plainrnrn”);print“Error: No such CGI app $req_len $ENVCONTENT_LENGTH $ENVREQUEST_METHOD $ENVSCRIPT_FILENAME may not

12、exist or is not executable by this process.n”; 設(shè)置權(quán)限chmod +x perl-cgi.pl 即可!以下是我的nginx.conf文件server內(nèi)容:serverlisten 80;server_name 9;root /usr/local/nagios/share;index index.php;auth_basic “You Name”;auth_basic_user_file /usr/local/nagios/etc/htpasswd;log_format nagios $remote_addr $remote_

13、user $time_local “$request” $status $body_bytes_sent “$http_referer” ”$http_user_agent” $http_x_forwarded_for;access_log /usr/local/nginx/nagios.log nagios;location .*.(php|php5)?$#fastcgi_pass unix:/tmp/php-cgi.sock;fastcgi_pass :9000;fastcgi_index index.php;include fcgi.conf;location .cgi

14、$ root /usr/local/nagios/sbin;rewrite /nagios/cgi-bin/(.*).cgi /$1.cgi break;fastcgi_index index.cgi;fastcgi_pass unix:/var/run/nagios.sock;fastcgi_param SCRIPT_FILENAME /usr/local/nagios/sbin$fastcgi_script_name;fastcgi_param QUERY_STRING $query_string;fastcgi_param REMOTE_ADDR $remote_addr;fastcgi

15、_param REMOTE_PORT $remote_port;fastcgi_param REQUEST_METHOD $request_method;fastcgi_param REQUEST_URI $request_uri;fastcgi_param REMOTE_USER $remote_user;#默認(rèn)沒有紅色這一句,如果沒有,后面nagios頁(yè)面會(huì)報(bào)錯(cuò),具體錯(cuò)誤后面給出。#fastcgi_param SCRIPT_NAME $fastcgi_script_name;fastcgi_param SERVER_ADDR $server_addr;fastcgi_param SERVE

16、R_NAME $server_name;fastcgi_param SERVER_PORT $server_port;fastcgi_param SERVER_PROTOCOL $server_protocol;fastcgi_param SERVER_SOFTWARE nginx;fastcgi_param CONTENT_LENGTH $content_length;fastcgi_param CONTENT_TYPE $content_type;fastcgi_param GATEWAY_INTERFACE CGI/1.1;fastcgi_param HTTP_ACCEPT_ENCODI

17、NG gzip,deflate;fastcgi_param HTTP_ACCEPT_LANGUAGE zh-cn;fcgi.conf文件內(nèi)容如下:fastcgi_paramGATEWAY_INTERFACECGI/1.1;fastcgi_paramSERVER_SOFTWARE nginx;fastcgi_paramQUERY_STRING $query_string;fastcgi_paramREQUEST_METHOD $request_method;fastcgi_paramCONTENT_TYPE $content_type;fastcgi_paramCONTENT_LENGTH $c

18、ontent_length;fastcgi_paramSCRIPT_FILENAME $document_root$fastcgi_script_name;fastcgi_paramSCRIPT_NAME $fastcgi_script_name;fastcgi_paramREQUEST_URI $request_uri;fastcgi_paramDOCUMENT_URI $document_uri;fastcgi_paramDOCUMENT_ROOT $document_root;fastcgi_paramSERVER_PROTOCOL $server_protocol;fastcgi_pa

19、ramREMOTE_ADDR $remote_addr;fastcgi_paramREMOTE_PORT $remote_port;fastcgi_paramSERVER_ADDR $server_addr;fastcgi_paramSERVER_PORT $server_port;fastcgi_paramSERVER_NAME $server_name;# PHP only, required if PHP was built with enable-force-cgi-redirectfastcgi_paramREDIRECT_STATUS 200;以上可以把nginx中fastcGI部

20、分整合到fcgi.conf中。啟動(dòng)nginx,確定有fastcGI 9000端口。 后臺(tái)啟動(dòng)screen ./perl-cgi.pl /dev/null;ctrl +a +d 退出screen。然后chmod777 /var/run/nagios.sock;并且重啟service nagios restart六。安裝完畢,然后訪問(wèn):直接訪問(wèn) 9 會(huì)彈出登錄框 ,輸入用戶名nagiosadmin 和密碼,會(huì)看到nagios默認(rèn)監(jiān)控localhost!頁(yè)面如下:而且點(diǎn)擊詳細(xì)服務(wù)關(guān)閉報(bào)警,也不報(bào)錯(cuò): 這樣的話,nginx+nagios 環(huán)境搭建完畢!剩下的就是具體監(jiān)控客戶端的配置啦!文章后續(xù)給出!本文環(huán)境已經(jīng)測(cè)試通過(guò),搭建的時(shí)候,也遇到了好多例如403、502、504等等系列問(wèn)題,一點(diǎn)一滴的解決。一件事只有你真正做過(guò),你才會(huì)感覺到學(xué)到很多東西。如下的報(bào)錯(cuò):(1)、It seems that you ha

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論