文章

Nagios 使用

2018-08-28  本文已影响0人  zpei0411

Nagios 工作原理

Nagios 由 core 和 plugin 构成,core 提供监控的处理、任务调度、下发指令的功能,plugin 执行具体的监控指令、返回监控的结果
Nagios 系统中的角色可以分为:
1)Nagios服务器: 安装 core,负责整体调度和 web 展示
2)被监控主机: 安装 plugin 和 代理模块
Nagios 服务器向代理模块发送请求,代理模块调用各个插件获取具体资源的状态信息,然后返回给 Nagios 服务器,最后对收集到的信息进行分析,通过 web 应用进行展示

安装

具体的安装参考文档 https://blog.csdn.net/zstack_org/article/details/53376940https://www.digitalocean.com/community/tutorials/how-to-install-nagios-4-and-monitor-your-servers-on-ubuntu-16-04

Nagios 与远程主机的沟通有多种方式,例如 SNMP、Nrpe、SSH 等

  1. Nrpe
    Nrpe 有两部分组成:
    1)check_nrpe 插件,位于 Nagios 服务器
    2)nrpe daemon,运行在远程主机上,是被监控主机的 agent


    image.png

    1)Nagios 运行 check_nrpe 插件,说明要获取哪些信息
    2)check_nrpe 连接到远程的 nrpe daemon
    3)nrpe daemon 运行相应的插件执行检查
    4)nrpe daemon 将检查结果返回给 check_nrpe,然后交给 nagios 处理

配置文件解析

安装完之后,各个配置文件的作用需要搞清楚:
nagios安装完毕后,默认的配置文件在/usr/local/nagios/etc目录下
每个文件的介绍见这篇文章 https://www.jianshu.com/p/75aa00642f6a

  1. 配置文件之间的关系
    在nagios的配置过程中涉及到的几个定义有:主机、主机组,服务、服务组,联系人、联系人组,监控时间,监控命令等,从这些定义可以看出,nagios各个配置文件之间是互为关联,彼此引用的。
    成功配置出一台nagios监控系统,必须要弄清楚每个配置文件之间依赖与被依赖的关系,最重要的有四点:
    第一:定义监控哪些主机、主机组、服务和服务组
    第二:定义这个监控要用什么命令实现,
    第三:定义监控的时间段,
    第四:定义主机或服务出现问题时要通知的联系人和联系人组。

简述我的配置过程

1. 服务器端的配置

1)如果是要监控服务端本身,则需要在 localhost.cfg 中配置本地的 service 命令,这里的service 最终调用的是 command.cfg 里列出的命令,还需要注意的是将 localhost.cfg 在 nagios.cfg 中的#去掉,打开它
2)如果是监控其他远程主机,则需要
-- a. 在服务器端首先在 objects 下建 hosts.cfg 专门存放 host 和 hostgroup,
-- b. 在 commands 里写入 check_nrpe 命令,因为最终服务器是通过这个命令去调远程主机的 nrpe deamon

define command{
        command_name    check_nrpe
        command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
        }

-- c. 在 etc 下建一个 servers,用来在里面创建各个host 或者 hostgroup 对应的 service 命令


image.png
image.png
image.png

-- d. 如果有 hostgroup 的可以直接使用 hostgroup_name 来监控多个主机


image.png
-- e. 记得将 nagios.cfg 里的 cfg_dir 和 hosts.cfg 打开
image.png
-- f. 每次服务器端更改完 service nagios reload 一下
2. 被监控端的配置

主要是修改 nrpe.cfg 里的配置:
1)将 server_address 修改为本机地址
2)allowed_hosts 里加入服务器端地址
3)将 command 加进去,注意各种插件的位置,方括号里的名称注意与服务器端的services 里的 command 名称保持一致


image.png

插件的使用

  1. check_ping
    例如: ./check_ping -H 8.8.8.8 -w 200,20% -c 300,50% -p 3 -t 2
    -H 目标主机
    -w 延时200丢包20%
    -c 延时300丢包50%
    延时有3个范围: 延时 小于 200,延时 在 200 - 300 范围内,延时 大于 300
    小于则输出 OK 正常
    范围内则输出 WARNING 警告
    大于则输出 CRITICAL 宕机
  2. check_load
    例如: check_load -w 15,10,5 -c 30,25,20
    当1分钟多于15个进程等待,5分钟多于10个,15分钟多于5个则为 warning 状态
    当1分钟多于30个进程等待,5分钟多于25个,15分钟多于20个则为 critical 状态
  3. check_http
    检测指定主机上的http服务,可以是http或者https,可以重定向,查找字符串,正则表达式,检测链接次数,证书过期时间。

问题记录

  1. 如下图,主机状态down,但服务状态 up


    image.png

    原因:目的主机防火墙禁止PING响应
    解决:查看主机状态信息并关闭主机活动检测,这样做可以将报警关闭,因为有时被监测主机确实是不允许 ping


    image.png
    image.png
    image.png
    image.png
上一篇 下一篇

猜你喜欢

热点阅读