Linux下nginx+nagios 监控平台搭建Word格式.docx

上传人:b****5 文档编号:19443053 上传时间:2023-01-06 格式:DOCX 页数:7 大小:25.51KB
下载 相关 举报
Linux下nginx+nagios 监控平台搭建Word格式.docx_第1页
第1页 / 共7页
Linux下nginx+nagios 监控平台搭建Word格式.docx_第2页
第2页 / 共7页
Linux下nginx+nagios 监控平台搭建Word格式.docx_第3页
第3页 / 共7页
Linux下nginx+nagios 监控平台搭建Word格式.docx_第4页
第4页 / 共7页
Linux下nginx+nagios 监控平台搭建Word格式.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

Linux下nginx+nagios 监控平台搭建Word格式.docx

《Linux下nginx+nagios 监控平台搭建Word格式.docx》由会员分享,可在线阅读,更多相关《Linux下nginx+nagios 监控平台搭建Word格式.docx(7页珍藏版)》请在冰豆网上搜索。

Linux下nginx+nagios 监控平台搭建Word格式.docx

cdnagios-3.2.3&

./configure--with-command-group=nagcmd--prefix=/usr/local/nagios&

makeall&

makeinstall&

makeinstall-init&

makeinstall-config&

makeinstall-commandmode

nagios安装完毕:

验证程序是否被正确安装。

切换目录到安装路径(这里是/usr/local/nagios),看是否存在etc、bin、sbin、share、var这五个目录,如果存在则可以表明程序被正确的安装到系统了。

接下来编译并安装nagios插件nagios-plugins

cd/usr/src&

tarzxvfnagios-plugins-1.4.13.tar.gz&

cdnagios-plugins-1.4.13&

./configure--with-nagios-user=nagios--with-nagios-group=nagios--perfix=/usr/local/nagios&

make&

makeinstall

插件安装完毕!

ls/usr/local/nagios/libexec

会显示安装的插件文件,即所有的插件都安装在libexec这个目录下。

四、创建一个nagiosadmin用户:

用于Nagios的WEB接口登录。

记下你所设置的登录口令,一会儿你会用到它

这里要借助于apche的htpasswd,在有apache机器上执行下列命令

/usr/local/apache2/bin/htpasswd-c/usr/local/nagios/etc/htpasswdnagiosadmin

输入两次一样的密码即可。

启动nagios;

chkconfig–addnagios添加到service中,chkconfignagios–level35on设置成开机启动。

【把selinux、iptables关闭,或者更改iptables策略需要访问nagios】

五、安装perlfcgi模块:

(1)、安装FCGI

tar-zxvfFCGI-0.67.tar.gz&

cdFCGI-0.67&

perlMakefile.PL&

(2)、安装FCGI-ProcManager:

cd../&

tar-xzxfFCGI-ProcManager-0.18.tar.gz&

cdFCGI-ProcManager-0.18&

make&

安装完毕即可。

接下来配置cgi脚本、nginx配置文件:

cd

/usr/local/nagios/bin/下新建文件,并写入以下内容viperl-cgi.pl

#!

/usr/bin/perl

useFCGI;

#perl-MCPAN-e‘installFCGI’

useSocket;

#thiskeepstheprogramaliveorsomethingafterexec’ingperlscripts

END()

{

}

BEGIN()

*CORE:

:

GLOBAL:

exit

=

sub

die

“fakeexit\nrc=”.shift().”\n”;

};

eval

q{exit};

if

($@)

unless

$@

=~

/^fakeexit/;

;

main;

submain{

#$socket=FCGI:

OpenSocket(“:

3461″,10);

#useIPsockets

$socket

=FCGI:

OpenSocket(

“/var/run/nagios.sock”,

10

);

#useUNIXsockets–userrunningthisscriptmusthavewaccesstothe‘nginx’folder!

!

$request

Request(

\*STDIN,

\*STDOUT,

\*STDERR,

\%ENV,

($request)

{request_loop()};

FCGI:

CloseSocket(

subrequest_loop{

while(

$request->

Accept()

>

#processinganySTDINinputfromWebServer(forCGI-GETactions)

$env

GetEnvironment();

$stdin_passthrough

=”;

$req_len

+

$ENV{CONTENT_LENGTH};

($ENV{REQUEST_METHOD}

eq

‘GET’){

.=

$ENV{‘QUERY_STRING’};

#runningthecgiapp

(-x$ENV{SCRIPT_FILENAME})

#canIexecutethis?

(-s

$ENV{SCRIPT_FILENAME})

#Isthisfileempty?

(-r$ENV{SCRIPT_FILENAME})

#canIreadthisfile?

){

#http:

//perldoc.perl.org/perlipc.html#Safe-Pipe-Opens

open

$cgi_app,

‘-|’,

$ENV{SCRIPT_FILENAME},

or

print(“Content-type:

text/plain\r\n\r\n”);

print

“Error:

CGIappreturnednooutput–Executing$ENV{SCRIPT_FILENAME}failed!

\n”;

($cgi_app)

{print

<

$cgi_app>

close

$cgi_app;

else

NosuchCGIapp–$req_len–$ENV{CONTENT_LENGTH}–$ENV{REQUEST_METHOD}–$ENV{SCRIPT_FILENAME}maynotexistorisnotexecutablebythisprocess.\n”;

}

设置权限chmod+xperl-cgi.pl即可!

以下是我的nginx.conf文件server内容:

server

listen80;

server_name192.168.2.79;

root/usr/local/nagios/share;

indexindex.php;

auth_basic“YouName”;

auth_basic_user_file/usr/local/nagios/etc/htpasswd;

log_formatnagios‘$remote_addr–$remote_user[$time_local]“$request”‘

‘$status$body_bytes_sent“$http_referer”‘

‘”$http_user_agent”$http_x_forwarded_for’;

access_log/usr/local/nginx/nagios.lognagios;

location~.*\.(php|php5)?

$

#fastcgi_passunix:

/tmp/php-cgi.sock;

fastcgi_pass127.0.0.1:

9000;

fastcgi_indexindex.php;

includefcgi.conf;

location~\.cgi${

root/usr/local/nagios/sbin;

rewrite^/nagios/cgi-bin/(.*)\.cgi/$1.cgibreak;

fastcgi_indexindex.cgi;

fastcgi_passunix:

/var/run/nagios.sock;

fastcgi_paramSCRIPT_FILENAME/usr/local/nagios/sbin$fastcgi_script_name;

fastcgi_paramQUERY_STRING$query_string;

fastcgi_paramREMOTE_ADDR$remote_addr;

fastcgi_paramREMOTE_PORT$remote_port;

fastcgi_paramREQUEST_METHOD$request_method;

fastcgi_paramREQUEST_URI$request_uri;

fastcgi_paramREMOTE_USER$remote_user;

#默认没有红色这一句,如果没有,后面nagios页面会报错,具体错误后面给出。

#fastcgi_paramSCRIPT_NAME$fastcgi_script_name;

fastcgi_paramSERVER_ADDR$server_addr;

fastcgi_paramSERVER_NAME$server_name;

fastcgi_paramSERVER_PORT$server_port;

fastcgi_paramSERVER_PROTOCOL$server_protocol;

fastcgi_paramSERVER_SOFTWAREnginx;

fastcgi_paramCONTENT_LENGTH$content_length;

fastcgi_paramCONTENT_TYPE$content_type;

fastcgi_paramGATEWAY_INTERFACECGI/1.1;

fastcgi_paramHTTP_ACCEPT_ENCODINGgzip,deflate;

fastcgi_paramHTTP_ACCEPT_LANGUAGEzh-cn;

fcgi.conf文件内容如下:

fastcgi_param 

GATEWAY_INTERFACE 

CGI/1.1;

SERVER_SOFTWARE 

nginx;

QUERY_STRING 

$query_string;

REQUEST_METHOD 

$request_method;

CONTENT_TYPE 

$content_type;

CONTENT_LENGTH 

$content_length;

SCRIPT_FILENAME 

$document_root$fastcgi_script_name;

SCRIPT_NAME 

$fastcgi_script_name;

REQUEST_URI 

$request_uri;

DOCUMENT_URI 

$document_uri;

DOCUMENT_ROOT 

$document_root;

SERVER_PROTOCOL 

$server_protocol;

REMOTE_ADDR 

$remote_addr;

REMOTE_PORT 

$remote_port;

SERVER_ADDR 

$server_addr;

SERVER_PORT 

$server_port;

SERVER_NAME 

$server_name;

#PHPonly,requiredifPHPwasbuiltwith–enable-force-cgi-redirect

REDIRECT_STATUS 

200;

以上可以把nginx中fastcGI部分整合到fcgi.conf中。

启动nginx,确定有fastcGI9000端口。

后台启动screen 

./perl-cgi.pl>

/dev/null 

ctrl+a+d退出screen。

然后chmod 

777 

/var/run/nagios.sock 

并且重启servicenagiosrestart

六。

安装完毕,然后访问:

直接访问http:

//192.168.2.79 

会弹出登录框,输入用户名nagiosadmin和密码,会看到nagios默认监控localhost!

页面如下:

而且点击详细服务关闭报警,也不报错:

这样的话,nginx+nagios环境搭建完毕!

剩下的就是具体监控客户端的配置啦!

文章后续给出!

本文环境已经测试通过,搭建的时候,也遇到了好多例如403、502、504等等系列问题,一点一滴的解决。

一件事只有你真正做过,你才会感觉到学到很多东西。

如下的报错:

(1)、ItseemsthatyouhavechosentonotusetheauthenticationfunctionalityoftheCGIs.

Idon'

twanttobepersonallyresponsibleforwhatmayhappenasaresultofallowing

unauthorizeduserstoissuecommandstoNagios,soyou'

llhavetodisablethissafeguardifyou

arereallystubbornandwanttoinvitetrouble.

(2)、Itappearsasthoughyoudonothavepermissiontoviewinformationforanyofthehostsyourequested...

Ifyoubelievethisisanerror,checktheHTTPserverauthenticationrequirementsforaccessingthisCGI

andchecktheauthorizationoptionsinyourCGIconfigurationfile

可参照修改:

本文参考文章链接:

http:

//bbs.linuxtone.org/thread-4441-1-1.html

//bbs.linuxtone.org/thread-7404-1-1.html

本文出自“【烟雨楼台】”博客,请务必保留此出处

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 哲学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1