• Centos部署nagios+apache实现服务器监控


    1.Nagios介绍

      nagios是 一款功能强大的网络监视工具,它可以有效的监控windows、linux、unix主机状态以及路由器交换机的网络设置,打印机工作状态等,并将状态出 现异常的服务及时以邮件、msn短信等形式第一时间通告管理员。由于它是一款遵循GPLv2的开源网络监控软件,以其出色的性能低廉的使用成本,深受广大 用户的好评。

    2.安装前提

    2. 1确定是否有以下组件:

    gcc glibc glibc-common gd gd-devel xinetd openssl-devel 

      proc-devel pcre-devel perl  libxml2-devel

      直接通过yum安装:

    yum install -y gcc glibc glibc-common gd gd-devel xinetd openssl-devel proc-devel pcre-devel perl libxml2-devel

    3.安装nagios,nagios-plugin

      创建nagios用户

      #  adduser nagios

      安装nagios

      #  tar xvf nagios-cn-3.2.0.tar

      #  cd nagios-cn-3.2.0

      #  ./configure –prefix=/usr/local/nagios

      #  make all

      #  make install

      #  make install-init

      #  make install-commandmode

      #  make install-config

      安装nagios-plugin

      #  tar xvf nagios-plugins-2.0.tar.gz

      #  cd  nagios-plugins-2.0

      #  ./configure –prefix=/usr/local/nagios

      # make && make install

    4.安装apache

      # tar xvf httpd-2.4.9.tar.gz

      #cd httpd-2.4.9

      #./configure --prefix=/usr/local/apache2

      # make && make install

      如果安装提示缺少apr和apr-util包

      #tar xvf apr-1.5.0.tar.gz

      #cd apr-1.5.0

      #./configure  –prefix=/usr/local/apr

      #make && make install

      #tar xvf apr-1.5.0.tar.gz

      #cd apr-1.5.0

      #./configure  –prefix=/usr/local/apr-util –with-apr=/usr/local/apr

      #make && make install

      安装好了之后在安装apache

      #./configure --prefix=/usr/local/apache2 –with-apr-util=/usr/local/apr-util

      #make && make install

    5.安装php

      #tar xvf php-5.4.10.tar.gz

      #cd php-5.4.10

      #./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs

      #make && make install

    6.配置apahe

      找到apache 的配置文件/usr/local/apache2/conf/httpd.conf

      找到:

    User daemon

    Group daemon

    修改为

    User nagios

    Group nagios

    然后找到

    <IfModule dir_module>

      DirectoryIndex index.html

    </IfModule>

    修改为

    <IfModule dir_module>

      DirectoryIndex index.html index.php

      AddType application/x-httpd-php .php

    </IfModule>

      为了安全起见,一般情况下要让nagios 的web 监控页面必须经过授权才能访问,这需要增加验证配置,即在httpd.conf 文件最后添加如下信息:

    #setting for nagios

    ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"

    <Directory "/usr/local/nagios/sbin">

         AuthType Basic

         Options ExecCGI

         AllowOverride None

         Order allow,deny

         Allow from all

         AuthName "Nagios Access"

         AuthUserFile /usr/local/nagios/etc/htpasswd          

         Require valid-user

    </Directory>

    Alias /nagios "/usr/local/nagios/share"

    <Directory "/usr/local/nagios/share">

         AuthType Basic

         Options None

         AllowOverride None

         Order allow,deny

         Allow from all

         AuthName "nagios Access"

         AuthUserFile /usr/local/nagios/etc/htpasswd

         Require valid-user

    </Directory>

      创建apache目录验证文件

      # /usr/local/apache2/bin/htpasswd -c /usr/local/nagios/etc/htpasswd ssap

    7.启动apache和nagios

      启动apache

      # /usr/local/apache2/bin/apachectl start

      启动nagios

      Service nagios start

    监控登录

    nagios登录

    nagios首页

    nagios首页

    8.配置nagios

      Nagios安装完毕后,需要配置nagios,配置文件在/usr/local/nagios/etc目录下。

    文件名或目录名

    用途

    cgi.cfg

    控制CGI访问的配置文件

    nagios.cfg

    Nagios 主配置文件

    resource.cfg

    变量定义文件,又称为资源文件,在些文件中定义变量,以便由其他配置文件引用,如$USER1$

    objects

    objects 是一个目录,在此目录下有很多配置文件模板,用于定义Nagios 对象

    objects/commands.cfg

    命令定义配置文件,其中定义的命令可以被其他配置文件引用

    objects/contacts.cfg

    定义联系人和联系人组的配置文件

    objects/localhost.cfg

    定义监控本地主机的配置文件

    objects/printer.cfg

    定义监控打印机的一个配置文件模板,默认没有启用此文件

    objects/switch.cfg

    定义监控路由器的一个配置文件模板,默认没有启用此文件

    objects/templates.cfg

    定义主机和服务的一个模板配置文件,可以在其他配置文件中引用

    objects/timeperiods.cfg

    定义Nagios 监控时间段的配置文件

    objects/windows.cfg

    监控Windows 主机的一个配置文件模板,默认没有启用此文件

      假设我们nagios安装在IP为192.168.195.136的服务器上,需要监控192.168.195.136服务器,将对配置文件做以下修改:

      修改localhost.cfg

      define host{

      use                             linux-server

      host_name               Nagios-Server

      alias                           Nagios-Server

      address                     127.0.0.1

      }

      define hostgroup{

      hostgroup_name    linux-servers

      alias                           Linux Servers

      members                  Nagios-Server

      }

      define service{

      use                                     local-service    

      host_name                       Nagios-Server

      service_description        PING

      check_command            check_ping!100.0,20%!500.0,60%

      }

      define service{

      use                                     local-service     

      host_name                       Nagios-Server

      service_description        Root Partition

      check_command             check_local_disk!20%!10%!/

      }

      define service{

      use                                     local-service       

      host_name                       Nagios-Server

      service_description         Current Users

      check_command              check_local_users!20!50

      }

      define service{

      use                                     local-service      

      host_name                       Nagios-Server

      service_description        Total Processes

      check_command             check_local_procs!250!400!RSZDT

      }

      define service{

      use                                     local-service,srv-pnp      

      host_name                       Nagios-Server

      service_description        Current Load

      check_command             check_local_load!5.0,4.0,3.0!10.0,6.0,4.0

      }

      define service{

      use                                     local-service        

      host_name                       Nagios-Server

      service_description        Swap Usage

      check_command             check_local_swap!20!10

      }

      define service{

      use                                     local-service    

      host_name                       Nagios-Server

      service_description        SSH

      check_command             check_ssh

      notifications_enabled     0

      }

      define service{

      use                                     local-service   

      host_name                       Nagios-Server

      service_description         HTTP

      check_command              check_http

      notifications_enabled      0

      }

      新增hosts.cfg

      define host{

      use                     linux-server

      host_name       test-Linux

      alias                   test-Linux

      address             192.168.195.137

      }

      新增service.cfg

      define service{

      use                                 local-service

      host_name                   test-Linux

      service_description     check-host-alive

      check_command          check-host-alive

      }

      修改nagios.cfg

      添加配置文件hosts.cfg,service.cfg

      cfg_file=/usr/local/nagios/etc/objects/hosts.cfg

      cfg_file=/usr/local/nagios/etc/objects/service.cfg

      检测修改的配置

      /usr/local/nagios/bin/nagios –v /usr/local/nagios/etc/nagios.cfg

      检测无误后,重新启动nagios服务

      Service nagios restart

    nagios监控页

    nagios监控页

    注意事项:

    1) 如果设置的用户名不是nagiosadmin,会存在权限问题,不能访问监控页面,需要修改cgi.cfg,在nagiosadmin后追加自己设置的用户名。

    nagios登录用户配置

    nagios登录用户权限配置

    2)Nagios乱码问题

      主要是apache没有开启cgi脚本的缘故,进入apache的主配置文件httpd.conf;

      #LoadModule cgid_module modules/mod_cgid.so;

      #LoadModule actions_module modules/mod_actions.so;

      将上面2行的#去掉,重启apache就OK了。

  • 相关阅读:
    jdk-8u271-windows-x64
    wps 2019 专业版最新激活密匙
    未分页内存泄露
    Nonpaged Pool(未分页池)占用内存过多分析定位
    python异常处理
    如何开发在线考试系统
    kvm学习
    MySQL安全审计-等保2.0
    Linux下启动/关闭Oracle
    rocketmq systemctl 启动
  • 原文地址:https://www.cnblogs.com/fx2008/p/4154700.html
Copyright © 2020-2023  润新知