清风听雨 发表于 2019-1-13 12:52:22

nagios 目录、文件简介及服务配置

  服务端目录介绍:
binNagios 可执行程序所在目录nagiosnagiostatsnrpe
etc  Nagios 配置文件所在目录 nagios.cfg 包含其它配置文件
  htpasswd.users 密码文件       nrpe.cfg   客户端配置文件

sbin  Nagios CGI 文件所在目录,也就是执行外部命令所需文件所在的目录
  histogram.cgi      showlog.cgi    statuswrl.cgi
shareNagios网页文件所在的目录libexecNagios 外部插件所在目录check_ifstatus      check_nrpevarNagios 日志文件、lock 等文件所在的目录 nagios.log
var/archivesNagios 日志自动归档目录var/rw用来存放外部命令文件的目录  

  位置:etc/objects/
  commands.cfg存放nagios命令相关配置(也可以指定commands目录),这里的命令不是系统的命令。而是实现把nagios里的命令和linux系统里的插件命令关联的一个文件
  

  services.cfg    存放具体被监控的服务相关配置内容(上百台以上可以指定services目录,默认无)

  

  hosts.cfg       存放具体被监控的主机相关配置(上百台以上可以指定hosts目录,默认不存在)

  

  contacts.cfg    存放报警联系人相关的配置文件
  

  timeperiods.cfg 存放报警周期时间等相关配置
  
templates.cfg~模版配置文件,模版的存在是为了方便的配置服务配置,类似shell的函数。
  服务端主配置文件简介及配置准备
  

  文件生成:

  到etc/objects利用localhost.cfg 生成hosts.cfg文件

  head -51 localhost.cfg >hosts.cfg
  chown-R nagios.nagios hosts.cfg
  创建serveses.cfg文件
  touch services.cfg
  chown-R nagios.nagiosservices.cfg
  

  注意备份:tar zcvfetc.nagios.tar.gz etc/
  vi nagios.cfg +34
  cfg_file=/usr/local/nagios/etc/objects/commands.cfg
          cfg_file=/usr/local/nagios/etc/objects/contacts.cfg
          cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg
          cfg_file=/usr/local/nagios/etc/objects/templates.cfg
  #包含关系,注意是通过cfg_file= 包含的
  添加 :   cfg_file=/usr/local/nagios/etc/objects/services.cfg
  cfg_file=/usr/local/nagios/etc/objects/hosts.cfg
  

  39 #cfg_file=/usr/local/nagios/etc/objects/localhost.cfg
  #不使用localhost.cfg(本机的监控):
  

  53 # directive as shown below:
          55 #cfg_dir=/usr/local/nagios/etc/servers
  #注意:nagios 也可以包含目录
  x保存退出
  118 status_update_interval=5
  #监控状态更新间隔
  164command_check_interval=2
  #尽可能的检测参数,不要-1

  384 max_service_check_spread=30
  #最大的服务检查间隔

  


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

服务端检测服务配置:  vi /usr/local/nagios/etc/objects、hosts.cfg
  #被监控主机的节点

  define host{
      use               linux-server
  #->/usr/local/nagios/etc/objects/templates.cfg基于模版                host_name               主机名
      alias               别名
      address             节点ip
      }
  主机分组:
  define hostgroup{
      hostgroup_namelinux-servers
      alias         Linux Servers
      members         nagios-server22,nagios-server23
                }
  #逗号,分隔主机
  -----------------------------------------------------------------------------------------

  vi/usr/local/nagios/etc/objects/serveses.cfg
  #定义一个监控的服务:
define service{
      use                      generic-service ;服务模版
      host_name                nagios;监控主机名
      service_description      Disk Partition ;监控磁盘分区
      check_command         check_nrpe!checck_disk ;监控命令
}
  ------------------------------------------------------------------------------------------

  vi/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$
      }
  -H 主机地址 -c指定参数(客户端check名,不可以随便更改)
  范例:/usr/local/nagios/libexec/check_nrpe-H 10.0.0.22 -c check_disk
  

  检查语法:/etc/init.d/nagios checkconfig   (无具体的错误信息)
  通过修改:vim /etc/init.d/nagios+183
  183               $NagiosBin -v $NagiosCfgFile   

  #显示错误信息

  或者:/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
  

  重启完毕:/etc/init.d/nagios reload
  

  

  

nagios报错Connection refused by host
排查时根据nagios监控原理排查
客户端 /usr/local/nagios/libexec/check_nrpe-H 10.0.0.23 -c check_disk
防火墙关闭
selinux 关闭
nrpe守护进程是否启动
ss检查端口是否正常
nrpe.cfg 中是否允许服务端连接
是否定义检查的命令
检查检测命名是否有x权限



服务端:/etc/init.d/nagios reload
在配置文件问否正确
检测命令名是否正确;



页: [1]
查看完整版本: nagios 目录、文件简介及服务配置