本文档介绍如何使用 Nagios XI 中的自动发现来定位尚未被 Nagios XI 监控的主机和设备。
概览
Nagios XI 中的自动发现功能包括两个组件:
这会在您的网络环境中执行主机和设备的发现
使用 ping 和 nmap 执行网络扫描
使用自动发现作业的结果,您可以开始监控这些主机和设备
自动发现作业
通过导航到配置 > 配置工具 > 自动发现,可以找到自动发现作业的管理。
创建新作业
要创建新作业,请单击 + 新建自动发现作业按钮。
创建作业时所需的选项是不言自明的。 右侧的屏幕截图显示了单击“显示高级选项 +”链接后可用的其他选项。
此示例显示使用排除的 IP 扫描 C 类子网。 它已计划每天运行,并且已选择系统 DNS 选项将地址解析为 DNS 记录。
单击提交按钮以创建作业。
重新加载时,新作业将显示在自动发现页面上。
当作业正在运行或已安排但尚未运行时,“状态”列将显示一个图标。 在操作列中,您可以单击图标删除作业。
当作业完成运行时,它将显示找到了多少新设备。
在上面的截图中,如果你点击12个新链接,你将被带到自动发现配置向导,在本文件的配置向导部分有解释。
作业操作
在自动发现作业页面,行动栏提供了以下功能:
编辑作业 - 调整作业的设置
重新运行作业 - 强制作业立即运行
查看作业 - 查看有关扫描结果和部署代理的详细信息
删除作业 - 丢弃作业及其历史记录
查看作业
查看作业图标允许您查看有关已执行的网络扫描的详细信息,并将代理部署到选定的主机。
您可以查看所有主机,或仅查看发现的新主机。
您可以显示发现的服务。
此作业可以导出为 CSV。
配置向导
Auto-Discovery 配置向导将 Auto-Discovery 作业结果转换为受监控的设备。 在自动发现页面上,单击找到的设备列中的新建链接以启动向导。 您还可以
通过导航到配置 > 配置向导 > 自动发现向导来运行该向导。
作业将被自动选择。 上面的屏幕截图清楚地解释了可用选项,此示例将显示新主机,并且主机地址选项设置为 DNS 名称。
单击下一步继续执行步骤 2。
向导的第 2 步允许您准确选择要创建的主机和服务对象。 以下屏幕截图是列表中的第一个主机。
您可以更改主机和服务的名称。 创建的服务是基本的端口监控服务,更具体的监控(如负载和磁盘空间)将需要您运行提供该功能的配置向导。
您可以使用左列中主机地址旁边的复选框来选择或取消选择主机。
取消选择主机意味着不会监视右侧选择的任何服务。
左上角的复选框将在向导中选择所有主机。 这同样适用于服务复选框。
做出选择后,单击下一步,然后通过在步骤 3 - 步骤 5 中选择所需选项来完成向导。
要完成,请在向导的最后一步中单击“完成”。 这将创建新的主机和服务并开始监控。
新发现的主机
将来,重新运行自动发现作业(手动或计划)将检测尚未被 Nagios XI 监控的新主机。 这是在两个主机联机后再次执行的工作:
您现在可以看到总共有 15 个,其中检测到 2 个新设备。 单击 2 New 将允许您开始监控这些新设备。
使用 Nagios XI 监控网站
此处介绍如何使用 Nagios XI 有效监控网站。 共有三种不同的向导可帮助您监控网站的运行状况,并在网站发生意外更改或进程未按预期运行时收到通知。
注意事项
在监控网站时,通常建议检查几个关键指标的运行状态,包括:
您的监控需求会因网站的复杂性、目的和目标最终用户而异。
运行向导
要开始使用其中一个向导,请通过顶部菜单栏导航至配置 > 运行配置向导,然后从列表中选择所需的向导。 在下面的屏幕截图中,您可以看到搜索字段如何让您快速找到向导。
网站向导
这是您将用于大多数类型站点的向导,您可以在其中检查常见的服务器/站点指标。
了解其功能的最佳方式是查看它们,因此下面将介绍如何使用此向导。
从向导列表中选择网站向导。
在第 1 步中,输入您网站的 URL。 这可以是您域的首页或任何子页面。 后者仅用于检查该页面的存在和对其进行内容监控。
输入 URL 后单击下一步。
第 2 步是您定义监控选项的地方。 您可以在此处定义要为此站点添加哪些服务,包括是否:
使用 SSL (HTTPS) 以及要使用的端口
如果收到重定向响应怎么办,在这个例子中选择了跟随
凭据(如果需要)
测试以有效的 HTTP 响应进行响应
ping 检查选项
DNS解析检查
DNS 响应与运行向导时解析的 IP 地址相匹配
在页面上找到一个特定的字符串(字面意思或正则表达式)
SSL 证书的到期日期足够远
仅当您在步骤 2 中提供的 URL 以 https 开头时,使用 SSL 选项和 SSL 证书检查才可用。
完成选择后,单击下一步,然后通过在步骤 3 – 步骤 5 中选择所需选项来完成向导。
要完成,请在向导的最后一步中单击“完成”。 这将创建新的主机和服务并开始监控。 向导应用配置后,单击“查看网站状态详细信息”链接以查看创建的新主机和服务。
网站 URL 向导
网站 URL 向导与网站向导非常相似。 从向导列表中选择网站 URL 向导。
在第 1 步中,输入您网站的 URL。
输入 URL 后单击下一步。
第 2 步是您定义监控选项的地方。 您可以在此处定义要为此站点添加的服务:
服务名称前缀
使用 SSL (HTTPS) 以及要使用的端口
凭据(如果需要)
URL 状态服务
在页面内容中找到特定字符串
使用正则表达式在页面内容中找到特定字符串
完成选择后,单击下一步,然后通过在步骤 3 – 步骤 5 中选择所需选项来完成向导。
要完成,请在向导的最后一步中单击“完成”。 这将创建新的主机和服务并开始监控。 向导应用配置后,单击“查看网站状态详细信息”链接以查看创建的新主机和服务。
Web 事务向导
网站监控的一个更复杂的用例是,如果您希望内容随着用户输入和操作而动态化,并希望测试这些操作是否按预期完成。例如,您可能会测试搜索框是否有效(以及返回的结果)、您的网上商店的购买和结帐过程是否正常,或者用户是否可以成功登录。 Web 事务向导可用于这些类型的检查。此外,它允许连
续检查所有三个,以及每个阶段可能依赖于前一个阶段的其他多步骤过程。
该向导依赖于一个名为 WebInject 的工具,该工具处理事务阶段之间的转换逻辑。因此,您需要了解如何在 WebInject 语法中编写配置 XML 以配置这些类型的检查。
请注意,某些特殊字符需要转义。例如,< 应替换为 \x3C 以免干扰 XML。在 POST 数据中使用 URL 转义,因此例如 @ 变为 %40。
提供此类过程的示例可能会很快变得非常复杂。这是一个简单的例子,我们将在 Nagios Exchange 中搜索“box293”。我知道搜索结果会在结果中带有“box293”这个词,所以我要寻找这个。如果由于某种原因“box293”不在网页上,则服务将进入临界状态。
从向导列表中选择网站交易向导。
在第 1 步输入您要分配给此 WebInject 测试的事务名称。您还需要提供该网站的主要 URL。点击下一步。
在第 2 步中,您需要确保正确填充了主机名和 IP 地址字段。
然后您需要提供将用于此事务的测试用例数据。 文本字段将已经填充了 id 1 的第一种情况。
在右侧的屏幕截图中,您可以看到添加了 id 2 的附加案例。 全文包含在下一页中。
这里执行的魔术是: url = 这是用于此测试用例的 URL。
postbody = 这些是发布到 url 的字段/命令。 这取决于您的实际
网站。 在此示例中,它正在搜索单词 box293。
verifypositive = 这是返回的数据中需要存在的内容,在本例中,单词 box293 必须存在才能成功完成此案例。
您还可以指定适用的超时期限。
完成选择后,单击“下一步”,然后通过在步骤 3 – 步骤 5 中选择所需选项来完成向导。要完成,请单击向导最后一步中的“完成”。 这将创建新的主机和服务并开始监控。
向导应用配置后,单击“查看 Nagios Exchange 的状态详细信息”链接以查看创建的新主机和服务。
这是向导第 2 步屏幕截图中显示的测试用例数据。
id="1"
url="https://exchange.nagios.org/"
/>
id="2"
method="post"
url="https://exchange.nagios.org/index.php"
postbody="option=com_mtree&task=search&searchword=box293"
verifypositive="box293"
/>
WebInject 事务故障排除
如果由于某种原因事务不能正常工作,您将需要调整向导创建的配置文件中的测试用例数据。 您可能还想在命令行运行事务以确切了解发生了什么。 所有事务配置文件都位于 Nagios XI 服务器上的以下目录中:
/usr/local/nagiosxi/etc/components/webinject/
在刚刚运行的向导中,创建了两个文件:
exchange_nagios_org__Nagios_Exchange_Search___box293_config.xml exchange_nagios_org__Nagios_Exchange_Search___box293_testdata.xml
以 _testdata.xml 结尾的文件是包含测试用例数据的文件,它与您粘贴到配置向导中的完全一样。 以 _config.xml 结尾的文件告诉 WebInject 如何运行测试数据。
为了证明测试用例数据确实有效,我将更改 postbody = 行以搜索单词“box294”,这应该返回一个关键结果,因为 Nagios Exchange 上没有任何内容污染单词“box294”。
完成更改后,我将使用以下命令从命令行运行测试:
cd /usr/local/nagiosxi/etc/components/webinject/ ./webinject.pl -c exchange_nagios_org__Nagios_Exchange_Search___box293_config.xml
您应该会收到以下输出:
WebInject CRITICAL - Test case number 2 failed |time=10.126;30;;0
如果您想要更详细的输出,您需要编辑 _config.xml 文件并将报告类型更改为
标准:
standard
现在,当您运行上面的命令时,输出将类似于:
正在启动 WebInject 引擎...
-----------------------------------------------------
Test: exchange_nagios_org__Nagios_Exchange_Search___box293_testda
ta.xml - 1 Passed HTTP Response Code Verification (not in error range) TEST CASE PASSED
Response Time = 3.482 sec
-------------------------------------------------------
Test: exchange_nagios_org__Nagios_Exchange_Search___box293_testdata.xml - 2
Verify : "box293"
Failed Positive Verification
Passed HTTP Response Code Verification (not in error range)
TEST CASE FAILED
Response Time = 3.337 sec
-------------------------------------------------------
Start Time: Thu Dec 8 17:09:14 2016
Total Run Time: 6.862 seconds
Test Cases Run: 2
Test Cases Passed: 1
Test Cases Failed: 1
Verifications Passed: 2
Verifications Failed: 1
完成故障排除后,不要忘记将报告类型更改回 nagios:
nagios
示例:使用在线商店
此示例更全面地演示了 WebInject 如何用于在线商店以及如何通过 O'Reilly Media 的网站将商品放入购物车。 值得注意的是,这个示例是在过去的某个时间创建的,由于网站现在可能已经更新,因此现在可能无法实际工作,但概念仍然相同,值得保留在文档中。
通过精心设计不同的步骤和大量足够具体的 verifypositive 和 verifynegative 参数,可以通过这个单一的 Nagios 服务确认大量信息。
1rc94d+86yw3m9jrqj18@sharklasers.com holden123
id="1"
description1="Login page"
url="https://members.oreilly.com/account/login"
parseresponse='_authentication_token" type="hidden" value="|"|escape' verifypositive="Sign in"
/>
id="2"
description1="Sign in"
url="https://members.oreilly.com/account/login"
method="post"
postbody="email=${USER}&password=${PASS}&_authentication_token={PARSEDRESULT}"
verifypositive="https://members.oreilly.com/account/benefits"
parseresponse="found at |;"
/>
id="3"
description1="Members page"
url="{PARSEDRESULT}"
verifypositive="view or edit your account information"
/>
id="4"
description1="Book price"
url="http://oreilly.com/catalog/9781593271794/"
verifypositive="59.95"
/>
id="5"
description1="Book added to cart"
url="https://epoch.oreilly.com/shop/cart.orm?prod=9781593271794.BOOK"
verifypositive="Nagios, 2Ed"
/>
id="6"
description1="Book still in cart"
url="https://epoch.oreilly.com/shop/cart.orm"
verifypositive="Nagios, 2Ed"
verifynegative="Backorder"
/>
id="7"
description1="Logout"
url="https://members.oreilly.com/account/logout"
verifypositive="http://oreilly.com/"
parseresponse="found at |;"
/>
id="8"
description1="Main page"
url="{PARSEDRESULT}"
verifypositive="News & Commentary"
/>