如何使用nagios或munin从外部应用程序/服务器中查询统计信息

时间:2009-03-28 12:01:19

标签: linux api monitoring

我有几个linux(ubuntu)服务器,它们每晚都在一起工作以进行一些繁重的处理。 说。我有2个工作服务器和1个大索引服务器。工作服务器为索引服务器提供信息。索引服务器在高负载下运行(基于它从工作服务器获取的输入。)

我希望能够让工作服务器以索引服务器负载的速度工作,从而确保最大吞吐量。我知道吞吐量受到其他因素的影响,但索引服务器本质上是cpu绑定的,粗略的指导(所以我告诉)是确保测量的负载大致等于索引服务器中的实际处理器的nr。

为此,我需要定期查询在worker-server上运行的worker-application中的索引服务器的加载(10secs?,1min,5min或者什么)。

现在,无论如何,我需要像Nagious或Munin这样的monitroing解决方案,所以想知道如何使用其中一个来查询应用程序中的统计数据?

谢谢, 布里茨克

1 个答案:

答案 0 :(得分:1)

如果您的需求是基本的,您可以考虑使用SNMP。大多数Linux发行版都有一个snmp-devel,php-snmp(或几乎所有其他语言)API,可以轻松解析数据。

我遇到的一个陷阱是,负载很重的服务器有时网络I / O很慢,因此在远程计算机上获取信息的API调用可能会阻塞,直到发生超时。你可能会考虑将一个孩子/线程用于观察其他人的任务。

另一种选择是在每个服务器上使用curl()(或其他方法)将其生命周期放在其他可以读取的位置。因为听起来你最需要/ proc / loadavg和/ proc / meminfo的内容,这可能会更好。