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

Nagios监控工具

[复制链接]

尚未签到

发表于 2019-1-13 07:49:03 | 显示全部楼层 |阅读模式
  Nagios监控工具
  不会显示具体的值,仅显示主机或服务的状态
  强大的报警功能
  高度插件化
  

  Nagios监控主机/服务显示的4种状态
  OK
  WARNING
  CRITICAL
  UNKNOWN
  
  Nagios对象:
  主机,主机组
  服务/资源,服务组
  联系人,联系人组
  时间段
  命令(模板--->应用到某个被监控对象,以实现监控)
  
  
  

  Nagios实现监控的方式:
  check_by_ssh
  check_by_nrpe:专用于监控Linux或Unix主机
  check_by_nsclient++:用于监控Windows主机
  check_by_snmp
  check_by_nsca:实现被动方式的nagios,由被监控对象主动向nagios发送状态信息
  check_by_xyz:自定义监控方式/脚本
  
  
  
  安装nagios
  

  1、安装依赖的软件
  # yum install -y httpd php php-mysql mysql-devel mysql
  

  2、创建nagios运行需要的用户和组
  # groupadd nagcmd
  # useradd -G nagcmd nagios
  

  将运行apache进程的用户加入到nagcmd组中
  # usermod -a -G nagcmd apache
  
  3、安装nagios
  # tar zxf nagios-3.3.1.tar.gz
  # cd nagios
  # ./configure --with-command-group=nagcmd --enable-event-broker --sysconfdir=/etc/nagios
  # make all
  # make install
  # make install-init
  # make install-commandmode
  # make install-config
  #  make install-webconf
  
  创建一个登录nagios web页面的用户,这个用户账号在以后通过web登录nagios时使用
  # htpasswd -c /etc/nagios/htpasswd.users nagiosadmin
  New password:
  Re-type new password:
  Adding password for user nagiosadmin
  

  

  启动httpd服务
  # service httpd start
  

  

  4、安装nagios-plugins插件
  

  # tar zxf nagios-plugins-1.5.tar.gz
  # cd nagios-plugins-1.5
  # ./configure --with-nagios-user=nagios --with-nagios-group=nagios
  # make && make install
  
  

  5、启动nagios服务
  # chkconfig --add nagios
  # service nagios start
  
  
  6、访问nagios
  http://10.1.1.2/nagios
  
  配置nagios
  nagios配置文件保存在/etc/nagios目录下
  
  nagios插件目录
  /usr/local/nagios/libexec
  
  
  
  
  nagios监控windows主机
  SNMP
  NSClient++
  nagios通过check_nt插件与windows NSClient++通信
  NSClient++可提供check_nt,check_nrpe及NSCA的能力
  NSClient++监听在12489/tcp端口与check_nt插件通信
  
  
  配置check_nt与NSClient++监控windows主机
  

  1、定义命令command
  # vim /etc/nagios/objects/commands.cfg
  

  define command{
          command_name    check_nt
          command_line    $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v $ARG1$ $ARG2$
          }
  

  2、定义主机host及服务service
  # vim /etc/nagios/objects/windows.cfg
  

  define host{
          use             windows-server  ; Inherit default values from a template
          host_name       winhost; The name we're giving to this host
          alias           My Windows Server       ; A longer name associated with the host
          address         10.1.1.254      ; IP address of the host
          }
  

  define service{
          use                     generic-service
          host_name               winhost
          service_description     Uptime
          check_command           check_nt!UPTIME
          }
  
     
  3、启用主机配置文件
  # vim /etc/nagios/nagios.cfg
  cfg_file=/etc/nagios/objects/windows.cfg
  

  4、检测配置文件语法,并重启nagios服务
  # /usr/local/nagios/bin/nagios -v /etc/nagios/nagios.cfg
  # service nagios restart
  
  浏览器访问http://10.1.1.2/nagios查看监控状态数据
  
  
  配置check_nrpe监控Linux及windows主机
  

  监控端通过check_nrpe与被监控端nrpe进程通信
  nrpe监听在5666/tcp端口
  监控端、被监控端都需要安装nrpe addon,被监控端需要启动nrpe服务
  
  
  一、监控Linux 主机10.1.1.1
  
  1、在被监控主机上安装nrpe并配置
  

  1)创建nagios用户
  # useradd -s /sbin/nologin nagios
  

  2)nrpe依赖于nagios-plugins,安装nagios-plugins
  # tar zxf nagios-plugins-1.4.14.tar.gz
  # cd nagios-plugins-1.4.14
  # ./configure --with-nagios-user=nagios --with-nagios-group=nagios
  # make all
  # make install
  

  

  3)安装nrpe
  # tar zxf nrpe-2.15.tar.gz  
  # cd nrpe-2.15
  # ./configure --with-nrpe-user=nagios --with-nrpe-group=nagios --with-nagios-user=nagios --with-nagios-group=nagios --enable-command-args --enable-ssl
  # make all
  # make install-plugin
  # make install-daemon
  # make install-daemon-config
  

  

  4)配置nrpe
  # vim /usr/local/nagios/etc/nrpe.cfg
  

  log_facility=daemon
  pid_file=/var/run/nrpe.pid
  server_port=5666
  server_address=10.1.1.1
  nrpe_user=nagios
  nrpe_group=nagios
  allowed_hosts=10.1.1.2
  command_timeout=60
  

  定义监控本地资源的命令
  command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
  command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
  command[check_sda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda1
  command[check_sda2]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda2
  command[check_sda3]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda3
  command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
  command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200
  

  

  5)编写启动nrpe服务脚本
  # vim /etc/rc.d/init.d/nrpe
  #!/bin/bash
  #
  # chkconfig: 2345 88 12
  # description: NRPE DAEMON
  NRPE=/usr/local/nagios/bin/nrpe
  NRPECONF=/usr/local/nagios/etc/nrpe.cfg
  

  case $1 in
    start)
      echo -n "Starting NRPE damon...."
      $NRPE -c $NRPECONF -d
      echo "Done..."
      ;;
    stop)
      echo -n "Stopping NRPE daemon...."
      pkill -u nagios nrpe
      echo "Done...."
      ;;
    restart)
      $0 stop
      sleep 2
      $0 start
      ;;
    *)
     echo "Usage: $0 { start | stop | restart }"
     ;;
  esac
  exit 0
  

  # chmod +x /etc/rc.d/init.d/nrpe
  # chkconfig --add nrpe
  # service nrpe start
  # netstat -tnlp
  Active Internet connections (only servers)
  Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
  tcp        0      0 10.1.1.1:5666               0.0.0.0:*                   LISTEN      6826/nrpe           
  

  

  2、在监控端安装nrpe
  

  1)安装nrpe
  # tar zxf nrpe-2.15.tar.gz
  # cd nrpe-2.15
  # ./configure --with-nrpe-user=nagios --with-nrpe-group=nagios --with-nagios-user=nagios --with-nagios-group=nagios --enable-command-args --enable-ssl
  # make all
  # make install-plugin
  

  安装完成后,在/usr/local/nagios/libexec目录下会产生check_nrpe插件
  通过以下命令可测试插件是否工作正常
  # ./check_nrpe -H 10.1.1.1
  NRPE v2.15
  

  3、配置监控Linux主机
  

  1)定义命令command
  # vim /etc/nagios/objects/commands.cfg
  define command{
          command_name    check_nrpe
          command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
  }
  

  2)定义主机host及服务service
  # cp /etc/nagios/objects/windows.cfg /etc/nagios/objects/linux.cfg
  # vim /etc/nagios/objects/linux.cfg
  

  define host{
  uselinux-server; Inherit default values from a template
  host_namelinuxhost; The name we're giving to this host
  aliasMy Linux Server; A longer name associated with the host
  address10.1.1.1; IP address of the host
  }
  

  define service{
  usegeneric-service
  host_namelinuxhost
  service_descriptionUsers
  check_commandcheck_nrpe!check_users
  }
  

  define service{
  usegeneric-service
  host_namelinuxhost
  service_descriptionLoad
  check_commandcheck_nrpe!check_load
  }
  

  define service{
  usegeneric-service
  host_namelinuxhost
  service_descriptionSDA1
  check_commandcheck_nrpe!check_sda1
  }
  

  define service{
  usegeneric-service
  host_namelinuxhost
  service_descriptionSDA2
  check_commandcheck_nrpe!check_sda2
  }
  

  define service{
  usegeneric-service
  host_namelinuxhost
  service_descriptionSDA3
  check_commandcheck_nrpe!check_sda3
  }
  

  

  define service{
  usegeneric-service
  host_namelinuxhost
  service_descriptionZombie procs
  check_commandcheck_nrpe!check_zombie_procs
  }
  

  define service{
  usegeneric-service
  host_namelinuxhost
  service_descriptiontotal procs
  check_commandcheck_nrpe!check_total_procs
  }
  

  

  check_nrpe!check_total_procs
  !后面为被监控端定义好的命令名称
  
  3)启用主机配置文件
  # vim /etc/nagios/nagios.cfg
  cfg_file=/etc/nagios/objects/linux.cfg
  
  4)检测配置文件语法,并重启nagios服务
  # /usr/local/nagios/bin/nagios -v /etc/nagios/nagios.cfg
  # service nagios restart
  
  
  
  
  

  
  在10.1.1.1上分别安装web及mysql服务,配置监控端10.1.1.2监控这两个服务
  

  1、在10.1.1.1上安装web及mysql
  # yum install -y httpd mysql-server
  

  需要在mysql服务器上创建允许远程登录的用户
  

  2、编辑command.cfg分别定义监控web及mysql服务的命令
  # vim /etc/nagios/objects/commands.cfg
  

  define command{
          command_name    check_http
          command_line    $USER1$/check_http -I $HOSTADDRESS$ $ARG1$
          }
  
  define command{
          command_name    check_mysql
          command_line    $USER1$/check_mysql -H $HOSTADDRESS$ -u $ARG1$ -p $ARG2$
          }
  
  
  3、编辑linux.cfg配置文件,定义web及mysql服务
  # vim /etc/nagios/objects/linux.cfg
  

  define service{
          use                     generic-service
          host_name               linuxhost
          service_description     Web Server
          check_command           check_http
          }
  

  define service{
          use                     generic-service
          host_name               linuxhost
          service_description     Mysql Server
          check_command           check_mysql!admin!redhat
          }
  
  4、检测配置文件语法,并重启nagios服务
  # /usr/local/nagios/bin/nagios -v /etc/nagios/nagios.cfg
  # service nagios restart
  
  
  
  
  
  
  
  
  





运维网声明 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-662550-1-1.html 上篇帖子: nagios监控mysql主从,并且邮件告警! 下篇帖子: VI nagios
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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