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

nagios 监控Linux和Unix服务器(ubuntu服务器安装实例)

[复制链接]

尚未签到

发表于 2019-1-16 08:56:55 | 显示全部楼层 |阅读模式
  1. 监控原理
  监控方式有两种,一种是利用ssh方式,执行Nagios的check_by_ssh来执行被监控服务器上的插件程序,从而获取相关的信息。但是这种方 式,当运用于监控上百台服务器时,由于ssh连接的建立和中断,会对Nagios服务器产生高负载现象,所以不建议使用。它的优点在安全性高与采用 NRPE的插件方式。
  另外一种方式,是常用的方式。就是在被监控的Linux/Unix的服务器上安装NRPE监控引擎,然后Nagios服务器通过check_nrpe的程 序,利用ssl通讯模式调用nrpe获取相关数据信息。优点包括可以使用Nagios的大多数监控插件。处理可以监控自身的状态变化,还可以拓展应用监控 其它服务器的开放服务。


  2. 监控内容
  Linux/Unix服务器的内部参数包括以下

  • 内存使用状况
  • CPU负载
  • 磁盘使用状况
  • 运行的进程
  • 登录用户

  外部监控内容,可以使用Nagios的监控插件,监控其他的服务器开放的服务。起到间接监控的作用或者说是代理监控。

  3.安装步骤
  配置环境 ubuntu 8.0
  a.前提条件

  • 在Linux服务器上具有root权限
  • 允许建立nagios帐号让远程访问
  • 安装以下包

    • apt-get install gcc
    • apt-get install build-essential
    • apt-get install libssl0.9.8
    • apt-get install libssl-dev
    • apt-get install openssl

  b.远程主机配置

  • 创建账户nagios并设定密码
  useradd nagios
  password nagios

  • 下载nagios的插件资料,解包安装
  下载地址
  http://osdn.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.6.tar.gz

  • 解开nagios plugins的源代码包
  tar xzvf nagios-plugins-1.4.6.tar.gz
  cd nagios-plugins-1.4.6

  • 编译安装nagios plugins
  ./configura
  make
  make install

  • 改变安装目录和文件的用户和组属性
  chown nagios.nagios /usr/local/nagios
  chown -R nagios.nagios /usr/local/nagios/libexec
  c.安装NRPE

  • 下载NRPE插件  http://osdn.dl.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz
  • 解压缩NRPE源代码
  tar -zxvf nrpe-2.8.tar.gz

  • 编译NRPE  ./configure
      make all
      注意事项: 在ubuntu下面安装时,需要先确认安装了openssl libssl0.9.8 libssl-dev
  • 安装NRPE插件、进程程序和案例进程
  make install-plugin
  make install-daemon
  make install-daemon-config

  • 安装NRPE到xinet服务中
  make install-xinetd

  • 编辑/etc/xinetd.d/nrpe 将nagios的服务器ip添加进去
  only_from= 127.0.0.1

  • 将NRPE进程端口加到/etc/services中
  nrpe  5666/tcp

  • 重新启动xinetd服务
  service xinetd restart
  d. 测试NRPE是否正常

  • 确认nrpe是否在xinetd下运行
  netstat -at |grep nrpe
  如果反馈的是以下信息,则表示运行正常。
  tcp        0      0 *:nrpe                  *:*                     LISTEN
  没有出现以上信息,则从下面找问题


    • 确认/etc/services中是否添加nrpe的端口描述
    • 在/etc/xinetd.d/nrpe文件中的only_from参数是否包含了"127.0.0.1"
    • 确认xinetd.d是否安装和启动
    • 查看系统日志中涉及xinetd或nrpe的问题,进行修正



  • 确认NRPE进程是否正常运行,利用check_nrpe来做检测,执行指令如下:
  /usr/local/nagios/libexec/check_nrpe -H localhost
  正常反馈信息为 NRPE v2.8
  e.客制化NRPE指令
  编辑/usr/local/nagios/etc/nrpe.cfg
  在最后的COMMAND部分已经定义了部分监测的指令,你可以根据实际情况进行添加修改参数。
  同时,可以用以下指令检测nrpe调用nagios插件是否正常
  /usr/local/nagios/libexec/check_nrpe -H localhost -c check_users
  /usr/local/nagios/libexec/check_nrpe -H localhost -c check_load
  /usr/local/nagios/libexec/check_nrpe -H localhost -c check_hda1
  /usr/local/nagios/libexec/check_nrpe -H localhost -c check_total_procs
  /usr/local/nagios/libexec/check_nrpe -H localhost -c check_zombie_procs
  f.监控服务器设置

  • 需要完成内容包括

    • 安装check_nrpe 插件
    • 创建一个Nagios使用check_nrpe插件的指令定义
    • 创佳监控远程主机的Nagios主机和服务定义

  • 安装check_nrpe插件步骤
  安装ssl的包
  apt-get install libssl-dev
  下载nrpe源码包
  解压缩该包 tar -zxvf nrpe-2.*.tar.gz
  cd nrpe-2.*
  ./configure
  make all
  安装check_nrpe程序到/usr/local/nagiso/libexec/
  make install-plugin

  • 测试与被监控主机的nrpe程序的通信状况
  先编辑被监控主机的/etc/xinetd.d/nrpe中的only_from的参数为监控服务器的ip
  重新启动xinetd的服务 service xinetd restart
  在监控服务器上,运行 /usr/local/nagios/libexec/check_nrpe -H 被监控主机IP
  正常反馈信息如下:
  NRPE  v2.8
  如果有问题,用telnet IP地址 5666检测一下。如果被直接connection closed,则需要查看一下防火墙的规则和被监测主机的nrpe的进程

  • 创建command定义
  编辑/usr/local/nagios/etc/objects/commands.cfg增加以下配置信息
  define command{
  command_name    check_nrpe
  command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
  }

  • 定义主机和服务设定
  先建立一个模板用于之后的主机监控的继承设定(在/usr/local/nagios/etc/objects/templates.cfg已经有添加了这个模板规则,只是notification_period不一样而已,关于这个的解释也非常有意思可以自己看看)
  define host{
  name linux-server ; Name of this template
  use generic-host ; Inherit default values
  check_period 24x7
  check_interval 5
  retry_interval 1
  max_check_attempts 10
  check_command check-host-alive
  notification_period 24x7
  notification_interval 30
  notification_options d,r
  contact_groups admins
  register 0 ; DONT REGISTER THIS - ITS A TEMPLATE
  }
  编辑/usr/local/nagios/etc/objects/localhost.cfg(也可以自己创建文件,只要在nagios.cfg中添加对应配置)
  增加被监控的主机对象
  define host{
  use             linux-server
  host_name       web-server                      ;nrpe check host
  alias               ubuntu server (WWW)
  address         192.168.200.244
  }
  增加监控远程服务器的服务对象
  define service{
  use                     generic-service
  host_name               web-server
  service_description     CPU Load
  check_command           check_nrpe!check_load
  }
  define service{
  use                     generic-service
  host_name               web-server
  service_description     Current Users
  check_command           check_nrpe!check_users
  }
  #磁盘监控需要确认自己的硬盘是hda 还是sda,nrpe安装的默认配置是check_hda1,所以需要你手动修改被监控服务器的/usr/local/nagios/etc/nrpe.cfg,将hda修改为sda。并重新启动xinetd服务
  define service{
  use                     generic-service
  host_name               web-server
  service_description     /dev/sda1 Free Space
  check_command           check_nrpe!check_sda1
  }
  define service{
  use                     generic-service
  host_name               web-server
  service_description     Total Processes
  check_command           check_nrpe!check_total_procs
  }
  define service{
  use                     generic-service
  host_name               web-server
  service_description     Zombie Processes
  check_command           check_nrpe!check_zombie_procs
  }
  配置完成后,运行/etc/init.d/nagios checkconfig  或
  /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg 检测nagios配置是否正确。
  没有问题,重新启动nagios服务,则可以通过网页来查看监控结果了。
  4.自定义监控服务
  由于前面的服务是nrpe主机上的默认建立的样例规则。如果手动建立服务监控需要做以下操作

  • 在nrpe.cfg上建立监控服务指令和参数
  • 在nagios服务器上建立对应的服务定义  a.被监控主机的配置内容
      在/usr/local/nagios/libexec下,有很多监控插件。在写入nrpe.cfg前,先用指令测试这个插件和参数所产生的结果是否符合要求
      例如 /usr/local/nagios/libexec/check_swap -w 20% -c 10%  ‘监控swap的使用状况
      编辑/usr/local/nagios/etc/nrpe.cfg
      添加一行   command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10%
      然后重新启动xinetd服务
      b.Nagios服务的配置内容
      编辑/usr/local/nagios/etc/objects/localhost.cfg
      添加以下内容
      service{
      use                               generic_service
      hostname                     web_server
      service_description      swap status
      check_command            check_nrpe!check_swap
      }
      然后重新启动nagios服务,这个新的监控服务就完成创建了
  //--------------------------------------------
  Nagios是一个监视系统运行状态和网络信息的监视系统。Nagios能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等
  Nagios可运行在Linux/Unix平台之上,同时提供一个可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态,各种系统问题,以及日志等等。
  添加用户:
  useradd -m nagios
  passwd nagios
  添加用户组,(注意:Ubuntu8.04以后用户组已经存在)
  groupadd nagios
  usermod -G nagios nagios
  安装相关软件:
  apt-get install apache2 php5 libssl0.9.8 libssl-dev openssl
  下载 Nagios Core、Nagios Plugins、Nagios Addons:
  wget http://downloads.sourceforge.net/project/nagios/nagios-3.x/nagios-3.2.1/nagios-3.2.1.tar.gz
  wget http://downloads.sourceforge.net/project/nagiosplug/nagiosplug/1.4.15/nagios-plugins-1.4.15.tar.gz
  wget http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.12/nrpe-2.12.tar.gz
  安装nagios主程序:
  tar -xzvf nagios-3.2.1.tar.gz
  cd nagios-3.2.1
  ./configure --prefix=/usr/local/nagios
  make all
  make install
  make install-init # 安装初始化脚本可用/etc/init.d/nagios start启动nagios
  make install-commandmode
  make install-config
  安装nagios-plugins:
  tar -xzvf nagios-plugins-1.4.15.tar.gz
  mkdir /usr/local/nagios-plugins
  cd nagios-plugins-1.4.15
  ./configure --prefix=/usr/local/nagios-plugins
  make all
  make install
  mv /usr/local/nagios-plugins/libexec /usr/local/nagios
  安装nrpe:
  tar -xzvf nrpe-2.12.tar.gz
  cd nrpe-2.12
  ./configure --enable-ssl --enable-command-args
  make all
  cp src/check_nrpe /usr/local/nagios/libexec
  现在就可以启动nagios了:
  /etc/init.d/nagios start
  配置apache:
  在apache的配置文件httpd.conf中追加
  ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin/
  
  AllowOverride AuthConfig
  Options ExecCGI
  Order allow,deny
  Allow from all
  
  Alias /nagios /usr/local/nagios/share/
  
  Options None
  AllowOverride AuthConfig
  Order allow,deny
  Allow from all
  AuthName "Nagios Access"
  AuthType Basic
  AuthUserFile /usr/local/nagios/etc/.htpasswd
  Require valid-user
  
  生成用户名和密码:
  /usr/bin/htpasswd -c /usr/local/nagios/etc/.htpasswd nagios
  修改/usr/local/nagios/etc/cgi.cfg 修改use_authentication=1为use_authentication=0,即不用验证.不然有一些页面不会显示。
  检查配置文件是否出错:
  /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg


运维网声明 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-663814-1-1.html 上篇帖子: 关于安装nagios make all时出现问题的解决方法 下篇帖子: nagios的工作场景及使用说明
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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