




版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年塑料枝頭花行業(yè)深度研究分析報(bào)告
- 賓館轉(zhuǎn)讓雙方合同協(xié)議書
- 物業(yè)招聘人員合同協(xié)議書
- 2025年中國(guó)氯化鉀項(xiàng)目商業(yè)計(jì)劃書
- 創(chuàng)業(yè)基礎(chǔ)商業(yè)計(jì)劃書
- 補(bǔ)充合同協(xié)議書怎么寫
- 過(guò)戶合同協(xié)議書怎么寫有效
- 項(xiàng)目部環(huán)保管理策劃方案
- 家庭保姆合同簡(jiǎn)易協(xié)議書
- 合同協(xié)議書文本格式
- 傳染病法律法規(guī)培訓(xùn)課件
- 高中地理學(xué)業(yè)水平合格性考試必修二知識(shí)點(diǎn)總結(jié)(會(huì)考)
- 職業(yè)升學(xué)就業(yè)協(xié)議書
- 旅行導(dǎo)游協(xié)議書
- 2024年新牛津譯林版三年級(jí)上冊(cè)英語(yǔ) Unit 1 Hello!第三課時(shí)
- 2025屆百師聯(lián)盟高三下學(xué)期二輪復(fù)習(xí)聯(lián)考(三)地理試題(含答案)
- 新能源合伙人合同8篇
- 節(jié)目腳本委托合同協(xié)議
- 2025年下半年河北省邢臺(tái)路橋建設(shè)總公司招聘50人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- (二模)青島市2025年高三年級(jí)第二次適應(yīng)性檢測(cè)地理試卷(含標(biāo)準(zhǔn)答案)
- 海林市社區(qū)工作者招聘真題2024
評(píng)論
0/150
提交評(píng)論