- 浏览: 788485 次
- 性别:
- 来自: 西安
文章分类
最新评论
-
mushme:
W.sl 写道大神:http://mushme.iteye.c ...
用python自动登录iteye -
W.sl:
大神:http://mushme.iteye.com/logi ...
用python自动登录iteye -
mushme:
jilong-liang 写道 public static v ...
选择一个好的驾校,用数据说话,我用python -
jilong-liang:
package sm;import java.net.URL; ...
选择一个好的驾校,用数据说话,我用python -
sunshine_bean:
非常感谢
jsvc将tomcat配置成服务
Nagios是一款非常流程的监控系统,不但可以监控系统的基本情况,也可以监控应用的情况,我假设你已经安装了nginx和php。并且php也安装了gd支持。
本文中涉及的文件都已经在附件中了。
nagios依赖php和perl,所以先装下perl环境
1.安装fcgi模块
2.安装fcgi-procmanager模块
3.安装IO和IO::ALL模块
4.下载perl脚本,用来产品perl的fast-cgi接口,让nginx以CGI的形式来处理perl
在nginx的目录下解压perl-fcgi.zip,不用做修改
修改权限为755
5.建立一个cgi启动/停止的脚本,用来管理上面的脚本,用户身份是nginx,需要根据自己的实际用户来修改
修改权限为可以运行:
启动此脚本:
6.下面开始安装nagios,先创建一个nagios帐号
创建一个名为nagcmd的用户组,用于从web接口执行外部命令。
将Nagios用户和Nginx用户加入组中。
开始正式安装
给解释下:
make install 用于安装主要的程序、CGI及HTML文件
make install-init 用于生成init启动脚本
make install-config 用于安装示例配置文件
make install-commandmode 用于设置相应的目录权限
验证是否安装成功,到/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–用来存放外部命令文件
7.生成nagios的web访问帐号
修改Nagios配置文件,给新增的用户增加访问权限
vi /usr/local/nagios/etc/cgi.cfg
#以下几项中分别加入新增的用户,多用户用逗号分隔。
authorized_for_system_information=nagiosadmin,frady
authorized_for_configuration_information=nagiosadmin,frady
authorized_for_system_commands=nagiosadmin,frady
authorized_for_all_services=nagiosadmin,frady
authorized_for_all_hosts=nagiosadmin,frady
authorized_for_all_service_commands=nagiosadmin,frady
authorized_for_all_host_commands=nagiosadmin,frady
8.编译安装nagios插件
Nagios的功能大部分是由其插件提供的
ls /usr/local/nagios/libexec
显示安装的插件文件,即所有的插件都安装在libexec这个目录下。
9.启动nagios
启动前先检查下配置文件是否正确
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg 如果没有报错,可以启动Nagios服务
/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg 查看Nagios运行状态
/usr/local/nagios/bin/nagiostats
--------------------------------完成了?------------------------------------
没有,只是喘口气,继续
10.安装npre(被监测的服务器上需要安装)
由于nagios只能检测本机的信息,如果需要监测其它服务器,就需要安装npre
Npre通过ssh在服务期间传递数据,所以需要服务器安装ssh相关的包
yum -y install ssl*
yum -y install openssl*
编译安装NRPE
注:监控主机上只需要make install-plugin这一步就可以了。监控机上只要有一个check_nrpe插件用于连接被监控端nrpe的daemon就行了。
启动NRPE
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d 验证NRPE是否正确安装
/usr/local/nagios/libexec/check_nrpe -H localhost
注:如果成功,会返回NRPE的版本号。
修改NRPE配置文件,让监控主机可以访问被监控主机的NRPE。
缺省NRPE配置文件中只允许本机访问NRPE的Daemon
vi /usr/local/nagios/etc/nrpe.cfg
#缺省为127.0.0.1,只能本机访问
allowed_hosts=192.168.1.108 6、重启nrpe的方法
killall nrpe
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
11.配置下nginx
这次真的装完了
12.启动监视
启动perl
/etc/nginx/start_perl_cgi.sh start
启动nagios
/usr/local/nagios/bin/nagiostats
重启npre
killall nrpe
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
重启nginx
/etc/init.d/nginx reload
注:如果你的fastcgi的配置文件中没有配置REMOTE_USER参数,一定要在nginx.conf中加上下面这个fastcgi的参数定义。
fastcgi_param REMOTE_USER $remote_user;
如果没有这个fastcgi的参数定义,Nagios就不能正确验证你的登陆信息。网上大多数文章解决Nginx下Nagios登陆验证失败的方法 都是在Nagios的cgi.cfg配置文件(nagios/etc/cgi.cfg)中关掉验证(use_authentication=0)或设置一 个缺省的登陆用户(default_user_name=test),这两种方法都是不安全的。
本文中涉及的文件都已经在附件中了。
nagios依赖php和perl,所以先装下perl环境
1.安装fcgi模块
tar -zxvf FCGI-0.73.tar.gz cd FCGI-0.73 perl Makefile.PL make make install
2.安装fcgi-procmanager模块
tar -zxvf FCGI-ProcManager-0.19.tar.gz cd FCGI-ProcManager-0.19 perl Makefile.PL make make install
3.安装IO和IO::ALL模块
tar -zxvf IO-1.25.tar.gz cd IO-1.25 perl Makefile.PL make make install
tar -zxvf IO-All-0.41.tar.gz cd IO-All-0.41 perl Makefile.PL make make install
4.下载perl脚本,用来产品perl的fast-cgi接口,让nginx以CGI的形式来处理perl
在nginx的目录下解压perl-fcgi.zip,不用做修改
unzip perl-fcgi.zip
修改权限为755
chmod 755 /etc/nginx/conf/perl-fcgi.pl
5.建立一个cgi启动/停止的脚本,用来管理上面的脚本,用户身份是nginx,需要根据自己的实际用户来修改
vi /etc/nginx/conf/start_perl_cgi.sh #!/bin/bash #set -x #此处需要根据实际情况进行修改 dir=/etc/nginx/ stop () { #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 nginx.nginx $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 nginx.nginx $dir/now_start_perl_fcgi.sh chmod u+x $dir/now_start_perl_fcgi.sh sudo -u nginx $dir/now_start_perl_fcgi.sh echo "start perl-fcgi done" } case $1 in stop) stop ;; start) start ;; restart) stop start ;; esac
修改权限为可以运行:
chmod 755 /etc/nginx/conf/start_perl_cgi.sh
启动此脚本:
/etc/nginx/conf/start_perl_cgi.sh start
6.下面开始安装nagios,先创建一个nagios帐号
/usr/sbin/useradd -m -s /sbin/nologin nagios
创建一个名为nagcmd的用户组,用于从web接口执行外部命令。
将Nagios用户和Nginx用户加入组中。
groupadd nagcmd usermod -a -G nagcmd nagios usermod -a -G nagcmd nginx
开始正式安装
tar zxvf nagios-3.2.3.tar.gz cd nagios-3.2.3 ./configure --with-command-group=nagcmd make make all make install make install-init make install-config make install-commandmode
给解释下:
make install 用于安装主要的程序、CGI及HTML文件
make install-init 用于生成init启动脚本
make install-config 用于安装示例配置文件
make install-commandmode 用于设置相应的目录权限
验证是否安装成功,到/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–用来存放外部命令文件
7.生成nagios的web访问帐号
htpasswd -c /usr/local/nagios/etc/nagiospasswd frady
修改Nagios配置文件,给新增的用户增加访问权限
vi /usr/local/nagios/etc/cgi.cfg
#以下几项中分别加入新增的用户,多用户用逗号分隔。
authorized_for_system_information=nagiosadmin,frady
authorized_for_configuration_information=nagiosadmin,frady
authorized_for_system_commands=nagiosadmin,frady
authorized_for_all_services=nagiosadmin,frady
authorized_for_all_hosts=nagiosadmin,frady
authorized_for_all_service_commands=nagiosadmin,frady
authorized_for_all_host_commands=nagiosadmin,frady
8.编译安装nagios插件
Nagios的功能大部分是由其插件提供的
tar zxvf nagios-plugins-1.4.15.tar.gz cd nagios-plugins-1.4.15 ./configure --with-nagios-user=nagios --with-nagios-group=nagios make make install 验证Nagios插件是否正确安装
ls /usr/local/nagios/libexec
显示安装的插件文件,即所有的插件都安装在libexec这个目录下。
9.启动nagios
启动前先检查下配置文件是否正确
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg 如果没有报错,可以启动Nagios服务
/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg 查看Nagios运行状态
/usr/local/nagios/bin/nagiostats
--------------------------------完成了?------------------------------------
没有,只是喘口气,继续
10.安装npre(被监测的服务器上需要安装)
由于nagios只能检测本机的信息,如果需要监测其它服务器,就需要安装npre
Npre通过ssh在服务期间传递数据,所以需要服务器安装ssh相关的包
yum -y install ssl*
yum -y install openssl*
编译安装NRPE
tar zxvf nrpe-2.12.tar.gz cd nrpe-2.12 ./configure make all make install-plugin make install-daemon make install-daemon-config
注:监控主机上只需要make install-plugin这一步就可以了。监控机上只要有一个check_nrpe插件用于连接被监控端nrpe的daemon就行了。
启动NRPE
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d 验证NRPE是否正确安装
/usr/local/nagios/libexec/check_nrpe -H localhost
注:如果成功,会返回NRPE的版本号。
修改NRPE配置文件,让监控主机可以访问被监控主机的NRPE。
缺省NRPE配置文件中只允许本机访问NRPE的Daemon
vi /usr/local/nagios/etc/nrpe.cfg
#缺省为127.0.0.1,只能本机访问
allowed_hosts=192.168.1.108 6、重启nrpe的方法
killall nrpe
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
11.配置下nginx
server{ listen 80; server_name nagios.frady.info; root /usr/local/nagios/share/;#设置网站根目录 auth_basic " 119 Nagios Access"; auth_basic_user_file /usr/local/nagios/etc/nagiospasswd; location / { index index.Html index.html index.htm index.php; } location ~ \.php$ { root /usr/local/nagios/share; #include fastcgi_params;#fastcgi.conf fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi.conf; #fastcgi_param SCRIPT_FILENAME /web/mantis$fastcgi_script_name; } location ~ .*\.(cgi|pl)?$ { gzip off; root /usr/local/nagios/sbin; rewrite ^/nagios/cgi-bin/(.*)\.cgi /$1.cgi break; fastcgi_pass unix:/etc/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; fastcgi_param REMOTE_USER $remote_user; } location /nagios { alias /usr/local/nagios/share; auth_basic "Nagios Access"; auth_basic_user_file /usr/local/nagios/etc/nagiospasswd; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { rewrite ^/nagios/images/(.*) /images/$1 break; expires 30d; } location ~ .*\.(js|css)?$ { rewrite ^/nagios/stylesheets/(.*) /stylesheets/$1 break; expires 1h; } }
这次真的装完了
12.启动监视
启动perl
/etc/nginx/start_perl_cgi.sh start
启动nagios
/usr/local/nagios/bin/nagiostats
重启npre
killall nrpe
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
重启nginx
/etc/init.d/nginx reload
注:如果你的fastcgi的配置文件中没有配置REMOTE_USER参数,一定要在nginx.conf中加上下面这个fastcgi的参数定义。
fastcgi_param REMOTE_USER $remote_user;
如果没有这个fastcgi的参数定义,Nagios就不能正确验证你的登陆信息。网上大多数文章解决Nginx下Nagios登陆验证失败的方法 都是在Nagios的cgi.cfg配置文件(nagios/etc/cgi.cfg)中关掉验证(use_authentication=0)或设置一 个缺省的登陆用户(default_user_name=test),这两种方法都是不安全的。
- c.zip (5.7 MB)
- 下载次数: 23
发表评论
-
nginx代理其它网站内容做镜像
2015-09-11 14:45 1135mark两个代理的内容 可以将www.ccc.com和www. ... -
python连接mysql
2013-10-14 16:06 1168linux基本上都自带了pytho ... -
域名切换用nginx做301
2013-09-18 13:21 1233域名切换没法避免,但流量不能给损失了,用神器nginx来搞定。 ... -
用iptable来实现调度
2013-07-02 15:53 1911最简单的iptables iptables -F INPUT ... -
ip别名设置
2013-07-02 14:54 3332ip别名允许在一个网卡上,建立ip的别名,也就是一个网卡有多个 ... -
webbench安装
2013-06-16 21:19 9581.安装ctags wget http://prdownloa ... -
nginx自动生成缩略图
2013-05-21 14:28 2572网站上常常一张图片,多个地方需要使用不同的尺寸,一般的方案是上 ... -
nginx禁止绑定非法域名
2013-01-28 18:31 3670总有些人,会把自己的域名绑到你的主机上。 出于什么原因,我没想 ... -
nginx中server_name的匹配顺序
2013-01-23 08:48 15032nginx中的server_name指令主要用于配置基于名称虚 ... -
破解php一句话
2013-01-05 22:38 1252一句话这东西在好多人手里几乎成了神器,给你一个简单的办法,碾碎 ... -
centos免密码使用密钥登录
2012-12-22 18:41 9993用密码登录总是不大安 ... -
centos忘记密码
2012-12-13 12:07 992centos忘记密码了,还是有办法的,前提是你必须在这个机器面 ... -
linux按照时间查找文件
2012-11-21 10:56 1749需要用到一个根据最后修改时间来处理的脚本。 前面有个有关fin ... -
用rsync进行文件同步
2012-09-12 16:49 1558实现将文件从10.0.80.194/rsync/www/的文件 ... -
php重启
2012-08-24 21:48 1092killall -9 php-cgi -
linux /etc下的passwd和shadow文件详解
2012-08-19 09:34 1867在更改文件权限之前,首先先必须认识文件权限下的拥有者和拥有组的 ... -
普通身份运行tomcat
2012-08-18 12:29 7563su - username -c “command”这样的形式 ... -
自动删除文件的脚本
2012-08-18 10:14 2365linux是一个很能自动产生文件的系统,日志、邮件、备份等。所 ... -
NFS参数说明
2012-08-08 16:50 1448/etc/exports是导出目录的说明清单, 格式:目录 客 ... -
tomcat报错:java.io.IOException: Too many open files
2012-08-07 16:34 10591. 使用ps -ef |grep java (java代 ...
相关推荐
在IT监控领域,Nagios、Cacti和NPC是三个非常重要的工具,它们分别用于系统监控、网络性能监控和Nagios配置管理。这里我们将深入探讨这三个工具以及它们所需的软件环境。 首先,Nagios是一款开源的企业级系统、网络...
在构建Linux服务器监控平台时,使用Nagios和Nginx的组合是一个高效且可靠的选择。Nagios是一款强大的网络监控系统,能够检测各种服务的状态,包括主机、网络设备和服务,确保系统的稳定运行。Nginx则是一款高性能的...
【构建Linux下的Nginx+Nagios监控平台】 在当今的企业环境中,Linux服务器的稳定性和可用性至关重要。为了确保线上服务的顺畅运行,需要有一套可靠的监控系统来实时监测服务状态,一旦发现问题能够及时报警。Nagios...
《Nagios监控安装配置详解》 Nagios是一款开源的网络监控系统,它能够对网络服务、主机、网络设备以及各种应用程序进行实时监控,确保IT基础设施的稳定运行。本文档详细介绍了Nagios的安装配置过程,包括监控插件的...
部署监控工具,如Nagios、Zabbix等,实时监测服务器状态,及时发现并解决问题。 通过以上步骤,我们可以构建一个基本的集群Web环境。然而,实际应用中可能还需要考虑更多因素,如安全配置、负载均衡策略、故障切换...
通过以上步骤,我们可以成功地在Linux环境下安装配置Nagios,并扩展其功能以支持对Linux和Windows系统的监控以及通过飞信进行报警。这一系列操作不仅提高了系统的可用性和响应速度,也为系统管理员提供了更全面的...
在这里,可以添加新的监控目标(如本机和192.168.50.37服务器),配置监控服务,并利用Nagios的监控数据进行可视化展示。 总结,Nagios与Cacti的整合涉及到安装多个组件,包括数据库、Web服务器、PHP和监控工具。...
- **最新版本**:Ubuntu 配置 MRTG 监控 Nginx 和服务器系统资源,此版本发布于三年前。 - **功能**: - 网络流量监控; - 图形化展示; - 配合其他工具实现更复杂监控需求。 #### 系统信息采集和监控工具Tsar ...
在构建高效的Web服务环境中,PHP和Nginx的组合是一个常用的选择,因其性能优秀、配置灵活而备受开发者青睐。本文将深入探讨如何更快捷、更方便地进行PHP与Nginx环境的定制化,以便更好地满足开发和部署需求。 首先...
9. **故障转移与监控**:了解如何设置健康检查,当后端服务器出现问题时自动切换,以及使用第三方工具如Nagios、Prometheus等对Nginx进行监控。 10. **性能调优**:学习如何调整Nginx的配置参数以优化性能,如最大...
Nagios是一款强大的网络监控系统,它能够实时监控网络服务、服务器和网络设备的状态,当出现问题时,Nagios会立即发出警告,帮助管理员及时发现并处理故障。Cacti则是一款开源的网络流量监控图形界面工具,主要用于...
1. **安装依赖**:Nagios和Cacti运行所需的软件包,例如MySQL服务器(用于存储监控数据)、PHP(用于Cacti的Web接口)以及Apache或Nginx(作为Web服务器)。 2. **配置Nagios**:设置Nagios服务器,包括定义监控主机...
描述中提到“配合Nagios进行分布式监控预警”,这表示本配置不仅是关于Ganglia本身的安装与配置,还涉及与另一个监控工具Nagios的整合。Nagios是一个功能强大的监控工具,可用于监控系统、网络和服务。通过将Ganglia...
在监控方面,Nagios作为一款开源的监控工具,可以监控Nginx的状态,及时发现并处理问题,保证网站服务的稳定运行。 总体而言,Nginx凭借其高性能和灵活性,在现代Web架构中扮演了非常重要的角色。从反向代理到负载...
`uptime`, `top`, `vmstat`, `mpstat`, `htop`等)、内存监控(`free -m`)、硬盘监控(`df -h`, `iotop`)、网络监控(`iftop`, `netstat`, `ss`)以及应用服务监控(如NFS、MySQL、Nginx、Apache、PHP、rsync等)...
通过监控 Nginx 的运行状态,可以及时发现并解决问题,常用工具包括 Nginx 的 status 模块、第三方监控软件如 Nagios、Prometheus 等。 十六、常见问题与错误处理 遇到 Nginx 问题时,首先要检查日志文件,然后...
### 关于Nagios及其在Linux网络监控中的应用 #### 什么是Nagios? Nagios是一款非常强大且流行的开源项目,主要用于Linux系统的网络监控。它由Ethan Galstad创建并维护,支持对主机和服务的状态进行监控,并在状态...