问题标签 [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.
monitoring - Icinga2 分布式监控 - 运行其区域内所有服务的端点
我正在尝试设置对多个客户端的分布式 icinga 监控。
我已经根据需要设置了区域,即:
1)在主节点上它看起来像这样
常量.conf:
2) 在每个客户端节点上:
和常量.conf:
和
对于每个节点
现在,我正在尝试对每个客户端节点上的 squid 进程进行一些监控:
所有对象都很好地传播到客户端节点。问题是,现在每个客户端都执行这两种服务(即使不是“他的”服务,即“拥有”服务的主机也不是唯一运行它的主机)。
为了使问题更清楚 - 现在edge-dev-ip-aws
主机和edge-dev-ip-docker
主机都运行这两个服务edge-dev-ip-docker!edge-dev-ip-docker-squid
和edge-dev-ip-aws!edge-dev-ip-docker-aws
我怎样才能让每个人只运行它自己的服务?
任何帮助或提示将不胜感激:)
sql - SQL 选择打印 Icinga2 主机组中的所有主机名
select alias from icinga_hosts;
打印每个主机组中的所有主机名。
select alias from icinga_hostgroups;
打印所有主机组。
我看不到如何“从 icinga_hosts 中选择别名,其中 icinga_hostgroups 是“customer0”;
换句话说,“打印主机组 customer0 中的所有主机名”。
我需要某种形式的加入吗?这是 MariaDB 5.5。感谢您的任何建议。
influxdb - netdata > influxdb > icinga2
我在所有服务器上都安装了 netdata 监控。我使用 InfluxDB 作为后端,我也有 Icinga2。是否可以将一些指标推送到 IcingaWeb2 以获取警报并为来自 InfluxDB 的阈值配置警报?
php - 我可以在 zend 框架的 clicommands 中使用 getRequest()
我正在使用zendframework。在这里,我使用getRequest()
了控制器外部的方法,在 CliCommands 类内部。但是它通过了一个错误。
有没有办法在控制器之外使用 getRequest() ?
更新:
使用后:
现在我收到这种类型的错误:
致命错误:未捕获的错误:在 null 上调用成员函数 getParams()
spring-boot - spring-boot 执行器响应代码从 200 OK 更改为 200,导致 icinga 报警
引导技术。在生产环境中我们有 kubernetes 集群。我们正在使用actuator/info
端点监控所有服务。不知何故,在上次部署actuator/info
端点响应代码之后,200 OK
在预期字段中设置为现在更改为200
在 icinga 仪表板中引起警报。是否有任何机制可以将其更改回200 OK
我已向开发团队询问此更改,但他们不知道此代码更改。我想知道哪一块会在应用程序响应代码中做出这种改变。
mysql - mysql计算前行时间戳差异并按多个对象分组
我正在尝试为 Icinga2 数据库生成报告。
我想查看每个主机每个服务每天的状态时间。
我有以下数据结构:
列:
State_Time > 监控对象状态从A变为B的时间
状态 > 对象现在的状态(A,B..)
Last_State > 对象在当前时间之前的状态
主机名 > 主机对象的名称
Servicename > 服务对象的名称
我希望报告看起来像:
这样我基本上可以看到可用性的百分比。
根据我的想法,我需要:
- 按主机名分组、按服务名分组、按日期时间字段的日期分组
- 根据状态计算和总结每个事件到前一个事件的时间
到目前为止,我所拥有的是:
但我不知道如何从上一行的计算开始。你能给我指出一个方向还是你有什么想法?谢谢!
perl - NPCD:错误:执行的命令退出并返回代码“255”
更新cpan
pnp4nagios/NPCD 中的模块后,每次调用脚本时都会在我的系统日志中记录以下内容;
功能或数据似乎没有任何损失,我的图表按预期填充 - 但我被这个垃圾邮件发送了。
从 cli 运行脚本给出了这个结果;
该模块的错误点的唯一有用的谷歌结果。Time::HiRes
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 编码。
monitoring - Icinga:如何通过远程 api 或工具启用维护模式?
我正在使用 Icinga 版本 2.4.2 来监控多台主机上的服务。我希望能够使用 cli 工具或 rest API 而不是 Web UI 将某些主机置于维护模式一段时间。
这可能吗?如果可以,我应该使用什么工具/api?如果我不能通过远程工具/api 执行此操作,我应该在服务器或客户端上使用什么命令将客户端置于维护模式?
更新:似乎其余的 api 有一个解决方案。这组权限有效:
然后以下允许我制作和删除停机时间:
现在我遇到的唯一问题是如何传递开始和停止日期的变量。尝试这样做会导致以下错误:
icinga2 - Icinga2 仅在状态更改时通知一次
我已经设置了 icinga2 来以不同的时间间隔监控一些服务,因此可能每 10 秒检查一次服务。如果它给出了一个严重错误,我会收到一个通知,但如果错误仍然存在,或者直到我确认它,我会每 10 秒收到一次。我只想为每次状态更改接收一次。然后可能在指定的时间之后再次,但这并不重要。
这是我的配置:
这或多或少是标准的 template.conf,但我添加了“interval=0s”,因为我读到它应该防止通知被多次发送。
以下是包含模板的 notification.conf 部分: