安装nagios框架
来源:互联网 发布:mac放置文件 编辑:程序博客网 时间:2024/06/05 16:00
一、给Nginx加上对Perl的CGI支持
1,安装FCGI模块
wget http://search.cpan.org/CPAN/authors/id/F/FL/FLORA/FCGI-0.73.tar.gztar xvzf FCGI-0.73.tar.gzcd FCGI-0.73perl Makefile.PLmakemake installcd ..
2、安装FCGI-ProcManager模块
wget http://search.cpan.org/CPAN/authors/id/G/GB/GBJK/FCGI-ProcManager-0.19.tar.gztar xvzf FCGI-ProcManager-0.19.tar.gzcd FCGI-ProcManager-0.19perl Makefile.PLmakemake installcd ..
3、安装IO和IO::ALL模块
wget http://search.cpan.org/CPAN/authors/id/G/GB/GBARR/IO-1.25.tar.gztar zxvf IO-1.25.tar.gzcd IO-1.25perl Makefile.PLmakemake installcd ..wget http://search.cpan.org/CPAN/authors/id/I/IN/INGY/IO-All-0.41.tar.gztar zxvf IO-All-0.41.tar.gzcd IO-All-0.41perl Makefile.PLmakemake installcd ..
下载Perl脚本
这个脚本的目的就是产生一个PERL的FastCGI接口,让Nginx可以以CGI方式处理Perl。
wget http://www.mike.org.cn/wp-content/uploads/2011/07/perl-fcgi.zip
un zip perl-fcgi.zip
cp perl-fcgi.pl /usr/local/webserver/nginx/
注:建议把这个脚本放在Nginx安装目录。
修改脚本权限
chmod 755 /usr/local/webserver/nginx/perl-fcgi.pl
5、建立一个CGI启动/停止脚本
这个SHELL脚本只是为了方便管理上面的Perl脚本。脚本中的www为nginx的运行用户,请据自己的实际情况调整。
注意事项:不能用root用户执行(会提示). 要用与Nginx相同身份的用户执行。否则可能会在Nginx Log中提示 Permision Denied。
#!/bin/bash#set -xdir=/home/fupeng/nginxstop (){ #pkill -f $dir/perl-fcgi.pl kill $(cat $dir/logs/perl-fcgi.pid) rm $dir/logs/perl-fcgi.pid 2>/dev/null rm $dir/logs/perl-fcgi.sock 2>/dev/null echo "stop perl-fcgi done"}start (){ rm $dir/now_start_perl_fcgi.sh 2>/dev/null chown work.work $dir/logs echo "$dir/perl-fcgi.pl -l $dir/logs/perl-fcgi.log -pid $dir/logs/perl-fcgi.pid -S $dir/logs/perl-fcgi.sock" >>$dir/now_start_perl_fcgi.sh chown work.work $dir/now_start_perl_fcgi.sh chmod u+x $dir/now_start_perl_fcgi.sh sudo -u work $dir/now_start_perl_fcgi.sh echo "start perl-fcgi done"}case $1 in stop) stop ;; start) start ;; restart) stop start ;;esac
修改SHELL脚本权限
chmod 755 /usr/local/webserver/nginx/start_perl_cgi.sh
启动脚本
/usr/local/webserver/nginx/start_perl_cgi.sh start
正常情况下在/usr/local/webserver/nginx/logs下生成perl-fcgi.sock这个文件,如果没有生成,请检查下上面的步聚。
二、安装Nagios
A、安装前准备
安装的机器上必须有一个WEB服务,本文是在Nginx环境上安装的。
下载nagios主程序和相关插件程序包
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.3.tar.gzwget http://nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gzwget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz
安装GD库(Nagios中的statusmap和trends模块必须)
yum install gd-devel
B、Nagios监控端安装
1、创建Nagios用户及组
建立Nagios账号
/usr/sbin/useradd -m -s /sbin/nologin nagios
2、创建一个名为nagcmd的用户组,用于从web接口执行外部命令。将Nagios用户和Nginx用户加入组中。
groupadd nagcmdusermod -a -G nagcmd nagiosusermod -a -G nagcmd work
3、编译安装Nagios
tarzxvf nagios-3.2.3.tar.gzcd nagios-3.2.3./configure --with-command-group=nagcmdmakemake allmake installmake install-initmake install-configmake install-commandmode#这里是在Nginx下运行Nagios,这一步就不用做了make install-webconfcd ..
注:
make install 用于安装主要的程序、CGI及HTML文件
make install-init 用于生成init启动脚本
make install-config 用于安装示例配置文件
make install-commandmode 用于设置相应的目录权限
make install-webconf 用于安装Apache配置文件
4、验证程序是否被正确安装
切换目录到安装路径,这里是/usr/local/nagios,看是否存在etc、bin、 sbin、 share、 var这五个目录,如果存在则可以表明程序被正确的安装到系统了。
注;bin–Nagios执行程序所在目录,其中的nagios文件即为主程序。
etc–Nagios配置文件位置
sbin–Nagios cgi文件所在目录,也就是执行外部命令所需文件所在的目录
Share–Nagios网页文件所在的目录
var–Nagios日志文件、spid 等文件所在的目录
var/archives–日志归档目录
var/rw–用来存放外部命令文件
5、配置NGINX
1)、配置Nagios Web界面登陆帐号及密码
htpasswd -c /usr/local/nagios/etc/nagiospasswd mike
如果你没有htpasswd(这个工具由Apache安装包所提供),可在线生成需要加密数据。
a)、访问http://www.4webhelp.net/us/password.php生成需要加密数据
b)、创建加密验证文件
vi /usr/local/nagios/etc/nagiospasswd#加入生成的加密数据,冒号前是用户名,后面是加密后的密码mike:25JB.R7mXY96o
修改Nagios配置文件,给新增的用户增加访问权限
vi /usr/local/nagios/etc/cgi.cfg#以下几项中分别加入新增的用户,多用户用逗号分隔。authorized_for_system_information=nagiosadmin,mikeauthorized_for_configuration_information=nagiosadmin,mikeauthorized_for_system_commands=nagiosadmin,mikeauthorized_for_all_services=nagiosadmin,mikeauthorized_for_all_hosts=nagiosadmin,mikeauthorized_for_all_service_commands=nagiosadmin,mikeauthorized_for_all_host_commands=nagiosadmin,mike
2)、修改NGINX配置,以支持WEB方式访问Nagios
方法一:以http://ip方式访问
NGINX配置片断如下
server { listen 80; server_name localhost; #access_log logs/host.access.log main; location / { root /usr/local/nagios/share; index index.html index.htm; } location ~ .*\.(cgi|pl)?$ { gzip off; root /usr/local/nagios/sbin; rewrite ^/nagios/cgi-bin/(.*)\.cgi /$1.cgi break; fastcgi_pass unix:/home/fupeng/nginx/logs/perl-fcgi.sock; fastcgi_param SCRIPT_FILENAME /usr/local/nagios/sbin$fastcgi_script_name; fastcgi_index index.cgi; fastcgi_read_timeout 60; fastcgi_param REMOTE_USER $remote_user; include fastcgi.conf; #auth_basic "Nagios Access"; #auth_basic_user_file /usr/local/nagios/etc/nagiospasswd; } location /nagios { alias /usr/local/nagios/share; #auth_basic "Nagios Access"; #auth_basic_user_file /usr/local/nagios/etc/nagiospasswd; } location ~ \.php$ { root /usr/local/nagios/share; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }}
如果没有这个fastcgi的参数定义,Nagios就不能正确验证你的登陆信息。网上大多数文章解决Nginx下Nagios登陆验证失败的方法都是在Nagios的cgi.cfg配置文件(nagios/etc/cgi.cfg)中关掉验证(use_authentication=0)或设置一个缺省的登陆用户(default_user_name=test),这两种方法都是不安全的。
安装到这里 可以在浏览器上看一下 ,能不能进入 nagios的控制台。
。
现在的Nagios还只是个框架,即没有监控服务 ,也没有监控别的远程机器。 更多说明看这位大神的帖子。
http://www.cnblogs.com/mchina/archive/2013/02/20/2883404.html
- 安装nagios框架
- 安装Nagios
- nagios 安装
- nagios 安装
- nagios安装
- nagios安装
- 安装nagios
- nagios 安装
- nagios安装
- Nagios安装
- 安装NAGIOS
- nagios 安装
- nagios安装
- nagios安装
- nagios安装
- Nagios安装
- nagios安装
- nagios 安装
- C++类对象成员变量与成员函数内存分配问题
- 大话设计模式C++版——观察者模式
- 《程序员的自我修养》读书笔记4
- VS2012下创建使用.lib文件
- LeetCode | Contains Duplicate
- 安装nagios框架
- html 基础
- Java中的匿名内部类:由setOnClickListener说起
- SQLite数据库中的数据类型
- 基于Mahout的电影推荐系统
- DOS命令
- JavaWeb工程中web.xml基本配置
- C++创建对象的两种方法
- QT获取时间