1

我正在尝试在我们的一个环境中找到一台导致 Sensu 通知的机器。通知中列出的主机名和 IP 地址都搞砸了,因为在创建机器时,它有不同的数据。所以错误的数据卡住了,机器仍然活着并且在踢……我的意思是,从某个地方向 Sensu 服务器发送错误的数据。

我试图追踪机器的地址。在 tcpdump 的帮助下,我在两个地方发现了我正在寻找的相同类型的数据包:

1) 在每台运行 Sensu 客户端的机器上,我看到带有正确有效负载的数据包离开 Sensu 服务器机器。Sensu 配置文件告诉我 Sensu 正在与 Sensu 服务器在同一台机器上使用 RabbitMQ,并且数据包正朝着那个方向前进。

2) 在 Sensu 服务器上,我看到所有来自本地 10 的数据包.* IP 地址,来自各种不同的端口。当我用 wget 探查那个 IP 地址时,它与 Sensu 仪表板的 index.html 进行游戏,所以本地地址似乎是同一台机器 - 可能是 RabbitMQ 或其他东西,因为 Sensu 使用它。

在我们的环境中可能有多达 100 台机器运行 Sensu 客户端,但传入流量中的连接或源 IP 地址远没有那么多。所以,除了蛮力关闭每台机器并查看何时弹出不同的通知之外,我无法弄清楚如何找到正确的源机器。

额外信息:我们的机器都在 AWS 中,并在创建后由 Puppet 预置。Sensu 被嵌入到基础 AMI 中,因此如果 Puppet 立即失败,我们可以收到警报。除了失败时偶人甚至不知道他是谁。

编辑:另外,现在我想起来了,Sensu 服务器位于 Elastic Load Balancer 后面可能很重要,它位于 Route 53 条目后面,这是所有 Sensu 客户端发送内容的地方。

4

1 回答 1

1

ELB 原来是麻烦。一旦我将 Route 53 直接重新路由到 Sensu 服务器并且(由于缓存问题)将 Sensu 服务器从 ELB 中取出,所有传入连接都假定正确的 IP 地址。毕竟不是森苏的问题。

于 2014-01-16T16:38:53.130 回答