如何将Sensu数据包追溯到其原始IP地址?

时间:2014-01-15 21:15:07

标签: amazon-web-services rabbitmq tcpdump sensu

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

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

1)在运行Sensu客户端的每台计算机上,我看到具有正确负载的数据包将离开Sensu服务器计算机。 Sensu配置文件告诉我,Sensu在与Sensu服务器相同的机器上使用RabbitMQ,并且数据包直接用于此。

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

在我们的环境中,可能有多达一百台机器在运行Sensu客户端,但在传入流量中几乎没有多少连接或源IP地址。所以,我无法弄清楚如何找到合适的源机器,而不是蛮力一个接一个地关闭每台机器,看看何时弹出不同的通知。

额外信息:我们的计算机都在AWS中,并在创建后由Puppet配置。 Sensu被烘焙到基础AMI中,以便我们可以在Puppet立即失败时收到警报。除了Puppet在失败时甚至不知道他是谁。

编辑:同样,现在考虑一下,可能重要的是Sensu服务器位于Elastic Load Balancer后面,后者是Route 53条目的后面,这是所有Sensu客户端发送内容的地方。 / p>

1 个答案:

答案 0 :(得分:1)

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