设为首页 收藏本站
查看: 897|回复: 0

CentOS下Nagios的安装与配置

[复制链接]

尚未签到

发表于 2019-1-14 10:05:29 | 显示全部楼层 |阅读模式
  CentOS下Nagios的安装与配置
  

  Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。
  

  Nagios可以识别4种状态返回信息,即 0(OK)表示状态正常/绿色、1(WARNING)表示出现警告/***、2(CRITICAL)表示出现非常严重的错误/红色、3(UNKNOWN)表示未知错误/深***。
  

  一、环境
  

  Host NameOSIPSoftware
  Nagios-ServerCentOS release 6.3 (Final)192.168.1.108Apache、Php、Nagios、nagios-plugins
  Nagios-LinuxCentOS release 5.8 (Final)192.168.1.111nagios-plugins、nrpe
  Nagios-WindowsWindows XP192.168.1.113 NSClient++
  

  防火墙已关闭/iptables: Firewall is not running.
  

  SELINUX=disabled
  

  

  二、Nagios服务端安装
  

  基础支持套件:gcc glibc glibc-common gd gd-devel xinetd openssl-devel
  

  2.1创建nagios用户和用户组
  

  useradd -s /sbin/nologin nagios
  mkdir /usr/local/nagios
  chown -R nagios.nagios /usr/local/nagios
  

  2.2编译安装Nagios
  

  wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.4.3.tar.gz
  tar zxvf nagios-3.4.3.tar.gz
  cd nagios
  ./configure --prefix=/usr/local/nagios
  make all
  make install
  make install-init
  make install-commandmode
  make install-config
  cd
  

  chkconfig --add nagios
  chkconfig --level 35 nagios on
  chkconfig --list nagios
  

  2.3安装Nagios 插件
  

  wget https://www.nagios-plugins.org/download/nagios-plugins-1.5.tar.gz
  or
  wget http://nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gz
  tar xzvf nagios-plugins-1.5.tar.gz
  cd nagios-plugins-1.5
  ./configure --prefix=/usr/local/nagios
  make && make install
  

  2.4安装配置Apache、PHP
  

  yum -y install httpd php    //如果已经安装此步骤略过;
  

  2.4.1配置apache主配置文件
  

  vim /etc/httpd/conf/httpd.conf
  

  找到
  User apache
  Group apache
  更改为
  User nagios
  Group nagios
  

  找到
  DirectoryIndex index.html
  更改为
  DirectoryIndex index.html index.php
  

  在下一行新增如下内容:
  AddType application/x-httpd-php .php
  

  为了安全起见,一般情况下要让nagios 的web 监控页面必须经过授权才能访问,这需要增加验证配置,即在httpd.conf 文件最后添加如下信息:
  #setting for nagios
ScriptAlias /nagios/cgi-bin "/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

Alias /nagios "/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

  
  保存退出;
  

  2.4.2创建apache目录验证文件及启动apache服务
  

  htpasswd -c /usr/local/nagios/etc/htpasswd david
  

  cat /usr/local/nagios/etc/htpasswd
  

  service httpd restart
  

  到这里 Nagios 安装及基本配置已经完成了;测试访问一下:
  

  http://ip地址/nagios
  

  用户名
  密码
  

  

  2.5配置Nagios
  

  2.5.1配置联系人信息
  

  cp /usr/local/nagios/etc/objects/contacts.cfg /usr/local/nagios/etc/objects/contacts.cfg.bak
  

  vim /usr/local/nagios/etc/objects/contacts.cfg
  

  更改
  contact_name                    david
  

  email                           744120325@qq.com
  

  contactgroup_name       ts
  

  members                 david
  

  

  2.5.2配置主机信息
  

  touch /usr/local/nagios/etc/objects/hosts.cfg
  

  vim  /usr/local/nagios/etc/objects/hosts.cfg
  

  新增如下内容:
  define host{
  use                     linux-server
  host_name               hostname01
  alias                   hostname01
  address                 192.168.1.111
  }
  

  define host{
  use                     linux-server
  host_name               hostname02
  alias                   hostname02
  address                 192.168.1.112
  }
  

  define hostgroup{
  hostgroup_name          bsmart-servers
  alias                   bsmart servers
  members                 hostname01,hostname02
  }
  

  --------------------------------------

  

  vim /etc/hosts
  新增
  ip地址   hostname        //192.168.122.128   localhost

  

  --------------------------------------
  

  由于本实验也测试监控安装Nagios服务端的这台服务器,所以需要配置 localhost.cfg 文件;
  

  cp /usr/local/nagios/etc/objects/localhost.cfg /usr/local/nagios/etc/objects/localhost.cfg.bak
  

  vim /usr/local/nagios/etc/objects/localhost.cfg
  

  在文件尾新增如下内容:
  define service{
  use                             local-service         ; Name of service template to use
  host_name                       localhost
  service_description             MYSQL
  check_command                   check_mysql
  notifications_enabled           0
  }
  

  define service{
  use                             local-service         ; Name of service template to use
  host_name                       localhost
  service_description             FTP
  check_command                   check_ftp
  notifications_enabled           0
  }
  

  

  2.5.3配置时间信息
  

  cp /usr/local/nagios/etc/objects/timeperiods.cfg /usr/local/nagios/etc/objects/timeperiods.cfg.bak
  

  vim /usr/local/nagios/etc/objects/timeperiods.cfg
  

  根据需要配置,一般不需要更改,默认即可;
  

  

  2.5.4配置服务信息
  

  touch /usr/local/nagios/etc/objects/services.cfg
  

  vim /usr/local/nagios/etc/objects/services.cfg
  

  新增如下内容:
  define service{
  use                     local-service
  host_name               localhost
  service_description     check-host-alive
  check_command           check-host-alive
  }
  

  

  2.5.5配置命令信息
  

  cp /usr/local/nagios/etc/objects/commands.cfg /usr/local/nagios/etc/objects/commands.cfg.bak
  

  vim /usr/local/nagios/etc/objects/commands.cfg
  

  新增如下内容:
  # 'check_mysql' command definition
  define command{
  command_name    check_mysql
  command_line    $USER1$/check_mysql -H $HOSTADDRESS$ $ARG1$
  }
  

  

  2.5.6配置模板配置信息
  

  nagios主要用于监控主机资源以及服务,在nagios配置中称为对象,为了不必重复定义一些监控对象,Nagios引入了一个模板配置文件,将一些共性的属性定义成模板,以便于多次引用。这就是templates.cfg的作用。
  

  更改
  contact_groups                  ts
  

  

  2.5.7配置CGI信息
  

  想通过web监控界面执行cgi脚本,例如重启nagios进程、关闭nagios通知、停止nagios主机检测等;需要配置,否则默认即可;
  

  cp /usr/local/nagios/etc/cgi.cfg  /usr/local/nagios/etc/cgi.cfg.bak
  

  vim /usr/local/nagios/etc/cgi.cfg
  

  更改
  default_user_name=david
  authorized_for_system_information=nagiosadmin,david
  authorized_for_configuration_information=nagiosadmin,david
  authorized_for_system_commands=david
  authorized_for_all_services=nagiosadmin,david
  authorized_for_all_hosts=nagiosadmin,david
  authorized_for_all_service_commands=nagiosadmin,david
  authorized_for_all_host_commands=nagiosadmin,david
  

  

  2.5.8配置Nagios主配置文件信息
  

  cp /usr/local/nagios/etc/nagios.cfg /usr/local/nagios/etc/nagios.cfg.bak
  

  vim /usr/local/nagios/etc/nagios.cfg
  

  新增如下内容:
  cfg_file=/usr/local/nagios/etc/objects/services.cfg
  

  保存退出即可;
  

  2.5.9验证Nagios配置文件的正确性
  

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

  如果最后显示出来如下信息,即表是没问题:
  

  Total Warnings: 0
  Total Errors:   0
  

  ---------------------------------------
  2.6安装NRPE
  cd
  wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.13.tar.gz
tar zxvf nrpe-2.13.tar.gz
cd nrpe-2.13
./configure

  make all
  make install-plugin
  -------------------------
  #/usr/local/nagios/libexec/check_nrpe -H 192.168.1.235    //测试一下监控机使用check_nrpe 与被监控机运行的nrpe daemon之间的通信;
  -------------------------
  vim //usr/local/nagios/etc/objects/commands.cfg
  新增如下内容:
  # 'check_nrpe' command definition
define command{
        command_name    check_nrpe         # 定义命令名称为check_nrpe,在services.cfg中要使用这个名称.
        command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$       #这是定义实际运行的插件程序.
                        # 这个命令行的书写要完全按照check_nrpe这个命令的用法,不知道用法的就用check_nrpe –h查看.
        }

  2.7重启各相关的服务
  
service httpd restart
  service nagios restart
  service postfix restart

  三、客户端(被监控机)安装配置(Linux)
  基础支持套件:gcc glibc glibc-common gd gd-devel xinetd openssl-devel
  3.1新建用户
  useradd nagios
  3.2安装Nagios插件
  cd
  wget https://www.nagios-plugins.org/download/nagios-plugins-1.5.tar.gz
  or
  wget http://nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gz
  tar xzvf nagios-plugins-1.5.tar.gz
  cd nagios-plugins-1.5
  ./configure --prefix=/usr/local/nagios
  make && make install
  chown nagios.nagios /usr/local/nagios
chown -R nagios.nagios /usr/local/nagios/libexec
  3.3安装NRPE
  cd
  wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.13.tar.gz
tar zxvf nrpe-2.13.tar.gz
cd nrpe-2.13
./configure

  make all
  make install-plugin
  make install-daemon
  make install-daemon-config
  make install-xinetd
  vim /etc/xinetd.d/nrpe
  在only_from 后增加监控主机的IP地址;
  vim /etc/services
  增加NRPE服务:nrpe    5666/tcp
  service xinetd restart
  netstat -an | grep 5666        //查看NRPE 是否已经启动;
  /usr/local/nagios/libexec/check_nrpe -H localhost        //测试NRPE 是否工作正常;
  注:为了后面工作的顺利进行,注意本地防火墙要打开5666能让外部的监控机访问。
  3.4定义对Nagios-Linux 主机的监控
  下面就可以在services.cfg(服务器上的配置文件)中定义对Nagios-Linux 主机的监控了:
  define service{
        use                     local-service
        host_name               Nagios-Linux
        service_description     Current Load
        check_command           check_nrpe!check_load
        }

define service{
        use                     local-service
        host_name               Nagios-Linux
        service_description     Check Disk
        check_command           check_nrpe!check_disk
        }

define service{
        use                     local-service
        host_name               Nagios-Linux
        service_description     Total Processes
        check_command           check_nrpe!check_total_procs
        }

define service{
        use                     local-service
        host_name               Nagios-Linux
        service_description     Current Users
        check_command           check_nrpe!check_users
        }

define service{
        use                     local-service
        host_name               Nagios-Linux
        service_description     Check Zombie Procs
        check_command           check_nrpe!check_zombie_procs
        }

  ---------------------------------------------------------
  如果还需要监控其它服务的,请在上面的文件增加相应的服务项以及在被监控机上相应增加,如:
  例:增加HTTP监控:
  监控机:
  vim /usr/local/nagios/etc/objects/services.cfg
  新增如下内容:
  define service{
        use                     local-service
        host_name               Nagios-Linux
        service_description     HTTP
        check_command           check_nrpe!check_http
        }

  被监控机:
  vim /usr/local/nagios/etc/nrpe.cfg
  新增如下内容:
  command[check_http]=/usr/local/nagios/libexec/check_http -I 127.0.0.1
  注:更改过配置的都要重启一下相应服务才能生效;
  

  参考 http://www.cnblogs.com/mchina/archive/2013/02/20/2883404.html
  

  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-663063-1-1.html 上篇帖子: Nagios安装配置教程(四)配置使用 下篇帖子: Nagios安装配置教程(五)window系统监控
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表