Nagios 易失性服务

介绍

Nagios Core能够区分“正常”服务和“易失”服务。每个服务定义中的is_volatile选项允许您指定特定服务是否易失。对于大多数人而言,所有受监视服务中的大多数都是非易失性的(即“正常”)。但是,易失性服务在正确使用时可能非常有用。

它们有什么用?

易失性服务对于监控非常有用

  • 每次检查时自动重置为“ OK”状态的事物
  • 安全警报等事件,每次出现问题时都需要引起注意(而不仅仅是第一次)

易失性服务有何特别之处?

易失性服务在三个重要方面不同于“常规”服务。每次检查它们处于硬性非正常状态时,检查都会返回非正常状态(即未发生状态更改)

  • 记录非正常服务状态
  • 通知联系人有关该问题的信息(如果那是应该做的)。注意:对于易失性服务,通知间隔将被忽略。
  • 服务的事件处理程序正在运行(如果已定义)

这些事件通常仅在服务处于非OK状态并且刚发生硬状态更改时才发生。换句话说,它们仅在服务首次进入非OK状态时发生。如果将来对服务的检查导致相同的非OK状态,则不会发生硬状态更改,并且提到的事件均不会再次发生。

 提示:如果仅对日志记录感兴趣,请考虑使用跟踪选项。

易失性服务和被动服务检查的功能叠加

如果将易失性服务和被动服务检查的功能结合在一起,则可以做一些非常有用的事情。这样的示例包括处理SNMP陷阱,安全警报等。

举个例子。假设您正在运行PortSentry,以检测计算机上的端口扫描并自动对潜在的入侵者进行防火墙保护。如果要让Nagios知道端口扫描,可以执行以下操作:

Nagios配置:
  • 创建一个称为“端口扫描”的服务定义,并将其与运行PortSentry的主机相关联。
  • 将服务定义中的max_check_attempts指令设置为1。这将通知Nagios在报告非OK状态时立即将服务强制进入硬状态
  • 将服务定义中的active_checks_enabled伪指令设置为0。这可以防止Nagios主动检查服务。
  • 将服务定义中的passive_checks_enabled伪指令设置为1。这将启用对服务的被动检查。
  • 在服务定义中将此is_volatile伪指令设置为1。
PortSentry配置:

编辑您的PortSentry配置文件(portsentry.conf),并为KILL_RUN_CMD指令定义一个命令,如下所示:

KILL_RUN_CMD="/usr/local/Nagios/libexec/eventhandlers/submit_check_result host_name 'Port Scans' 2 'Port scan from host $TARGET$ on port $PORT$.  Host has been firewalled.'"

确保将host_name替换为与服务关联的主机的简称。

端口扫描脚本:

/ usr / local / nagios / libexec / eventhandlers目录中创建一个名为Submit_check_result的shell脚本。Shell脚本的内容应类似于以下内容。

    #!/bin/sh
 
    # Write a command to the Nagios command file to cause
    # it to process a service check result
 
    echocmd="/bin/echo"
 
    CommandFile="/usr/local/nagios/var/rw/nagios.cmd"
 
    # get the current date/time in seconds since UNIX epoch
    datetime=`date +%s`
 
    # create the command line to add to the command file
    cmdline="[$datetime] PROCESS_SERVICE_CHECK_RESULT;$1;$2;$3;$4"
 
    # append the command to the end of the command file
    $echocmd $cmdline >> $CommandFile

PortSentry将来在计算机上检测到端口扫描时会发生什么?

  • PortSentry将对主机进行防火墙(这是PortSentry软件的功能)
  • PortSentry将执行submit_check_result Shell脚本并将被动检查结果发送给Nagios
  • Nagios将读取外部命令文件,并查看PortSentry提交的被动服务检查
  • Nagios将把“端口扫描”服务置于“严重”状态,并向联系人发送通知

觉得文章有用?

点个广告表达一下你的爱意吧 !😁