2013-12-14 10 views
0

Мое намерение состоит в том, чтобы отображать статистику, такую ​​как загрузка avg и RAM с удаленного сервера на ЖК-панель 24/7. Я бы хотел, чтобы информация обновлялась каждые 1-3 секунды.Показать статистику с удаленного сервера linux

Другие темы предложили использовать SSH-команды для извлечения информации.

ssh [email protected] uptime && cat /proc/meminfo 

ли с помощью SSH, подходящий для моих целей, мое дело в том, что

  1. мои файлы журнала могут быть раздутым из всех попыток входа в систему
  2. накладные расходы установки и срывая соединение SSH каждые несколько секунд.

Есть ли такой пакет там или мне нужно его сам кодировать? Я бы предпочел, чтобы он поддерживал соединение открытым, чтобы уменьшить накладные расходы. Я не требую шифрования, поскольку оба сервера находятся в локальной сети.

Заранее спасибо.

ответ

1

Несколько вещей отметить:

  1. Не используйте root, если не нужно. Для uptime и cat /proc/meminfo вам, безусловно, не нужно root. Используйте другого пользователя.
  2. Обратите внимание на различие между этими двумя:

    ssh [email protected] uptime && cat /proc/meminfo 
    ssh [email protected] 'uptime && cat /proc/meminfo' 
    

    Первый из них будет выполнять cat /proc/meminfo на локальном компьютере, то второй будет выполнять его на пульте дистанционного управления. Я думаю, вы хотите использовать вторую версию. (Вы хотите информацию процессора удаленного компьютера, а не локальной машине, не так ли?)

Вы можете использовать мультиплексирование соединения ударить двух птиц одним камнем: снизить накладные расходы на установление новых соединений и избежать загрязнения журнал сервера. Чтобы сделать это, добавьте конфигурацию, как это в вашем файле ~/.ssh/config:

Host somename 
User the_username 
Hostname the_hostname 
ControlMaster auto 
ControlPath ~/.ssh/master-somename 

Вы можете выбрать любой somename, это как псевдоним. При помощи этой настройки, вы можете подключиться к серверу просто:

ssh somename 

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

Это на самом деле общий трюк при работе с медленными удаленными серверами, где создание новых соединений является заметным издержками. На самом деле я использую этот параметр, чтобы применить его ко всем удаленным серверам я работаю:

Host * 
ControlMaster auto 
ControlPath ~/.ssh/master-%[email protected]%h:%p 

Я обычно recommend this trick for everyone.

+0

Спасибо. Часть использования повторного использования соединения очень полезна. – limbenjamin