PHP собирает статистику сервера - PullRequest
1 голос
/ 30 июня 2011

Я создаю пользовательский компонент для моего веб-приложения, который будет сравнивать каждый сервис, пока что план состоит в том, чтобы сравнить обычный материал:

  • Время отклика
  • Память
  • Текущая активность сервера

и т.д.

Я собрал базовые вещи, и я думал сохранить выходные данные команды linux "top", которая перечисляет текущие запущенные процессы и количество использованных ресурсов. Хотя я не смог получить ответ от запуска:

<code>$output = shell_exec('top');
echo "<pre>";
var_dump($output);
echo "
";

Но другие более простые команды работают, как пример в руководстве по php:

$output = shell_exec('ls -lart');

Итак, мои вопросы: - Нужно ли запускать команду "top" от имени пользователя root? (в настоящее время он работает под пользователем Apache) - Или есть какая-нибудь другая команда php, которая может помочь мне получить статистику сервера?

Я прочитал этот пост, но я не очень заинтересован в установке чего-либо, так как мне нужна моя статистика по требованию и она хранится в моей БД. PHP серверный скрипт статистики?

Ответы [ 2 ]

2 голосов
/ 30 июня 2011

Вы можете cat что угодно в каталоге / proc, например, cat / proc / cpuinfo, чтобы получить любую информацию о процессоре сервера. Все в linux может быть сведено к файловой системе, и любую системную статистику, которую вы когда-либо захотите найти, можно найти в / proc (ну почти всю статистику)

2 голосов
/ 30 июня 2011

Когда вы запускаете top, вы видите, что программа продолжает выполняться и не останавливается. Это также интерактивно.

Если вы хотите захватить вывод, вам нужна программа, которая выполняется и затем останавливается. Для этого может быть опция top. Но большая часть информации может быть собрана другими командами.

Беги так:

top -b -n1
...