来一发CentOS下nginx+nagios 监控平台搭建
欢迎大家来到仓酷云论坛!跟着linux办事器可用性、不乱性慢慢加强,企业对线上办事也请求愈来愈严厉,必要有专门的监控体系监控办事的一般运转,并有成绩实时发邮件、报警给linuxSA。我们年夜多半nagios、cacti监控都基于apache搭建,明天我们讲一种新平台搭建nginx平台的nagios监控!1、体系运转情况
办事器体系版本:Centos5.3x64nginx版本:nginx-0.8.54nagios版本:nagios-3.2.32、下载所需包
#一切装置所需的源码包:本站点集成下载:(以下包地点已生效,请往官方网站下载响应的包)http://blog.mgcrazy.com/download/nginx-0.8.54.tar.gzhttp://blog.mgcrazy.com/download/pcre-8.01.tar.gzhttp://blog.mgcrazy.com/download/nagios/FCGI-0.67.tar.gzhttp://blog.mgcrazy.com/download/nagios/FCGI-ProcManager-0.18.tar.gzhttp://blog.mgcrazy.com/download/nagios/nagios-3.2.3.tar.gzhttp://blog.mgcrazy.com/download/nagios/nagios-plugins-1.4.13.tar.gzhttp://blog.mgcrazy.com/download/nagios/nrpe-2.8.1.tar.gz#Nginx装置请参考:http://blog.mgcrazy.com/?p=792【nginx装置】nginx装置终了后。3、正式装置nagios
#创立nagios用户和组,并把www到场nagios办理组:useraddnagios&&groupaddnagcmd&&usermod-gnagcmdnagios&&usermod-gnagcmdwwwcd/usr/scr&&tarxzfnagios-3.2.3.tar.gz&&cdnagios-3.2.3./configure--with-command-group=nagcmd--prefix=/usr/local/nagios&&makeallmakeinstall&&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--prefix=/usr/local/nagios--with-nagios-user=nagios--with-nagios-group=nagiosmake&&makeinstall#插件装置终了!#ls/usr/local/nagios/libexec会显现装置的插件文件,即一切的插件都装置在libexec这个目次下。4、创立一个nagiosadmin用户
#用于Nagios的WEB接口登录。#记下你所设置的登录口令,一会儿你会用到它这里要借助于apche的htpasswd,在有apache呆板上实行以下下令/usr/local/apache2/bin/htpasswd-c/usr/local/nagios/etc/htpasswdnagiosadmin输出两次一样的暗码便可。chkconfigCaddnagios#增加到service中,chkconfignagiosClevel35on设置成开机启动。#把selinux、iptables封闭,大概变动iptables战略必要会见nagios#然后启动nagios/etc/init.d/nagiosstart5、装置PerlFCGI
#装置php可参考http://chinaapp.sinaapp.com/thread-627-1-1.html#装置FCGIcd/usr/src&&tar-zxvfFCGI-0.67.tar.gz&&cdFCGI-0.67&&perlMakefile.PLmake&&makeinstall#装置FCGI-ProcManager:cd../&&tar-xzxfFCGI-ProcManager-0.18.tar.gz&&cdFCGI-ProcManager-0.18perlMakefile.PL&&make&&makeinstall#装置终了便可。mkdir-p/usr/local/nagios/share/nagiosln-s/usr/local/nagios/share/images/usr/local/nagios/share/nagios/imagesln-s/usr/local/nagios/share/stylesheets/usr/local/nagios/share/nagios/stylesheets#制止没法显现图片。接上去设置cgi剧本、nginx设置文件:
cd/usr/local/nagios/bin/下新建文件,并写进以下内容viperl-cgi.pl
#!/usr/bin/perluseFCGI;#perl-MCPAN-e‘installFCGI’useSocket;#thiskeepstheprogramaliveorsomethingafterexec’ingperlscriptsEND(){}BEGIN(){}*CORE::GLOBAL::exit=sub{die“fakeexit
rc=”.shift().”
”;};evalq{exit};if($@){exitunless$@=~/^fakeexit/;};&main;submain{#$socket=FCGI::OpenSocket(“:3461″,10);#useIPsockets$socket=FCGI::OpenSocket(“/var/run/nagios.sock”,10);#useUNIXsocketsCuserrunningthisscriptmusthavewaccesstothe‘nginx’folder!!$request=FCGI::Request(*STDIN,*STDOUT,*STDERR,\%ENV,$socket);if($request){request_loop()};FCGI::CloseSocket($socket);}subrequest_loop{while($request->Accept()>=0){#processinganySTDINinputfromWebServer(forCGI-GETactions)$env=$request->GetEnvironment();$stdin_passthrough=”;$req_len=0+$ENV{CONTENT_LENGTH};if($ENV{REQUEST_METHOD}eq‘GET’){$stdin_passthrough.=$ENV{‘QUERY_STRING’};}#runningthecgiappif((-x$ENV{SCRIPT_FILENAME})&&#canIexecutethis?(-s$ENV{SCRIPT_FILENAME})&&#Isthisfileempty?(-r$ENV{SCRIPT_FILENAME})#canIreadthisfile?){#http://perldoc.perl.org/perlipc.html#Safe-Pipe-Opensopen$cgi_app,‘-|’,$ENV{SCRIPT_FILENAME},$stdin_passthroughorprint(“Content-type:text/plain
”);print“Error:CGIappreturnednooutputCExecuting$ENV{SCRIPT_FILENAME}failed!
”;if($cgi_app){print<$cgi_app>;close$cgi_app;}}else{print(“Content-type:text/plain
”);print“Error:NosuchCGIappC$req_lenC$ENV{CONTENT_LENGTH}C$ENV{REQUEST_METHOD}C$ENV{SCRIPT_FILENAME}maynotexistorisnotexecutablebythisprocess.
”;}}}#设置权限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_addrC$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_paramGATEWAY_INTERFACECGI/1.1;fastcgi_paramSERVER_SOFTWAREnginx;fastcgi_paramQUERY_STRING$query_string;fastcgi_paramREQUEST_METHOD$request_method;fastcgi_paramCONTENT_TYPE$content_type;fastcgi_paramCONTENT_LENGTH$content_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_paramREMOTE_ADDR$remote_addr;fastcgi_paramREMOTE_PORT$remote_port;fastcgi_paramSERVER_ADDR$server_addr;fastcgi_paramSERVER_PORT$server_port;fastcgi_paramSERVER_NAME$server_name;#PHPonly,requiredifPHPwasbuiltwithCenable-force-cgi-redirectfastcgi_paramREDIRECT_STATUS200;以上能够把nginx中fastcGI局部整合到fcgi.conf中
启动nginx,断定有fastcGI9000端口。背景启动screen./perl-cgi.pl>/dev/nullctrl+a+d加入screen然后chmod777/var/run/nagios.sock;而且重启servicenagiosrestart6、装置终了,然后会见:
间接会见http://192.168.2.79会弹出登录框,输出用户名nagiosadmin和暗码,会看到nagios默许监控localhost!页面以下:并且点击具体办事封闭报警,也不报错:
自此,nginx+nagios情况搭建终了!剩下的就是详细监控客户真个设置啦!文章后续给出!
本文情况已测试经由过程,搭建的时分,也碰到了很多多少比方403、502、504等等系列成绩,一点一滴的办理。一件事只要你真正做过,你才会感到到学到良多器材。以下的报错:
#一切装置所需的源码包:本站点集成下载:(以下包地点已生效,请往官方网站下载响应的包)http://blog.mgcrazy.com/download/nginx-0.8.54.tar.gzhttp://blog.mgcrazy.com/download/pcre-8.01.tar.gzhttp://blog.mgcrazy.com/download/nagios/FCGI-0.67.tar.gzhttp://blog.mgcrazy.com/download/nagios/FCGI-ProcManager-0.18.tar.gzhttp://blog.mgcrazy.com/download/nagios/nagios-3.2.3.tar.gzhttp://blog.mgcrazy.com/download/nagios/nagios-plugins-1.4.13.tar.gzhttp://blog.mgcrazy.com/download/nagios/nrpe-2.8.1.tar.gz#Nginx装置请参考:http://blog.mgcrazy.com/?p=792【nginx装置】nginx装置终了后。0本文参考文章链接
#一切装置所需的源码包:本站点集成下载:(以下包地点已生效,请往官方网站下载响应的包)http://blog.mgcrazy.com/download/nginx-0.8.54.tar.gzhttp://blog.mgcrazy.com/download/pcre-8.01.tar.gzhttp://blog.mgcrazy.com/download/nagios/FCGI-0.67.tar.gzhttp://blog.mgcrazy.com/download/nagios/FCGI-ProcManager-0.18.tar.gzhttp://blog.mgcrazy.com/download/nagios/nagios-3.2.3.tar.gzhttp://blog.mgcrazy.com/download/nagios/nagios-plugins-1.4.13.tar.gzhttp://blog.mgcrazy.com/download/nagios/nrpe-2.8.1.tar.gz#Nginx装置请参考:http://blog.mgcrazy.com/?p=792【nginx装置】nginx装置终了后。1
本文出自“吴光科-专注主动化运维”博客,请务必保存此出处http://wgkgood.blog.51cto.com/1192594/523150
欢迎大家来到仓酷云论坛!
来一发CentOS下nginx+nagios 监控平台搭建
编程学习及开发,Linux是免费,开源的操作系统,并且可开发工具相当多,如果您支持自由软件,一定要同广大热爱自由软件人士一同为其不懈努力。 虽然大家都比较喜欢漂亮的mm,但是在学 linux 的过程中,还是要多和“男人”接触一下:P 遇到问题的时候,出来看说和上网查之外,就是要多用 linux 下的 man 命令找找帮助。 再次,Linux是用C语言编写的,我们有学习C语言的基础,读程序和编写代码方面存在的困难小一点,也是我们能较快掌握的原因之一。? 在学习linux的工程中,linux学习方法有很多种,这里是小编的学习心得,给大家拿出来分享一下。 熟读Linux系统有关知识,如系统目录树,有关内容可购书阅读或搜索论坛。 Linux高手更具有鼓励新手的文化精神。如何在Linux社区获得帮助,需要说明的是你要有周全的思考,准备好你的问题,不要草率的发问。 生成新的unispimsp.ksc。”另外得到回复后如果问题解决,向帮助过你的人发个说明,让他们知道问题是怎样解决的。 硬盘安装及光盘安装,清楚了解安装Linux应注意的有关问题,如安装Linux应在最后一个分区内,至少分二个分区。
页:
[1]