热门IT资讯网

Nagios学习笔记之(二)监控部署

发表于:2024-11-28 作者:热门IT资讯网编辑
编辑最后更新 2024年11月28日,Nagios学习笔记之(二)监控部署前言:本篇致力于初涉Nagios的同学,老鸟绕行!前面已经把最基本的Nagios以及插件安装好了,现在只能对本机进行监控,要想监控远程主机,就必须通过类似于NRPE

Nagios学习笔记之(二)监控部署

前言:本篇致力于初涉Nagios的同学,老鸟绕行!前面已经把最基本的Nagios以及插件安装好了,现在只能对本机进行监控,要想监控远程主机,就必须通过类似于NRPE的软件来实现。监控端和被监控端都要装nrpe,因为靠此来通信,nrpe是通过ssl来通信的,所以比较安全。用到ssl就得装相关支持的包:yum -y install openssl openssl-devel现在开始来安装nrpe:以下操作在监控端进行:首先把下载下来的nrpe-2.12.tar解压(自行网上下载)
  1. #tar zxf nrpe.2.12.tar

  2. #cd nrpe-2.12

  3. #./configure

  4. #make all

  5. #make install-plugin

安装完成后会在/usr/local/nagios/libexec/下生成check_nrpe文件下面定义一个check_nrpe监控命令(默认装好以后没有被nagios调用)顺带说下监控整体思想:1.要定义监控的主机或服务2.执行什么命令来监控3.出现问题要通知的人4.采用什么方式通知,邮件|短信 -----后续再细说修改/usr/local/nagios/etc/commands.cfg(定义命令的文件),添加如下内容:
  1. define command {

  2. command_name check_nrpe

  3. command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$

  4. }

至此监控端暂时完事。以下操作在被监控端进行:需要两个文件:nagios-plugins-1.4.15.tar (nrpe依赖于这个插件)

nrpe-2.12.tar (远程通信)

yum -y install xinetd

首先创建安装用户:useradd -s /sbin/nologin nagios解压安装Nagios插件:
  1. #tar xzf nagios-plugins-1.4.15.tar.gz

  2. #cd nagios-plugins-1.4.15

  3. #./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios

  4. #make && make install

解压安装nrpe:
  1. #tar zxf nrpe.2.12.tar

  2. #cd nrpe-2.12

  3. #./configure

  4. #make all

  5. #make install-plugin

  6. #make install-daemon

  7. #make install-daemon-config

  8. #make install-xinetd

安装完毕。接下来把nrpe交由xinetd来监听(好处:修改nrpe的配置文件不需要重启服务)vim /etc/xinetd.d/nrpe将only_from = 后面加上监控端的地址确保/etc/services有nrpe 5666/tcp #NRPE这一行,没有则添加重启xinetd服务,至此被监控端配置完毕。接下来测试下连通性,在监控端执行:/usr/local/nagios/libexec/check_nrpe -H 被监控端的地址如能显示 "NRPE v2.12",表明NRPE可以和被监控端正常通信。部署前的工作基本OK了。下面来说说,服务器上具体是怎么部署监控的。首先来看下Nagios的目录结构bin #存放执行文件,如nagios,以及后续安装的扩展程序etc #存放配置文件,如nagios.cfg主配文件,平时部署维护操作最多的文件夹include #存放引用文件,默认为空libexec #存放执行命令,如check_load等,里面有很多命令,需要熟练掌握sbin #存放一些cgi,平时一般不用动share #存放一些网页文件,平时一般不用动var #存放一些产生的数据文件,平时一般不用动比较重要的就是etc和libexec。下面说下如何定义一台主机以及主机上的服务:首先修改:/usr/local/nagios/etc/nagios.cfg去掉cfg_dir=/usr/local/nagios/etc/servers前面的注释mkdir //usr/local/nagios/etc/servers将来新建的主机以及服务都可以存放在这下面,建议把主机和服务写在一个配置文件中,按主机来划分,便于管理。例如:要监控一台http服务器可以在servers下面新建一个以cfg结尾的文件vim simple-http.cfg
  1. define host{ #定义一个主机

  2. use linux-server #引用etc/objects/templates.cfg中的linux-server配置(后续细说)

  3. host_name http #定义一个主机名,并不是http的实际主机名,任意即可,但要继续,后面要调用

  4. alias http #定义一个别名

  5. address 192.168.1.1 #指定地址

  6. }

  7. define service{ #定义一个服务

  8. use generic-service #引用etc/objects/templates.cfg中的generic-service配置(后续细说)

  9. host_name http #引用主机名

  10. service_description CPU Load #定义监控服务名,就是在web网页上显示的服务名

  11. check_command check_nrpe!check_load #定义要执行的命令:让check_nrpe调用被监控端的check_load命令执行

  12. } #以下类似(备注:每条定义的命令都必须在etc/nrpe.cfg中明确定义)

  13. define service{

  14. use generic-service

  15. host_name http

  16. service_description Current Users

  17. check_command check_nrpe!check_users

  18. }

  19. define service{

  20. use generic-service

  21. host_name http

  22. service_description Disk Free Space /

  23. check_command check_nrpe!check_root

  24. }

  25. define service{

  26. use generic-service

  27. host_name http

  28. service_description Total Processes

  29. check_command check_nrpe!check_total_procs

  30. }

  31. define service{

  32. use generic-service

  33. host_name http

  34. service_description Zombie Processes

  35. check_command check_nrpe!check_zombie_procs

  36. }

保存以后,check一下,没问题重载nagios的配置文件service nagios reload登录网页后就会看见定义监控的项目了。


后续:配置文件详解




Nagios全系列笔记:

Nagios学习笔记之(一)最初搭建

Nagios学习笔记之(二)监控部署

Nagios学习笔记之(三)配置详解

Nagios学习笔记之(四)外部扩展

Nagios学习笔记之(五)后期维护




0