问题标签 [pagerduty]
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.
jenkins - 连接到 events.pagerduty.com:443 连接超时
詹金斯 2.82
Jenkins master - 从这台机器上,我无法访问互联网/外部世界。
Jenkins 从属服务器,运行 docker 容器(用于从属服务器),可以访问外部世界/互联网。
我安装了 PagerDuty 插件并在作业中正确配置了它,以便在每次失败以及状态恢复正常时发送通知。
当我运行这项工作时,我收到以下错误消息com.mashape.unirest.http.exceptions.UnirestException: org.apache.http.conn.ConnectTimeoutException: Connect to events.pagerduty.com:443 [events.pagerduty.com/54.244.255.45, events.pagerduty.com/54.241.36.66, events.pagerduty.com/104.45.235.10] failed: connect timed out
。
我首先登录从机并尝试 ping events.pagerduty.com 服务器旁边的 IP(如上所列)并且 ping 工作正常。在端口 443 (ssh) 上执行 telnet 也提供了有效的输出。
由于从属服务器实际上是 docker 容器,我进入其中一个容器从属服务器并做了同样的事情(对于这些 events.pagerduty.com IP、nslookup 和 nc / ncat 等,在 443 上进行 ping、telnet 和输出看起来不错)。
在这里,我在 docker slave 容器的主机内,即我跑了docker exec -it shenazi_ninza bash
,现在我在容器的主机/IP 内:
Jenkins 作业配置中的 PagerDuty 集成在POST Built Actions
area 下可用。
我的问题是,整个工作不是在从服务器上运行吗(又名容器的从服务器,我可以从那里访问外部世界并且我能够连接到 events.pagerduty.com 服务器)?
似乎 JenkinsPOST Build Data
在我无法访问 events.pagerduty.com(ping/telnet 等)的主 Jenkins 实例上运行该部分下的任何内容?由于我们不希望 Jenkins master 具有外部世界访问权限,如何解决此问题,以便在该作业的构建失败时收到警报?
python - 如何为特定的气流任务静音失败?
我在这里描述的气流中设置了一个条件任务。它所做的只是检查配置单元分区是否存在。如果是,则继续其余任务,如果不是,请先添加分区,然后再继续。条件检查任务可以失败也可以成功,两者都可以。但是,我为 dag 设置了寻呼机职责电子邮件通知,因为我想知道下游任务何时失败。如何在该特定条件任务上静音失败通知,以免在寻呼机职责时收到误报?
sensu - Sensu:仅在发生 n 次后处理检查的最佳实践
我最近从 Sensu 0.24 升级到 1.2 并注意到检查立即触发到引用的处理程序。
在旧的检查中(使用 v0.24),检查有一个“发生”属性来过滤掉噪音。我只希望处理程序在每 n次出现时处理检查,即 http 检查必须失败 5 次,然后才会触发 pagerduty 处理程序。这种行为似乎随着 sensu 升级而改变。
据我了解,处理程序应该包含一个过滤器来根据属性对事件进行排序。所以假设这是我的支票:
在以前的版本中(或者至少这是我的理解),这个检查只会在失败 5 分钟(60 秒间隔 5 次)后处理。这不再起作用了,所以现在处理程序应该包含一个过滤器来处理事件:
“发生”过滤器看起来像这样:
但是,无论在该eval
部分之后发生什么,无论是value >= 5
还是value < 5
,效果都是一样的,并且 pagerduty 处理程序会被执行。我已经尝试使用该negate
指令,true
但false
似乎我对过滤和发生如何进行检查的理解是不正确的。也许检查根本不计算它们的出现?
有人可以帮忙解释一下吗?
terraform - 如果输入是非空列表或空列表,我需要我的模块返回项目列表
我的模块将 apossibly-empty-list
作为输入,如果该列表不为空,则创建一些资源并返回我在模块之外需要的特定属性,如下所示:
我遇到的麻烦是,当这个模块首先使用非空列表运行时,从而创建资源,它工作正常。如果我再次运行它,它会失败并出现以下异常:
如果为空,我想不出一个好方法让它output
返回一个空列表possibly_empty_resource_list
。
有任何想法吗?
编辑:
我尝试对输出执行三元检查,但由于某种原因,不支持使用列表,因此这不起作用,但我希望它说明我正在尝试做的事情:
解决方案:
amazon-web-services - 是否有 AWS / Pagerduty 服务在未收到通知时会提醒我
我们在 AWS ECS 上运行了一个小型 Java 调度程序。它正在做 cron 过去在我们旧的单体架构上所做的事情。它在 docker 容器中启动(fargate)任务。我们有一个每小时运行的任务,这对我们来说非常重要。我想知道它是否因任何原因崩溃或无法运行(例如,java 调度程序失败,或者有人关闭了任务)。
我正在寻找一种服务,如果它没有得到通知,它会提醒我。每次脚本成功运行时,我都想调用通知系统。然后,如果警报系统没有按预期收到“OK”通知,它就会发出警报。
我认为这种服务必须存在,我不想重新发明轮子试图自己构建它。我想我的问题是,它叫什么?我在哪里可以得到那种东西?(我们显然在使用 AWS,并且我们有一个 pagerDuty 帐户)。
node.js - 我想使用 Node js 在 Pagerduty 中创建一个用户。但我做不到。有人可以帮助我吗?
我是 Node js 的新手。下面是我写的代码。它没有显示任何输出。
slack-api - 监控 Slack 和 PagerDuty 的连接性
我们正在使用 PRTG 来监控许多内部资源,并且我们已将其设置为在 Slack 频道和/或通过 PagerDuty(取决于严重性)使用它们各自的 API 向我们发出警报。考虑到 Slack 和 PagerDuty 对我们来说是外部的,我们还想监控我们的 PRTG 实例是否可以访问它们——基本上,一种自我监控的形式或谁在看守望者?
到目前为止,我们为Slack找到的唯一可靠方法是将实际消息发布到私有“测试”Slack 频道,例如(已编辑 Slack URL 详细信息):
同样,PagerDuty 的事件 API似乎只是 POST,有效操作仅限于触发、确认和解决:
有没有一种很好的方法来测试 HTTPS 连接而不发布实际的 Slack 消息/创建实际的 PagerDuty 警报?我在任何一项服务的文档中都找不到任何内容,也找不到在 PRTG 中创建适当传感器的创造性方法。
php - PHP中JSON多维数组的访问值
我尝试使用两者来解析以下($var)
但似乎无法通过 $array->messages->event 之类的方式访问值(通常看不到任何内容/null)。
我一直在交叉引用https://gist.githubusercontent.com/eurica/6034108/raw/10e7fbce580e515db0f0b74d49c812da4e5ce40b/PagerDutyWebhookToEmail.php上的一些示例代码。但是,它似乎已过时(v1 有效负载而不是 v2)。
我的目标是在不同级别提取不同的值来创建自定义电子邮件。文档表明“消息”下可能有多个“消息”,因此可能需要一个 foreach?
X-REF https://community.pagerduty.com/t/how-do-i-notify-a-distribution-list-or-shared-group-email-address/1519 & https://v2.developer.pagerduty .com/docs/webhooks-v2-overview
答案测试:
monitoring - Prometheus-Alertmanager 警报的复杂规则/过滤器
情况:我设置了 Prometheus 和 Alertmanager 来监控各种设备的 CPU 温度等。Alertmanager 将警报从生产设备发送到 PagerDuty。
我正在监控的设备有不同的型号和不同的操作规格。型号 1-5 的正常 CPU 温度为 50C,而型号 6 为 70C。目前 CPU 温度警报的阈值为 60C,因此 PagerDuty 不断收到来自在正常温度下运行的 6 型设备的警报。
如果温度低于 80C,是否有办法仅从 6 型设备中过滤出 CPU 温度警报,并且在 60C 时仍会收到 1-5 型设备的 CPU 温度警报?
注意:还有许多其他指标正在被监控,但对于除 CPU 温度之外的所有指标,所有设备型号都具有完全相同的阈值。
这是我的一个片段,alertmanager.yml
它向 PagerDuty 发送刺激警报
诚然,我没有太多的 YML 经验。但这是我希望做的,但我不确定正确的语法:
期望的结果:
- 除 device_cpu_temperature 之外的所有关键产品警报都发送到 PagerDuty
- 如果型号不是 6(uuid 包含型号后跟“X”),则仅将关键产品 device_cpu_temperature 警报发送到 PagerDuty
- 仅当 cpu 温度高于 80C 时,来自 6 型设备的关键 prod device_cpu_temperature 警报才会发送到 PagerDuty。
或者在普罗米修斯中有两个不同的警报规则会更好吗?某些规则能否仅适用于某些设备?如果是这样,怎么做?
amazon-web-services - 将 AWS SNS 消息发布到 Pagerduty
我已将pagerduty与AWS cloudwatch集成,我正在尝试手动将消息发布到由pagerduty和email订阅的SNS 主题。但我无法在pagerduty中发生事件。但是,cloudwatch 警报正在使用同一主题触发pagerduty中的事件。
我参考了一些有关pagerduty消息有效负载的文档。但无法使其工作。我的SNS消息 JSON 如下,
它不会触发pagerduty中的事件。我不确定请求正文中缺少什么。我正在从同一邮件正文正确接收电子邮件。有人可以指出错误吗?
提前致谢。