问题标签 [icinga2]

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 回答
1171 浏览

monitoring - Icinga2 分布式监控 - 运行其区域内所有服务的端点

我正在尝试设置对多个客户端的分布式 icinga 监控。

我已经根据需要设置了区域,即:

1)在主节点上它看起来像这样

常量.conf:

2) 在每个客户端节点上:

和常量.conf:

对于每个节点

现在,我正在尝试对每个客户端节点上的 squid 进程进行一些监控:

所有对象都很好地传播到客户端节点。问题是,现在每个客户端都执行这两种服务(即使不是“他的”服务,即“拥有”服务的主机也不是唯一运行它的主机)。

为了使问题更清楚 - 现在edge-dev-ip-aws主机和edge-dev-ip-docker主机都运行这两个服务edge-dev-ip-docker!edge-dev-ip-docker-squidedge-dev-ip-aws!edge-dev-ip-docker-aws

我怎样才能让每个人只运行它自己的服务?

任何帮助或提示将不胜感激:)

0 投票
2 回答
114 浏览

sql - SQL 选择打印 Icinga2 主机组中的所有主机名

select alias from icinga_hosts;打印每个主机组中的所有主机名。

select alias from icinga_hostgroups;打印所有主机组。

我看不到如何“从 icinga_hosts 中选择别名,其中 icinga_hostgroups 是“customer0”;

换句话说,“打印主机组 customer0 中的所有主机名”。

我需要某种形式的加入吗?这是 MariaDB 5.5。感谢您的任何建议。

0 投票
1 回答
485 浏览

influxdb - netdata > influxdb > icinga2

我在所有服务器上都安装了 netdata 监控。我使用 InfluxDB 作为后端,我也有 Icinga2。是否可以将一些指标推送到 IcingaWeb2 以获取警报并为来自 InfluxDB 的阈值配置警报?

0 投票
1 回答
209 浏览

php - 我可以在 zend 框架的 clicommands 中使用 getRequest()

我正在使用zendframework。在这里,我使用getRequest()了控制器外部的方法,在 CliCommands 类内部。但是它通过了一个错误。

有没有办法在控制器之外使用 getRequest() ?

更新:

使用后:

现在我收到这种类型的错误:

致命错误:未捕获的错误:在 null 上调用成员函数 getParams()

0 投票
1 回答
384 浏览

spring-boot - spring-boot 执行器响应代码从 200 OK 更改为 200,导致 icinga 报警

引导技术。在生产环境中我们有 kubernetes 集群。我们正在使用actuator/info端点监控所有服务。不知何故,在上次部署actuator/info端点响应代码之后,200 OK在预期字段中设置为现在更改为200在 icinga 仪表板中引起警报。是否有任何机制可以将其更改回200 OK我已向开发团队询问此更改,但他们不知道此代码更改。我想知道哪一块会在应用程序响应代码中做出这种改变。

0 投票
1 回答
71 浏览

mysql - mysql计算前行时间戳差异并按多个对象分组

我正在尝试为 Icinga2 数据库生成报告。

我想查看每个主机每个服务每天的状态时间。

我有以下数据结构:

列:

State_Time > 监控对象状态从A变为B的时间

状态 > 对象现在的状态(A,B..)

Last_State > 对象在当前时间之前的状态

主机名 > 主机对象的名称

Servicename > 服务对象的名称

我希望报告看起来像:

这样我基本上可以看到可用性的百分比。

根据我的想法,我需要:

  • 按主机名分组、按服务名分组、按日期时间字段的日期分组
  • 根据状态计算和总结每个事件到前一个事件的时间

到目前为止,我所拥有的是:

但我不知道如何从上一行的计算开始。你能给我指出一个方向还是你有什么想法?谢谢!

0 投票
3 回答
999 浏览

perl - NPCD:错误:执行的命令退出并返回代码“255”

更新cpanpnp4nagios/NPCD 中的模块后,每次调用脚本时都会在我的系统日志中记录以下内容;

功能或数据似乎没有任何损失,我的图表按预期填充 - 但我被这个垃圾邮件发送了。

从 cli 运行脚本给出了这个结果;

该模块的错误点的唯一有用的谷歌结果。Time::HiRes

0 投票
1 回答
542 浏览

nagios - 如何在 Icinga 数组参数中转义逗号

我有一个 Python 脚本,它接受可变数量的整数并对其进行一些处理。这些值通过命令行参数传递给脚本-s。当我在本地运行脚本时,它工作正常:

在内部,使用以下代码将整数转换为逗号分隔的数组:

如果我随后调用print args.myNumbers脚本,我最终会得到一个如下所示的数组:

['1', '2', '3', '4']

我一直无法在 Icinga Web 上获得相同的输出。我怀疑这与 Icinga 如何解析宏有关。我的代码如下:

以下是我尝试过的一些输入vars.someNumbers =及其相应的输出:

更新:经过多次摆弄,我设法让数组看起来一样。我首先必须更改arguments我的检查命令的一部分以禁用重复键:

我不得不使用 input ["1", "2", "3", "4"]。(有趣的是,不起作用['1', '2', '3', '4'],因此单引号和双引号之间显然存在差异。)

但是,有一个新问题:我的.join()方法在 Icinga 上的行为与在本地计算机上的行为不同。在我的本地机器上,在 之后.join(),我得到:

1,2,3,4

而在 Icinga 上,我得到:

1, 2, 3, 4(注意空格)

我尝试添加.replace(" ","")到我的.join()命令,但它没有效果。

更新 2: Icinga 似乎对逗号和空格有一些奇怪的痴迷。这个测试说明了这个问题:

这是一个更简单的问题示例:

尽我所能,我还不能删除空格(这对我的应用程序来说是一个问题,因为它应该使用传入的参数动态构建一个 URL)。

更新 3:我当前针对特定情况的解决方法是%2C在我的.join()方法中使用,即逗号的 URL 编码。

0 投票
0 回答
814 浏览

monitoring - Icinga:如何通过远程 api 或工具启用维护模式?

我正在使用 Icinga 版本 2.4.2 来监控多台主机上的服务。我希望能够使用 cli 工具或 rest API 而不是 Web UI 将某些主机置于维护模式一段时间。

这可能吗?如果可以,我应该使用什么工具/api?如果我不能通过远程工具/api 执行此操作,我应该在服务器或客户端上使用什么命令将客户端置于维护模式?

更新:似乎其余的 api 有一个解决方案。这组权限有效:

然后以下允许我制作和删除停机时间:

现在我遇到的唯一问题是如何传递开始和停止日期的变量。尝试这样做会导致以下错误:

0 投票
1 回答
1705 浏览

icinga2 - Icinga2 仅在状态更改时通知一次

我已经设置了 icinga2 来以不同的时间间隔监控一些服务,因此可能每 10 秒检查一次服务。如果它给出了一个严重错误,我会收到一个通知,但如果错误仍然存​​在,或者直到我确认它,我会每 10 秒收到一次。我只想为每次状态更改接收一次。然后可能在指定的时间之后再次,但这并不重要。

这是我的配置:

这或多或少是标准的 template.conf,但我添加了“interval=0s”,因为我读到它应该防止通知被多次发送。

以下是包含模板的 notification.conf 部分: