问题标签 [nagiosxi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
345 浏览

arrays - check_json.pl 中 JSON 查询的属性语法

所以,我试图在 NagiosXI 中设置 check_json.pl 来监控一些统计数据。https://github.com/c-kr/check_json

我正在使用带有我在拉取请求 #32 中提交的修改的代码,因此行号反映了该代码。

json 查询返回如下内容:

我正在尝试监视特定文件的大小。所以检查应该是这样的:

...我试图找出一些东西,以便我可以监控 customer2 中 filename1 的 total_bytes,我知道 customer_id 和索引,但不知道它们在各自数组中的位置。

我可以通过使用字符串“”来监控 customer1 的总字节数,[0]->{'total_bytes'}但我需要能够指定哪个客户并深入挖掘文件名(已知)和文件大小(要监控的统计信息)并且工作查询只给我状态(好的、警告或严重)。添加 -p 我得到的只是错误....

-p 的错误,无论我如何表达它总是:

即使我可以从示例“ [0]->{'total_bytes'}”中获得有效的 OK,在 -p 中使用它仍然会给出相同的错误。

指向有关使用格式的文档的链接将非常有帮助。脚本的自述文件或 -h 输出中的示例在这里失败了。有任何想法吗?

0 投票
1 回答
598 浏览

linux - 如何为 nagios check_http 设置自定义警告和关键时间?

我当前对主机的服务定义如下所示

我想将 check_http 的警告和关键时间增加到 5 分钟(警告)和 10 分钟(关键)

我的 nagios 服务器上的命令定义如下所示

我已经直接在命令行上运行了 check_http,如下所示,它按预期输出,但我不知道在“服务定义”中将参数(如警告、关键、超时和端口号)准确放置在哪里

0 投票
2 回答
431 浏览

bash - 将 Nagios 对象定义从单一配置文件提取到单个文件

我正在将一些旧的 Nagios 配置数据从 Nagios Core 移植到 Nagios XI。这项工作的一部分意味着我需要提取一些对象定义并将它们放入由主机名命名的单个文件中(示例如下)。我可以看到很多方法来做到这一点,可能是通过编写脚本(Perl/Python/PHP - Nagios XI 脚本似乎都是用 PHP 完成的)。但是我想知道是否有更简单的方法可以做到这一点,也许在命令行上使用awk或类似?令我震惊的是,awk 可以很容易地提取两个定界模式之间的文本行(例如/define host \{//\}/),但我需要将输出分成由 host_name 字段的内容命名的单个文件。

最好的方法是什么?我最好写一个脚本,还是有一个简洁的 awk 命令(或类似命令)可以从 Nagios XI 机器上的 bash shell 运行?

示例整体文件:

期望的输出:

例如,现在我可以运行这样的命令,该命令似乎相当广泛地用于行提取:

这切断了define hostand}但这是一个相对简单的修复 - 但是它将数据作为 shell 中的一个流输出。

我可以实现一些聪明的技巧来完成所有这些工作,包括从外壳上的一个衬里拆分成单独的配置文件,还是我应该编写一个脚本?

0 投票
1 回答
1497 浏览

python - 提取 nagios 可用性报告

我正在尝试从 nagios (Nagios® Core™ 4.0.8) 中提取一周(7 天)的 nagios 可用性报告数据,并以 csv 格式获取输出。

这是 am 查询后端的 URL /作为参数传递给avail.cgi:

https://username:password@nagioshostname/nagios/cgi-bin/avail.cgi?show_log_entries=&servicegroup=services1&timeperiod=last7days&smon=8&sday=1&syear=2017&shour=0&smin=0&ssec=0&emon=8&eday=3&eyear=2017&ehour=24&emin=0&esec= 0&rpttimeperiod=24x7&assumeinitialstates=yes&assumestateretention=yes&assumestatesduringnotrunning=yes&includesoftstates=no&initialassumedhoststate=3&initialassumedservicestate=0&backtrack=4&csvoutput=1

上面的 URL 没有返回带有avail.cgi 的数据,最终有 html 和响应。

除了这个 html 输出之外,还有什么方法可以获取 csv 格式或 json 的数据?我知道,如果我在浏览器中查询相同的内容,它将在正确的 HTML 页面中显示结果,但我的进一步用例不同,我想从这里评估数据,所以我需要这种格式的报告,以便我以后可以操作根据需要使用一种语言(例如:-python)。

0 投票
3 回答
159 浏览

perl - Perl ASCII 变量用“.”转为十进制 在每个字母之后

我正在为 F5 负载均衡器制作 Nagios 的 Perl 插件。我必须将池名称转换为与 SNMP 的 OID 匹配的十进制格式。

例如,$PoolName"/Common/Atlassian",我需要将其转换为/.C.o.m.m.o.n./.A.t.l.a.s.s.i.a.n ,然后转换为47.67.111.109.109.111.110.47.65.116.108.97.115.115.105.97.110

一旦转换完成,它们将被拉入一个变量

我一直在为 Nagios 反向设计其他人的 Perl 插件,这就是其他人正在做的事情,但是无论我在做什么类型的组合,我都无法让它工作。他们$name将是我的$PoolName

有人可以帮助我构建或理解 Perl 逻辑,以便转换$PoolName为 OID 所需的十进制格式吗?

0 投票
2 回答
145 浏览

nagios - Nagios 警报与外部工具的集成

我正在将来自 Nagios 的警报和事件集成到我的系统中。在搜索中,我发现 Moogsoft 与 Nagios 的集成(单击)。我遵循了这个,但没有成功。

在他们的“第 2 步:配置:”中,他们提到了“HOSTNAME”、“BASIC_AUTH”等。我在各自下载的文件中找不到这些密钥。任何人都可以提供澄清或建议任何其他解决方案吗?任何帮助都会非常有用。

0 投票
2 回答
5326 浏览

linux - 如何在 nagios 中配置 https_check URL

我已经在 Linux 服务器中安装了 Nagios(Nagios® Core™ 版本 4.2.2)。我已经使用 check_http 为 HTTPS url 编写了一个 JIRA URL 检查。

它应该得到响应 200,但它给出响应 HTTP CODE 302。

所以我在nagios的配置文件中也进行了同样的配置。

现在我的 JIRA 服务器已关闭,但它没有反映在 nagios 检查中。nagios 响应仍然只显示 HTTP 代码 302。

如何解决这个问题?

0 投票
0 回答
50 浏览

powershell - 发件人主机 = ARG - Nagios

我目前正在使用 NSClient++ (x64) 0.5.0062 开发 Windows Server 2016

我已经编写了一个 powershell 脚本来使用这行代码向 Nagios 发送通知

我已经在 [/settings/NSCA/client] 部分的 nsclient.ini 中设置了一个新的主机名,你看……我在服务器上的当前主机名都是大写的,MDIARCH03,Nagios 上的服务器是用小写字母配置的……之前这个版本的 Nagios,我曾经通过上面的命令通过 sender-host=mdiarch03 行告诉服务器名称,这样就可以了。但是自从我们升级到这个新版本后,被动检查就不起作用了。

这是我从事件日志中得到的

[09-03-2018 17:26:12] 错误:外部命令失败 -> PROCESS_SERVICE_CHECK_RESULT;MDIARCH03;MDI_zip_d;2;teste do nagios [09-03-2018 17:26:11] 警告:收到被动检查结果主机“MDIARCH03”上的服务“MDI_zip_d”,但找不到主机!

0 投票
1 回答
36 浏览

linux - 实施 Nagios 地形以避免过度警报

如何实施 Nagios 地形以避免过度警报。此外,我们如何提高 nagios 的性能以避免虚假警报。

0 投票
1 回答
283 浏览

ansible - 为服务添加到 nagiosXI 创建 Ansible 角色

我正在尝试使用以下 CURL 命令向 NagiosXI 添加服务。

在上面的命令中,只有主机名和服务描述描述发生了变化。我正在使用 Item 模块调用主机名。并手动添加服务描述。如果我需要添加 50 个服务,我需要编写此命令 50 次。

我打算通过 ansible 角色来编写它。有人可以帮我解决这个问题。