Nagios Log Server--日志事件警报
本文档介绍如何在 Nagios Log Server 中创建各种警报,例如使用 Nagios 远程数据处理器 (NRDP) 将它们发送到 Nagios XI 或 Nagios Core 监控服务器、发送电子邮件、发送 SNMP 陷阱和执行脚本。
警报类型
Nagios Log Server 中可以定义三种类型的警报:
这些基于已定义的查询结果(位于仪表板菜单中),因此您需要在创建警报之前定义查询。
通过这些警报,每隔一段时间(通常为 5 分钟)查询数据并检查是否有任何异常。 这意味着,对于关键问题,警报可能会延迟最多该检查间隔。
实时警报是一种规避与基于间隔的查询相关的延迟的方法。 相反,它们存在于 Logstash 配置本身中,根据“异常”标准检查每个事件。
应谨慎使用此功能,因为过多的 Logstash 过滤器可能会降低性能。 但是,对于某些关键事件,这可能是值得的。
基于先前配置的主机的警报,您的 Nagios Log Server 实例不再从这些主机接收日志数据。
Nagios Log Server中的警报
在 Nagios Log Server 中,从导航栏中选择警报。
这是管理和创建警报的中心位置。 您还可以从仪表板菜单创建警报,一旦创建,它们就会显示在此处。
Nagios Log Server 中有多种警报方法可用。
某些警报方法要求您先定义设置(例如 NRDP 服务器),然后才能创建警报。 首先解释这些设置。
NRDP
警报可以发送到运行 NRDP 的 Nagios XI 或 Nagios Core 服务器。 Nagios XI 预装了 NRDP,所需要做的就是配置您要使用的令牌。 如果您使用 Nagios Core,您需要先安装然后配置 NRDP。
在 Nagios Log Server 中,在左侧窗格中的 “警报设置” 下单击 Nagios / NRDP,然后单击 “添加NRDP Server” 按钮。
您需要提供以下信息:
名称:您要添加的 NRDP 服务器的名称。
NRDP 地址:配置的 Nagios 服务器 NRDP 的地址(必须包含 URL 的 http:// 部分)。
NRDP 令牌:提供您在 Nagios XI 或 Nagios Core 服务器上定义的令牌。
单击添加按钮以定义 NRDP 服务器。
这样就完成了添加 NRDP 服务器作为警报方法的工作。 请继续阅读本文档中的创建警报部分以定义使用 NRDP 的警报。
执行脚本
Nagios 日志服务器允许您执行脚本作为警报方法。 您需要确保该脚本存在于集群中的所有实例上。 该脚本在集群的主节点上执行,这可以随时更改为集群中的任何实例,因此脚本需要位于所有实例上。
在您的所有实例上放置脚本后,请继续阅读本文档中的创建警报部分以定义执行脚本的警报。
SNMP 陷阱接收器
为了能够向SNMP Trap接收器发送警报,你需要定义陷阱接收器的细节。在Nagios日志服务器中,在左侧窗格中的警报设置下点击SNMP Trap接收器,然后点击添加SNMP Trap接收器按钮。
您需要提供以下信息:
名称:您要添加的 SNMP 陷阱接收器的名称。
Receiver Address:接收陷阱的地址。 可能是 NSTI 服务器或正在侦听传入陷阱的 Nagios XI 服务器。
您还需要定义可以发送陷阱的端口(162 是标准默认值)。
SNMP 版本:您使用的 SNMP 版本,更改版本将更改可用的陷阱安全选项。
版本 2c
社区字符串:SNMP 陷阱接收器将接受陷阱的社区字符串。 这通常是公开的,但取决于您的 SNMP 陷阱接收器的配置方式。
版本 3
授权级别:用于发送 SNMP v3 陷阱的授权方法。 您在此处的选择定义了显示的相关授权和隐私字段。
单击添加按钮以定义 SNMP 陷阱接收器。
这样就完成了添加 SNMP 陷阱接收器作为警报方法的工作。 请继续阅读本文档中的创建警报部分以定义使用 SNMP 陷阱的警报。
给用户发邮件
为了能够在 Nagios Log Server 中发送电子邮件警报,您需要使用正确定义的电子邮件地址创建 Nagios Log Server 用户帐户。
创建所需用户后,请继续执行本文档中的创建警报部分,以定义使用电子邮件的警报。
创建警报
现在您已经定义了警报方法,下一步是添加警报。 在 Nagios Log Server 中,在 Alerting 下的左窗格中单击 “警报”,然后单击 “新警报” 按钮。
将显示创建警报弹出窗口。 最后一个选项 Alert Method 将根据选择的方法显示其他选项(稍后解释)。 所有其他选项对于选择的任何警报方法都是通用的,将首先解释这些。 下面针对每种警报方法类型有单独的部分:
创建警报 - 查询
警报名称 - 您要为此警报提供的描述性名称。
类型 - 选择查询
查询 - 您希望此警报基于的预定义查询。 此示例使用 Nagios Log Server 中包含的 Failed SSH Logins 查询。
检查间隔 - 这是您希望检查此警报的频率。
回溯周期 - 检查查询时在日志数据中回溯多远。
阈值 - 这定义了警报的严重性。 执行查询时(对于定义的回溯期),查询返回的事件数是测试阈值所依据的值。 左栏是警告阈值,右栏是临界阈值。 在这个例子中:
当超过 0 个匹配项时,警报将是 警告
当超过 2 个匹配项时,警报将是 临界
只有在达到警告或严重临界值时才发出警报是一个重要选项,您的选择取决于您的要求。 以下是您为什么要启用/禁用此功能的一些示例。
警报仅在达到警告或临界阈值时应用于您的警报方法
您只会在出现问题时收到警报
当问题不再发生时,您将不会收到通知
无论是否达到阈值级别,警报都会应用于您的警报方法
每次运行警报时您都会收到警报(检查间隔)
使用电子邮件警报时这可能会很吵
如果使用 NRDP,每次运行警报时,Nagios [XI / Core] 中的状态都会更新
创建警报 - 实时
警报名称 - 您要为此警报提供的描述性名称。
类型 - 选择实时
标准 - 您可以在此处定义将触发此警报的字段。 您应该尽可能具体,以确保您不会收到过多的警报。
在右侧的屏幕截图示例中,您可以
看到已经定义了两个需要匹配的字段,因为已经选择了 and 运算符。
当您选择运算符时,会自动添加另一个字段,稍后将解释有关运算符的更多信息。
每个字段都有一个比较运算符,用于确定该字段是否被触发。 在上面的示例中,第一个字段使用字符串比较 == 来匹配程序名称。 第二个字段使用正则表达式 =~ 查找短语 Failed password,这已用正斜杠括起来。
== 等于
!= 不等于
=~ 正则表达式匹配
!~ 非正则表达式匹配
确保将正则表达式括在正斜杠中 //
可以使用以下运算符进行数值比较:
字段之间可用的运算符如下:
Rate Limit 的存在是为了打击垃圾邮件。 每个实例最多每 n 秒发出一次警报。 例如。 对于速率限制为 5 的 3 节点集群,您每 5 秒最多会收到 3 个警报。
要立即激活警报,您需要选择“保存并应用配置”。 这将重新启动 Logstash 服务,这可能需要几分钟才能重新启动。 如果您一次创建多个警报,建议取消选中此项,然后在创建所有警报后导航到配置菜单以应用配置。
创建警报 - 主机刷新
警报名称 - 您要为此警报提供的描述性名称。
类型 - 选择主机刷新
主机 - 使用 CIDR 表示法定义要检查的主机。 可以使用逗号指定多个子网,目前仅支持 IPv4。 您可以使用 /32 子网掩码指定单个主机,例如 192.168.130.22/32。
阈值 - 这是触发警报的原因。 主机新鲜度检查的一个常见用途是检测主机何时不再向 Nagios Log Server 发送日志。 通过将 0 用于警告和严重,这将触发严重情况。 Nagios Log Server 轮询 24 小时内未发送数据的主机,并将这些主机填充到表中。 主机新鲜度警报每小时运行一次,以检查是否在该表中找到了配置中的主机。
警报方法
创建警报的最后一部分是选择警报方法和相关选项。
Nagios(使用 NRDP 发送)
NRDP 服务器 - 这将填充您已添加到 Nagios Log Server 的 NRDP 服务器,选择您要向其发送警报的服务器。
主机名 - 此警报将针对的 Nagios XI 或 Nagios Core 中的主机。
Servicename - 此警报将针对的 Nagios XI 或 Nagios Core 中的服务。
单击“创建警报”按钮创建新警报,它现在将显示在“警报”>“警报”下。
警报所针对的所有 Nagios [XI/Core] 主机和服务对象的列表可以在警报设置 > Nagios / NRDP 下看到。
执行脚本
脚本 - 添加脚本的绝对文件路径
想要访问本地 Nagios 日志服务器。
参数 - 您将在此处指明脚本将接受的参数。 还有一个上下文变量列表,这些变量将被正在处理的警报的状态替换,这些变量可以在参数字段中使用。
单击“创建警报”按钮创建新警报,它现在将显示在“警报”>“警报”下。
发送 SNMP 陷阱
Trap Receiver - 这将填充您已经添加到 Nagios Log Server 的 SNMP Trap 服务器,选择您要向其发送警报的服务器。
单击“创建警报”按钮创建新警报,它现在将显示在“警报”>“警报”下。
以下是 Nagios Log Server 发送的接收陷阱示例:
1490057206
nls-c6x-x64.box293.local
UDP: [10.25.5.84]:45184->[10.25.5.17]:162 DISMAN-EVENT-MIB::sysUpTimeInstance 1:1:15:53.53 SNMPv2-MIB::snmpTrapOID.0 SNMPv2-SMI::enterprises.20006.1.7 SNMPv2-SMI::enterprises.20006.1.3.1.2 "NagiosLogServer" SNMPv2-SMI::enterprises.20006.1.3.1.6 "Failed SSH Logins" SNMPv2-SMI::enterprises.20006.1.3.1.7 1
SNMPv2-SMI::enterprises.20006.1.3.1.17 "WARNING: 1 matching entries found |logs=1;0;2"
以下是警报在 Nagios Log Server 界面中的显示方式:
给用户发送邮件
选择用户 - 选择您希望将此警报通过电子邮件发送给的所有用户。
电子邮件模板 - 选择发送电子邮件时将使用的模板。 有关定义自定义电子邮件模板的更多信息,请参阅本文档的电子邮件模板部分中的电子邮件模板。
单击“创建警报”按钮创建新警报,它现在将显示在“警报”>“警报”下。
警报措施
导航到警报 > 警报以查看已定义的所有警报。 里面有几个选项
操作栏,解释如下:
在仪表板中显示警报
这将在仪表板中打开此警报使用的查询,包括为警报定义的回顾期
立即运行警报
使警报查询立即运行
停用/激活此警报
允许您激活或停用警报
编辑警报
对您定义的现有警报进行更改
移除
允许您删除不再需要的警报
警报查询
添加新警报时,您将看到一个已定义查询的下拉列表。 选择所需的查询并创建警报后,这将创建您选择的查询的副本。
如果您稍后更改仪表板页面上的原始查询,此更改将不会反映在警报定义中。
如果要更新警报查询,请编辑现有警报,然后单击高级(管理查询)链接。
在右侧的屏幕截图中,您可以看到原始查询,这是警报使用的查询。
要更新警报以使用新查询,请从下拉列表中选择它,然后单击加载按钮(这将替换下面的查询文本)。
或者,您可以在文本区域字段中编辑查询。
电子邮件模板
Nagios Log Server 允许您创建自定义电子邮件模板,允许您拥有不同格式的警报电子邮件。 导航到警报 > 警报设置 > 电子邮件模板。
电子邮件模板宏
当您创建电子邮件模板时,您可以使用宏将动态数据添加到您的电子邮件中,例如 %state% 是警报的状态 (OK / WARNING / CRITICAL / UNKNOWN)。 查看宏按钮提供了可在模板中使用的宏列表以及说明。
要创建新模板,请单击 + 添加模板按钮。
您需要填写模板名称、主题和消息正文字段。
加载按钮可用于根据系统默认或当前默认模板填充所有字段。
单击添加按钮以创建模板。
电子邮件模板屏幕在列表中显示新创建的模板。
操作列允许您编辑和删除列表中的模板。
在上面的屏幕截图中,您可以看到默认电子邮件模板当前是系统默认值。 您可以通过单击更改链接并选择首选模板来更改此设置。 此设置适用于选择了系统默认值的所有警报。
您还可以通过单击上面的系统默认链接来修改实际的系统默认模板。