五郎. 发表于 2019-1-16 13:31:49

Nagios3.2.3安装

http://www.unixvip.com/app/nagios/720/  一.安装监控服务器
  IP:192.168.2.242
  WEB服务器使用Apache
  (1)安装Nagios核心
  /usr/sbin/useradd nagios && passwd nagios
  /usr/sbin/groupadd nagcmd (建立一个组nagcmd用于从Web接口执行外部命令)
  将apache、nagios 用户加入nagcmd组
  /usr/sbin/usermod -G nagcmd nagios
  /usr/sbin/usermod -G nagcmd apache
  tar zxvf nagios-3.2.3.tar.gz
  ./configure --with-httpd-conf=/etc/httpd/conf --with-nagios-user=nagios --with-command-group=nagcmd
  make all
  make install
  make install-init
  make install-config
  make install-commandmode
  make install-webconf
  最后的 make install-webconf 已经将虚拟主机的配置增加到/etc/httpd/conf/nagios.conf
  将它拷贝到/etc/httpd/conf.d 目录中,apache 自动将该目录中*.conf 文件包含进去.
  创建Apache密码认证文件,加入admin用户
  #htpasswd -c /usr/local/nagios/etc/htpasswd.users admin
  修改Nagios的CGI配置文件/usr/local/nagios/etc
  默认的授权用户是nagiosadmin ,改为自定义的admin
  use_authentication=1
  设定启用身份验证
  authorized_for_system_information=admin
  设定系统信息的授权用户
  authorized_for_configuration_information=admin
  设定配置信息的授权用户
  authorized_for_system_commands=admin
  设定系统命令的授权用户
  authorized_for_all_services=admin
  设定全部监测服务的授权用户。
  authorized_for_all_hosts=admin
  设定全部被监测主机的授权用户
  authorized_for_all_service_commands=admin
  设定全部监测服务命令的授权用
  authorized_for_all_host_commands=admin
  设定全部主机命令的授权用户
  (2) 安装Nagios基本插件
  #tar zxvf nagios-plugins-1.4.15.tar.gz
  #cd nagios-plugins-1.4.15
  #./configure --with-nagios-user=nagios --with-nagios-group=nagios
  #make && make install
  在/usr/local/nagios/libexec/ 就可以看到插件程序了
  (3)启动Nagios
  #/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg #验证配置文件语法
  #/etc/init.d/naigos start #启动
  http://192.168.2.242/nagios 进行访问,如果出现CGI认证问题,编辑/usr/local/nagios/etc/cgi.conf,将use_authentication=1 改为use_authentication=0
  二.监控Windows
  1. 被监控主机Windows 上的配置
  在Windows 上安装 NSClient++-0.3.8-Win32.msi
  在 Allowed hosts 里填入监控服务器IP:192.168.2.242,不设置NSclient Password 密码,设置"允许桌面交互"(或者安装后在服务里设置)
  (1)找到安装目录的NSC.ini,在中加载以下模块:
  FileLogger.dll
  CheckSystem.dll #CPU负载、内存、UPTIME 监控等项目需要
  CheckDisk.dll   #磁盘空间监控需要
  NSClientListener.dll #基本,必须
  SysTray.dll
  CheckWMI.dll
  RemoteConfiguration.dll
  注:默认的配置监控项目只需要CheckSystem.dll、CheckDisk.dll。NSClientListener.dll
  (2)在小节中,allowed_hosts=192.168.2.242(安装时填入的监控服务器IP),
  (3) 在 节中,去掉port=12489 的注释。
  2.监控端Nagios 的设置
  在/usr/local/nagios/etc/nagios.cfg 加入以下行:
  cfg_file=/usr/local/nagios/etc/windows-server/winserver1.cfg
  #mkidr /usr/local/nagios/etc/windows-server #建立存放Win服务器配置文件的目录
  在windows.cfg 的基础上进行修改:
  #cp /usr/local/nagios/etc/objects /usr/local/nagios/etc/windows-server/winserver1.cfg
  修改winserver.cfg:
  define host{
  use             windows-server; Inherit default values from a template
  host_name       winserver1       ; The name we're giving to this host
  alias         My Windows Server       ; A longer name associated with the host
  address         192.168.2.240   ; 改为被监控的Win服务器IP
  }
  #./check_nt -H 192.168.2.240 -p 12489-v UPTIME #测试,正常返回类似以下的信息
  System Uptime - 0 day(s) 1 hour(s) 48 minute(s)
  如果出现提示Connection refused,could not fetch information from server ,则有可能是以下问题:
  (1)NSC.ini 设置了password 选项,测试时 check_nt 应该增加 -s password 参数,同时commands.cfg 中的check_nt 也应该增加 -s password 参数。
  (2)allowed_hosts 选项要加入监控服务器端的IP
  (3)没加载 NSClientListener.dll,即无法监控端口
  三.监控Linux 服务器
  npre 是一个代理检测程序插件,工作于C/S 模式,监听监控服务器发现的命令(chech_nrpe),并把内容传回给监控服务器,监控服务器和被监控服务器都要安装nrpe。
  http://nagios.sourceforge.net/docs/nrpe/NRPE.pdf 参考这个文档
  1.被监控主机的安装
  IP: 192.168.2.243
  (1) 安装 nagios-plugins
  #useradd nagios
  #passwd nagios
  #tar zxvf nagios-plugins-1.4.15.tar.gz
  #./configure
  #make
  #make install
  #chown -R nagios.nagios /usr/local/nagios
  (2) 安装nrpe 代理检测程序插件
  #yum install xinetd #需要xinetd
  #./configure
  #make all
  #make install-plugin
  #make install-daemon
  #make install-daemon-config
  #make install-xinetd
  修改 /etc/xinetd/nrpe
  将only_from       = 127.0.0.1 改为only_from       = 127.0.0.1 192.168.2.242
  修改 /etc/services ,增加
  nrpe      5666/tcp#NRPE
  #/etc/init.d/xinetd restart
  #/usr/local/nagios/libexec/check_nrpe -H localhost #测试,返回NRPE v2.12 则正常
  下面是定义要监控的对像,默认已经有一些项目。
  添加 command 项目:
  #vim /usr/local/nagios/etc/nrpe.conf
  command=/usr/local/nagios/libexec/check_swap -w 20% -c 10%
  测试,可以测试各个监测项目:
  #/usr/local/nagios/libexec/check_nrpe -H localhost -c check_swap
  正常能返回类似以下数据:
  SWAP OK - 100% free (2047 MB out of 2047 MB) |swap=2047MB;409;204;0;2047
  注:如果有防火墙,要打开5666端口
  2.监控主机的安装配置
  安装npre,目的生成/usr/local/nagios/libexec/check_nrpe
  #tar zxvf nrpe-2.12.tar.gz
  #./configure
  #make all
  #make install-plugin
  测试下是否可以连接到被监控机器
  #/usr/local/nagios/libexec/check_nrpe -H 192.168.2.243 #返回NRPE的版本号正常
  编辑/usr/local/nagios/etc/objects/commands.cfg , 加入一个check_nrpe 的命令定义:
  #vim /usr/local/nagios/etc/objects/commands.cfg
  #'check_nrpe' command defintion
  define command{
  command_name check_nrpe
  command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
  }
  以下增加的主机和要监控的项目:
  创建一个配置文件,定义一个define host {} 和多个 define service {} ,然后在nagios.cfg 中包含此文件
  #mkdir /usr/local/nagios/etc/linux-server
  #vim /usr/local/nagios/etc/linux-server/webserver1.cfg
  define host{
  use          linux-server
  host_name   webserver1
  alias         LAMP_Server
  address       192.168.2.243
  }
  define service{
  use             generic-service
  host_name       webserver1
  service_description   HTTP
  check_command   check_http
  }
  define service{
  use             generic-service
  host_name       webserver1
  service_description   SSH
  check_command   check_ssh
  }
  define service{
  use             generic-service
  host_name       webserver1
  service_description   SMTP
  check_command   check_smtp
  }
  define service{
  use             generic-service
  host_name       webserver1
  service_description   POP3
  check_command   check_pop
  }
  define service{
  use             generic-service
  host_name       webserver1
  service_description   check-swap
  check_command         check_nrpe!check_swap
  }
  define service{
  use             generic-service
  host_name       webserver1
  service_description   check-load
  check_command         check_nrpe!check_load
  }
  define service{
  use             generic-service
  host_name       webserver1
  service_description   check-disk
  check_command         check_nrpe!check_had1
  }
  define service{
  use             generic-service
  host_name       webserver1
  service_description   zombie_procs
  check_command         check_nrpe!check_zombie_procs
  }
  define service{
  use             generic-service
  host_name       webserver1
  service_description   check-users
  check_command         check_nrpe!check_users
  }
  define service{
  use             generic-service
  host_name       webserver1
  service_description   total_procs
  check_command         check_nrpe!check_total_procs
  }
  注:(1)定义的 define host {}继承了etc/objects/templates.cfg模板中名为linux-server的主机配置,defineservice{}则继承了etc/objects/templates.cfg 中generic-service的设置。
  (2)可以编辑templates.cfg 中参照host、service 的定义,增加自定义的host 和service , 然后在webserver1.cfg 中引用。
  (3)在webserver1.cfg 中 define host {}和 define service {} 均定重新指定templates.cfg 有关host 和 service 中的选项,会覆盖从templates.cfg继承的值。
  (4) 定义的监测项目(define service),有些是不依懒于NRPE的,有些是依懒于NRPE(check_nrpe),依懒于nrpe的监测项要在被监控的机器上nrpe.cfg有配置。
  #vim /usr/local/nagios/etc/nagios.cfg   #增加配置文件
  cfg_file=/usr/local/nagios/etc/linux-server/webserver1.cfg
  #/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg#验证配置文件语法
  #/etc/init.d/nagios restart

页: [1]
查看完整版本: Nagios3.2.3安装