как использовать nagios или munin для запроса статистики из внешнего приложения / сервера - PullRequest
1 голос
/ 28 марта 2009

У меня есть пара серверов linux (ubuntu), которые работают вместе каждую ночь, чтобы выполнить тяжелую обработку. Сказать. У меня есть 2 рабочих сервера и 1 большой сервер индексирования. Рабочие серверы питают сервер индексирования. Сервер индексирования работает под высокой нагрузкой (на основе входных данных, которые он получает от рабочих серверов).

Я бы хотел, чтобы рабочие серверы работали со скоростью, зависящей от нагрузки сервера индексирования, чтобы обеспечить максимальную пропускную способность. Я знаю, что на пропускную способность влияют другие факторы, но сервер индексирования, по сути, привязан к процессору, и приблизительное руководство (так мне говорят) должно гарантировать, что измеренная нагрузка примерно равна числу реальных процессоров на сервере индексирования.

Для этого мне нужно периодически запрашивать нагрузку (10 сек?, 1 мин, 5 мин или около того) сервера индексирования внутри рабочего приложения, работающего на рабочем сервере.

Теперь, в любом случае, в ближайшем будущем мне понадобится решение для мониторинга, например, Nagious или Munin, так что интересно, как использовать одно или другое для запроса статистики из приложения?

Спасибо, Брицке

1 Ответ

1 голос
/ 28 марта 2009

Если ваши потребности настолько просты, вы можете рассмотреть возможность использования SNMP. Большинство дистрибутивов Linux будут иметь API-интерфейс snmp-devel, php-snmp (или почти любой другой язык) для простого анализа данных.

Подводный камень, с которым я когда-то сталкивался, сильно загруженные серверы иногда имеют медленный сетевой ввод-вывод, поэтому вызовы API для получения информации на удаленных компьютерах могут блокироваться до истечения времени ожидания. Вы можете подумать о том, чтобы посвятить одного ребенка / нить только просмотру остальных.

Другой вариант заключается в том, чтобы на каждом сервере что-то сворачивалось () или (иными методами) жизненно важные органы в какое-то место, где остальные могут читать. Поскольку это звучит так, как будто вам в основном нужно содержимое / proc / loadavg и / proc / meminfo, это может быть лучше.

...