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

搭建nagios监控系统

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2019-1-13 14:54:13 | 显示全部楼层 |阅读模式
  1、软件包准备
  nagios-4.0.8.tar.gz
  nagios-plugins-2.0.3.tar.gz
  nrpe-2.15.tar.gz
  httpd-2.2.23.tar.gz
  

  2、Nagios Server端安装
  1)、安装相关依赖包
  yum install -y gcc glibc glibc-common gd gd-devel xinetd openssl-devel
  

  2)、安装Nagios
  # useradd -s /sbin/nologin nagios
  # configure --prefix=/usr/local/nagios
  # make all
  # make install
  # make install-init
  # make install-commandmode
  # make install-config
  # chkconfig nagios on
  # chkconfig --list | grep nagios
  

  3)、安装Nagios插件
  # tar zxvf nagios-plugins-2.0.3.tar.gz
  # cd nagios-plugins-2.0.3
  # ./configure --prefix=/usr/local/nagios/
  # make && make install
  

  4)、安装配置apache
  # tar zxvf httpd-2.2.23.tar.gz
  # cd httpd-2.2.23
  # ./configure --prefix=/usr/local/apache2
  # make && make install
  # vim /usr/local/apache2/conf/http.conf
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  User daemon
  Group daemon
  修改为
  User nagios
  Group nagios
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  
    DirectoryIndex index.html
  
  修改并增加为
  
    DirectoryIndex index.html index.php
  
  AddType application/x-httpd-php .php
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  增加验证配置,即在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
  
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  创建上面的目录验证文件htpasswd
  # /usr/local/apache2/bin/htpasswd -c /usr/local/nagios/etc/htpasswd nagios
  # vim /usr/local/nagios/etc/cgi.cfg
  修改配置文件中所有含有nagiosadmin的内容
  nagiosadmin => nagiosadmin,nagios
  # scp /usr/local/apache2/bin/apachectl /etc/init.d/httpd
  # vim /etc/init.d/httpd
  添加以下内容
  # chkconfig: 2345 85 15
  # description: Apache is a World Wide Web Server
  # chkconfig httpd on
  # chkconfig --list | grep httpd
  

  5)、安装配置php
  # tar zxvf 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
  # service httpd start
  # service nagios start
  

  6)、安装nrpe
  # tar zxvf nrpe-2.15.tar.gz
  # cd nrpe-2.15
  # ./configure --enable-command-args
  # make all
  # make install-plugin
  # /usr/local/nagios/libexec/check_nrpe -H 10.0.2.203
  NRPE v2.15
  
  7)、配置commands.cfg,添加check_nrpe定义
  vim /usr/local/nagios/etc/objects/commands.cfg
  # 'check_nrpe' command definition
  define command{
  command_name    check_nrpe         
  command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$                           
  }
  
  8、配置hosts.cfg
  vim /usr/local/nagios/etc/objects/hosts.cfg
  define host{
  use                     linux-server
  host_name               node.3
  alias                   node.3
  address                 10.0.2.203
  }
  

  9、配置node.3.cfg(也就是node.3的services.cfg文件,为了便于管理,每台机器的services.cfg文件分开配置,并以主机名命名)
  vim /usr/local/nagios/etc/objects/node.3.cfg
  define service{
  use                     local-service
  host_name               node.3
  service_description     Current Load
  check_command           check_nrpe!check_load
  contact_groups          admins
  }
  

  define service{
  use                     local-service
  host_name               node.3
  service_description     Check Disk disk
  check_command           check_nrpe!check_disk
  contact_groups          admins
  }
  

  define service{
  use                     local-service
  host_name               node.3
  service_description     Total Processes
  check_command           check_nrpe!check_total_procs
  contact_groups          admins
  }
  

  define service{
  use                     local-service
  host_name               node.3
  service_description     Current Users
  check_command           check_nrpe!check_users
  contact_groups          admins
  }
  

  define service{
  use                     local-service
  host_name               node.3
  service_description     Check Zombie Procs
  check_command           check_nrpe!check_zombie_procs
  contact_groups          admins
  }
  

  10)、配置nagios.cfg
  # vim /usr/local/nagios/etc/nagios.cfg
  添加以下内容
  cfg_file=/usr/local/nagios/etc/objects/hosts.cfg
  cfg_file=/usr/local/nagios/etc/objects/node.3.cfg
  
  11)、检查nagios配置文件,并重启nagios服务
  # chown -R nagios.nagios /usr/local/nagios
  # /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
  # service nagios restart
  
  3、Nagios Client端的配置安装
  1)、安装相关软件包
  yum install -y xinetd openssl*
  

  2)、添加用户
  useradd nagios
  passwd nagios
  

  3)、安装nagios插件
  # tar zxvf nagios-plugins-2.0.3.tar.gz
  # cd nagios-plugins-2.0.3
  # ./configure --prefix=/usr/local/nagios
  # make && make install
  # chown -R nagios.nagios /usr/local/nagios
  

  4)、安装nrpe
  # tar zxvf nrpe-2.15.tar.gz
  # cd nrpe-2.15
  # ./configure --enable-command-args
  # make all
  # make install-plugin
  # make install-daemon
  # make install-daemon-config
  # make install-xinetd
  # vim /etc/services
  在文件最后追加以下内容
  nrpe            5666/tcp                # nrpe
  # vim /etc/xinetd.d/nrpe
  添加监控主机IP
  only_from       = 127.0.0.1 10.0.2.201
  # vim /usr/local/nagios/etc/nrpe.cfg
  修改
  dont_blame_nrpe=1
  # service xinetd restart
  # lsof -i:5666
  # /usr/local/nagios/libexec/check_nrpe -H 127.0.0.1
  NRPE v2.15
  # vim /usr/local/nagios/etc/nrpe.cfg
  command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/hda1
  修改
  command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda
  

  4、添加mysql和tomcat的监控
  1)、添加mysql监控
  Nagios Server:
  # vim /usr/local/nagios/etc/objects/commands
  添加以下内容
  # 'check_mysql' command definition
  define command{
  command_name    check_mysql
  command_line    $USER1$/check_mysql -H $HOSTADDRESS$ -c $ARG1$ -a $ARG2$ $ARG3$
  }
  # vim /etc/ld.so.conf
  追加以下内容
  /usr/local/mysql/lib/#因为check_mysql会提示找不到libmysqlclient.so.18文件
  # /sbin/ldconfig -v
  # /usr/local/nagios/libexec/check_mysql -H 10.0.2.203 -u mysql -p 123456
  # vim /usr/local/nagios/etc/objects/node.3.cfg
  追加以下内容
  define service{
  use                     local-service
  host_name               node.3
  service_description     Check MySQL
  check_command           check_nrpe!check_mysql!mysql!123456
  contact_groups          admins
  }
  
  Nagios Client:
  # vim /usr/local/nagios/etc/nrpe.cfg
  添加以下内容
  command[check_mysql]=/usr/local/nagios/libexec/check_mysql -u $ARG1$ -p $ARG2$
  
  # vim /etc/ld.so.conf
  追加以下内容
  /usr/local/mysql/lib/#因为check_mysql会提示找不到libmysqlclient.so.18文件
  # /sbin/ldconfig -v
  
  2)、添加自定义tomcat监控
  Nagios Server:
  # vim /usr/local/nagios/etc/objects/commands
  添加以下内容
  # 'check_tomcat' command definition
  define command{
  command_name    check_tomcat
  command_line    $USER1$/check_tomcat -H $HOSTADDRESS$ -c $ARG1$ -a $ARG2$
  }
  
  # vim /usr/local/nagios/etc/objects/node.3.cfg
  追加以下内容
  define service{
  use                     local-service
  host_name               node.3
  service_description     Check Tomcat
  check_command           check_nrpe!check_tomcat!tomcat
  contact_groups          admins
  }
  
  # service nagios restart
  

  Nagios Client:
  # vim /usr/local/nagios/etc/nrpe.cfg
  添加以下内容
  command[check_tomcat]=/usr/local/nagios/libexec/check_tomcat $ARG1$
  

  # vim /usr/local/nagios/libexec/check_tomcat
  #!/bin/sh
  name=`basename $0`
  process=`ps aux |grep -w "$1" | grep -vE "grep|$name"|wc -l |tr -d ' '`
  if [ $process -ge 1 ]
  then
     echo  "$1 proces running...."
     exit 0
  else
     echo  "$1 proces no exist! "
     exit 2
  fi
  5、windows系统的监控
  解压NSClient++-0.2.7.zip到C盘根目录
  命令行:cmd
  >c:\NSClient++-0.2.7
  >nsclient++ /install
  >nsclient++ SysTray
  命令行:services.msc
  找到NSClientpp服务,双击打开,点击”登录“标签,在”允许服务与桌面交互“前打勾
  编辑c:\NSClient++-0.2.7\NSC.ini
  [modules]模块
  去掉除CheckWMI.dll和 RemoteConfiguration.dll 以外行的”;“
  [Settings]
  去掉password行的注释,并设置密码123456,同时需要在Nagios Server端command.cfg配置文件中check_nt命令定义处配置对应的密码
  define command{
  command_name    check_nt
  command_line    $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s 123456 -v $ARG1$ $ARG2$
  }
  去掉allowed_hosts行的注释,并将本行修改为allowed_hosts=127.0.0.1/32,10.0.2.201
  [NSClient]
  去掉port行前面的注释,并设置port=12489
  
  6、配置报警
  1)、声音报警
  Nagios Server端
  上传音乐文件到/usr/local/nagios/share/media文件夹中
  # vim /usr/local/nagios/etc/cgi.cfg
  取消以下行前的”#“
  host_unreachable_sound=hostdown.wav
  host_down_sound=hostdown.wav
  service_critical_sound=critical.wav
  service_warning_sound=warning.wav
  service_unknown_sound=warning.wav
  normal_sound=noproblem.wav
  
  2)、邮件报警
  # yum install -y sendmail*
  # service sendmail start
  # vim /usr/local/nagios/etc/objects/contacts.cfg
  修改
  emailnagios@local.com => email*******@qq.com
  # service nagios restart
  # vim /usr/local/nagios/etc/objects/templates.cfg
  修改generic-service中
  notification_interval60 => notification_interval5
  
  修改local-service中
  max_check_attempts 4 => max_check_attempts1
  normal_check_interval5 => normal_check_interval5
  retry_check_interval2 => retry_check_interval1
  表示每五分钟发送一次邮件报警,关于nagios报警时间的详细配置,请参考”关于nagios报警时间间隔的配置“一文。
  

  

  

  





运维网声明 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-662832-1-1.html 上篇帖子: 监控系统Nagios安装 下篇帖子: nagios:CHECK_NRPE: Error
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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