草庐IT

搭建基于nginx环境的nagios监控系统

cyr520 2023-03-28 原文
    搭建基于apache的nagios系统比较容易,网上的资料也比较多。可是在nginx环境下就有点费劲了,因为nginx本身不支持CGI,所以需要在三方程序的配合下,才能实现CGI的解析。

    本文只讲述安装部分,有机会再给大家补上配置部分。下面就开始学习在nginx环境下安装,安装nagios监控系统。

准备工作:

  • 下载安装包:
  1. wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.4.1.tar.gz  
  2. wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.16.tar.gz  
  3. wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.13.tar.gz  
  4. wget http://www.cpan.org/modules/by-module/FCGI/FCGI-0.67.tar.gz  
  5. wget http://search.cpan.org/CPAN/authors/id/G/GB/GBJK/FCGI-ProcManager-0.18.tar.gz  
  6. wget http://search.cpan.org/CPAN/authors/id/G/GB/GBARR/IO-1.25.tar.gz  
  7. wget http://search.cpan.org/CPAN/authors/id/I/IN/INGY/IO-All-0.39.tar.gz 
  • 添加相关用户:
  1. groupadd nagios  
  2. useradd -g nagios nagios 
开始安装:

  • 编译安装nagios:
  1. tar zxvf nagios-3.4.1.tar.gz  
  2. cd nagios  
  3. ./configure --prefix=/data/app/nagios --with-nagios-user=nagios --with-nagios-group=nagios  
  4. make all 
  5. make install  
  6. make install-init  
  7. make install-commandmode  
  8. make install-config  
  9. cd .. 
  • 编译安装nagios插件:
  1. tar zxvf nagios-plugins-1.4.16.tar.gz  
  2. cd nagios-plugins-1.4.16  
  3. ./configure --prefix=/data/app/nagios --with-nagios-user=nagios --with-nagios-group=nagios  
  4. make  
  5. make install  
  6. cd .. 
  • 编译安装nrpe:
  1. tar zxvf nrpe-2.13.tar.gz  
  2. cd nrpe-2.13  
  3. ./configure --prefix=/data/app/nagios --with-nrpe-user=nagios --with-nrpe-group=nagios  
  4. make  
  5. make install  
  6. cd .. 
  • 安装perl,CGI脚本是用perl实现的:
  1. yum install perl 
  • 编译安装perl脚本所需要调用的组件:
  1. tar zxvf FCGI-0.67.tar.gz  
  2. cd FCGI-0.67  
  3. perl Makefile.PL  
  4. make  
  5. make install  
  6. cd ..  
  7.  
  8. tar zxvf FCGI-ProcManager-0.18.tar.gz  
  9. cd FCGI-ProcManager-0.18  
  10. perl Makefile.PL  
  11. make  
  12. make install  
  13. cd ..  
  14.  
  15. tar zxvf IO-1.25.tar.gz  
  16. cd IO-1.25  
  17. perl Makefile.PL  
  18. make  
  19. make install  
  20.  
  21. tar zxvf IO-All-0.39.tar.gz  
  22. cd IO-All-0.39  
  23. perl Makefile.PL  
  24. make  
  25. make install 
  • 下载并配置可是实现CGI解析的脚本:
  1. cd /data/app/nginx/sbin/  
  2. wget http://www.linux8080.com/perl-fcgi.pl  
  3. chmod +x perl-fcgi.pl  
  4. chown nginx.nginx perl-fcgi.pl  
  5. /data/app/nginx/sbin/perl-fcgi.pl -pid /var/run/nginx-fcgi.pid -S /var/run/nginx-fcgi.sock -l /var/log/perl-fcgi.log  
  6. cd /var/run  
  7. chmod 777 nginx-fcgi.sock 
  • 创建登录nagios的用户账户和密码文件:
  1. cd /data/app/nagios/etc/  
  2. htpasswd -c htpasswd nagios 
  • 配置nginx虚拟主机并重启:
  1. server {  
  2. listen 80;  
  3. server_name 10.10.10.200;  
  4. index index.html index.htm index.php;  
  5. root /data/www/html;  
  6. location ~ .*\.(cgi|pl)?$  
  7. {  
  8. gzip off;  
  9. root /data/app/nagios/sbin;  
  10. rewrite ^/nagios/cgi-bin/(.*)\.cgi /$1.cgi break;  
  11. fastcgi_pass unix:/var/run/nginx-fcgi.sock;  
  12. fastcgi_param SCRIPT_FILENAME /data/app/nagios/sbin$fastcgi_script_name;  
  13. fastcgi_index index.cgi;  
  14. fastcgi_read_timeout 60;  
  15. fastcgi_param REMOTE_USER $remote_user;  
  16. include fcgi.conf;  
  17. }  
  18. location ~ ^/nagios/.+\.php$  
  19. {  
  20. fastcgi_pass 127.0.0.1:9000;  
  21. fastcgi_index index.php;  
  22. include fcgi.conf;  
  23. auth_basic "Nagios Access";  
  24. auth_basic_user_file /data/app/nagios/etc/htpasswd;  
  25. }  
  • 创建软连接:
  1. ln -s /data/app/nagios/share /data/www/html/nagios 
  • 测试登录:

登录后的界面如下:

注意:文中所涉及到的一部分安装包,下载链接可能会失效。大家请从我的附件下载。

如果大家安装有问题的话,请及时联系我!!

有关搭建基于nginx环境的nagios监控系统的更多相关文章

  1. ruby-on-rails - 如何优雅地重启 thin + nginx? - 2

    我的瘦服务器配置了nginx,我的ROR应用程序正在它们上运行。在我发布代码更新时运行thinrestart会给我的应用程序带来一些停机时间。我试图弄清楚如何优雅地重启正在运行的Thin实例,但找不到好的解决方案。有没有人能做到这一点? 最佳答案 #Restartjustthethinserverdescribedbythatconfigsudothin-C/etc/thin/mysite.ymlrestartNginx将继续运行并代理请求。如果您将Nginx设置为使用多个上游服务器,例如server{listen80;server

  2. ruby-on-rails - 在 Rails 开发环境中为 .ogv 文件设置 Mime 类型 - 2

    我正在玩HTML5视频并且在ERB中有以下片段:mp4视频从在我的开发环境中运行的服务器很好地流式传输到chrome。然而firefox显示带有海报图像的视频播放器,但带有一个大X。问题似乎是mongrel不确定ogv扩展的mime类型,并且只返回text/plain,如curl所示:$curl-Ihttp://0.0.0.0:3000/pr6.ogvHTTP/1.1200OKConnection:closeDate:Mon,19Apr201012:33:50GMTLast-Modified:Sun,18Apr201012:46:07GMTContent-Type:text/plain

  3. 叮咚买菜基于 Apache Doris 统一 OLAP 引擎的应用实践 - 2

    导读:随着叮咚买菜业务的发展,不同的业务场景对数据分析提出了不同的需求,他们希望引入一款实时OLAP数据库,构建一个灵活的多维实时查询和分析的平台,统一数据的接入和查询方案,解决各业务线对数据高效实时查询和精细化运营的需求。经过调研选型,最终引入ApacheDoris作为最终的OLAP分析引擎,Doris作为核心的OLAP引擎支持复杂地分析操作、提供多维的数据视图,在叮咚买菜数十个业务场景中广泛应用。作者|叮咚买菜资深数据工程师韩青叮咚买菜创立于2017年5月,是一家专注美好食物的创业公司。叮咚买菜专注吃的事业,为满足更多人“想吃什么”而努力,通过美好食材的供应、美好滋味的开发以及美食品牌的孵

  4. 电脑0x0000001A蓝屏错误怎么U盘重装系统教学 - 2

      电脑0x0000001A蓝屏错误怎么U盘重装系统教学分享。有用户电脑开机之后遇到了系统蓝屏的情况。系统蓝屏问题很多时候都是系统bug,只有通过重装系统来进行解决。那么蓝屏问题如何通过U盘重装新系统来解决呢?来看看以下的详细操作方法教学吧。  准备工作:  1、U盘一个(尽量使用8G以上的U盘)。  2、一台正常联网可使用的电脑。  3、ghost或ISO系统镜像文件(Win10系统下载_Win10专业版_windows10正式版下载-系统之家)。  4、在本页面下载U盘启动盘制作工具:系统之家U盘启动工具。  U盘启动盘制作步骤:  注意:制作期间,U盘会被格式化,因此U盘中的重要文件请注

  5. 【鸿蒙应用开发系列】- 获取系统设备信息以及版本API兼容调用方式 - 2

    在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList​()Obt

  6. Vscode+Cmake配置并运行opencv环境(Windows和Ubuntu大同小异) - 2

    之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m

  7. Observability:从零开始创建 Java 微服务并监控它 (二) - 2

    这篇文章是继上一篇文章“Observability:从零开始创建Java微服务并监控它(一)”的续篇。在上一篇文章中,我们讲述了如何创建一个Javaweb应用,并使用Filebeat来收集应用所生成的日志。在今天的文章中,我来详述如何收集应用的指标,使用APM来监控应用并监督web服务的在线情况。源码可以在地址 https://github.com/liu-xiao-guo/java_observability 进行下载。摄入指标指标被视为可以随时更改的时间点值。当前请求的数量可以改变任何毫秒。你可能有1000个请求的峰值,然后一切都回到一个请求。这也意味着这些指标可能不准确,你还想提取最小/

  8. 基于C#实现简易绘图工具【100010177】 - 2

    C#实现简易绘图工具一.引言实验目的:通过制作窗体应用程序(C#画图软件),熟悉基本的窗体设计过程以及控件设计,事件处理等,熟悉使用C#的winform窗体进行绘图的基本步骤,对于面向对象编程有更加深刻的体会.Tutorial任务设计一个具有基本功能的画图软件**·包括简单的新建文件,保存,重新绘图等功能**·实现一些基本图形的绘制,包括铅笔和基本形状等,学习橡皮工具的创建**·设计一个合理舒适的UI界面**注明:你可能需要先了解一些关于winform窗体应用程序绘图的基本知识,以及关于GDI+类和结构的知识二.实验环境Windows系统下的visualstudio2017C#窗体应用程序三.

  9. kvm虚拟机安装centos7基于ubuntu20.04系统 - 2

    需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc

  10. ruby-on-rails - ruby gem如何在rails环境下工作 - 2

    我试图在rails中了解rubygems是如何变得可以自动使用的,而不是在使用required的文件中gem? 最佳答案 这是通过bundler/setup完成的:http://bundler.io/v1.3/bundler_setup.html.它在您的config/boot.rb文件中是必需的。简而言之,它首先将环境变量设置为指向您的Gemfile:ENV['BUNDLE_GEMFILE']||=File.expand_path('../../Gemfile',__FILE__)然后它通过要求bundler/setup将所有ge

随机推荐