如何找出Linode NodeBalancer是否使节点失去旋转

有时我的NodeBalancer会使一个节点失去旋转,我想了解一下它,这样我就可以重新启动它。 我该怎么做呢?

这是背景:

我有两个相同types的网站,都运行CPU密集型应用程序。 其中一个网站运行一个单一的VPS,每天有大约3000次执行的负载(每个VPS需要5-50秒),另一个网站我安装了一个NodeBalancer,下面有9个节点。 每个执行约40-60%的单个VPS。

这一切都正常工作,几乎没有任何中断,但一个星期左右,一个节点停止响应NodeBalancer,并被取消了轮换。 这通常与高CPU占用率结合发生。 现在 – 在单个VPS(一年运行没有中断或重启一年)中从来没有发生过。

所以就像我说的 – 在负载平衡的节点上,我确实有中断(尽pipe我运行相同的脚本和99%的软件),我想知道什么时候节点不能轮换,所以我可以重新启动并得到它再次运行。

目前我的解决方法是对我从Linode获得的邮件采取行动,这会提醒我CPU占用率过高。 在某些情况下,如果节点确实处于非活动状态,则会手动重新启动。

有点幼稚的做法是让节点为example.com/node.html页面返回不同的结果(例如数字1-9)。 然后从外部计算机不断请求该页面(例如每秒一次)。 你应该在一定的时间间隔(比如说一分钟)之后,从所有的服务器得到一个或多或less的随机结果(系列),如果所有的数字都存在,那么一个脚本可以检查这个结果,如果一个节点丢失了,那么调用Linode的API重新启动它。

比这更容易,如果它收到networking请求(从'netstat',防火墙,日志等,甚至可以检查负载平衡器的主机名为原点),你不能轻易地检查节点本身,如果不是,它意味着LB已经把它转出来了吗?

在search了更多的互联网后,事实certificate有一个Linode的命令行界面,它允许在Node和NodeBalancers上执行各种操作。

这将帮助我通过执行一个简单的命令自动重新启动一个节点,如:

 linode restart My-Linode-Label 

而且它还允许我通过执行以下操作来列出正在处理NodeBalancer上的stream量的所有节点:

 linode nodebalancer node-list mynodebalancer 80 

我将检查这是否确实给我在节点上的状态,或只显示活动节点,并更新答案。 看来这是我正在寻找的解决scheme,因为它包含了更多我将来想要的更多操作,例如启动一个新节点等。

CLI可以在https://github.com/linode/cli的 github上find

更新:这个CLI确实给了我在节点平衡器下的每个节点的状态,方便输出名称,状态和地址。 我将能够轻松地运行这个脚本。

因为看来我只需要添加一些perl模块,我很好走! 不能相信Linode的支持是不知道这一个…