Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何使用nagios或munin从外部应用程序/服务器中查询统计信息_Linux_Api_Monitoring - Fatal编程技术网

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

Linux 如何使用nagios或munin从外部应用程序/服务器中查询统计信息,linux,api,monitoring,Linux,Api,Monitoring,我有两台linux(ubuntu)服务器,每天晚上一起工作,做一些繁重的处理。 说。我有2台工作服务器和1台大型索引服务器。工作服务器为索引服务器提供数据。索引服务器在高负载下运行(基于从辅助服务器获得的输入) 我希望能够让工作服务器以索引服务器负载的函数的速度工作,以确保最大吞吐量。我知道吞吐量会受到其他因素的影响,但索引服务器本质上是cpu受限的,一个粗略的指南(我被告知)是确保测得的负载大致等于索引服务器中实际处理器的nr 为此,我需要在工作服务器上运行的工作应用程序中定期查询索引服务器的

我有两台linux(ubuntu)服务器,每天晚上一起工作,做一些繁重的处理。 说。我有2台工作服务器和1台大型索引服务器。工作服务器为索引服务器提供数据。索引服务器在高负载下运行(基于从辅助服务器获得的输入)

我希望能够让工作服务器以索引服务器负载的函数的速度工作,以确保最大吞吐量。我知道吞吐量会受到其他因素的影响,但索引服务器本质上是cpu受限的,一个粗略的指南(我被告知)是确保测得的负载大致等于索引服务器中实际处理器的nr

为此,我需要在工作服务器上运行的工作应用程序中定期查询索引服务器的负载(10秒?、1分钟、5分钟或其他时间)

现在,我需要一个类似Nagious或Munin的监控解决方案,以便在不久的将来使用,所以我想知道如何使用其中一个来从应用程序中查询统计数据

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

我曾经遇到过一个陷阱,负载沉重的服务器有时网络I/O速度较慢,因此获取远程机器信息的API调用可能会阻塞,直到超时发生。你可以考虑把一个孩子/线程仅仅放在观察其他人的任务上。


另一种选择是在每个服务器上安装一些东西,将其重要信息(或其他方法)发送到其他服务器可以读取的位置。因为听起来你最需要的内容是/PRO/LooVAG和/PROC/MEMIONE,这可能会更好。

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

我曾经遇到过一个陷阱,负载沉重的服务器有时网络I/O速度较慢,因此获取远程机器信息的API调用可能会阻塞,直到超时发生。你可以考虑把一个孩子/线程仅仅放在观察其他人的任务上。

另一种选择是在每个服务器上安装一些东西,将其重要信息(或其他方法)发送到其他服务器可以读取的位置。因为听起来您主要需要/proc/loadavg和/proc/meminfo的内容,所以这样可能更好