С помощью проверки SSH программа позволяет выполнять мониторинг множества параметров удаленного компьютера с ОС Linux, Android (или с другой *nix-подобной системой).
Что такое SSH?
Secure Shell (SSH) представляет собой протокол и командный интерфейс для безопасного доступа к удаленному компьютеру. Он широко используется сетевыми администраторами для удаленного управления веб-серверами и другими типами серверов. Данные и команды, передаваемые с помощью SSH, шифруются и защищаются несколькими способами. Оба конца соединения клиент/сервер аутентифицируются с помощью цифрового сертификата, а пароли защищены шифрованием. Для выполнения запроса к серверу по Secure Shell необходимо, чтобы там был установлен и запущен демон SSH (или серверное приложение, служба).
SSH в Windows
По умолчанию, SSH доступен в UNIX-подобных операционных системах. Однако, по SSH можно подключиться и к серверу под управлением Windows. Существует несколько популярных серверов SSH под Windows. В качестве примера можно привести Cygwin, который устанавливается в системе как служба. Из клиентов SSH для Windows стоит упомянуть PuTTY - он отличается от конкурентов дружелюбным интерфейсом и богатым набором возможностей, включая настройку прокси-серверов и сохранение параметров подключения. Начиная с с Windows 10 (версия 1809 и более поздние) или Windows Server 2019, в системе доступен встроенный SSH-клиент OpenSSH, который можно использовать для подключения к удалённым устройствам. Установить его можно в разделе Приложения и возможности:
- Параметры -> Приложения -> Дополнительные возможности -> Добавить компонент.
- Найдите в списке Клиент OpenSSH и нажмите кнопку Установить.
Чтобы подключиться к удалённому хосту по SSH, запустите командную строку PowerShell или cmd.exe. Введите команду:
ssh username@host
Например, чтобы подключиться к Linux хосту с IP адресом 192.168.1.100 от имени root, выполните команду:
ssh root@192.168.1.100
При первом подключении появится запрос на добавление ключа хоста в доверенные: наберите yes и нажмите Enter. После этого появится запрос пароля указанной учетной записи. Введите пароль root и нажмите Enter. Откроется консоль удаленного Linux хоста, в которой можно уже полноценно работать и выполнять команды.
Мониторинг параметров хоста через SSH
С помощью SSH можно выполнять мониторинг параметров удаленного хоста с Linux, Android или с любой другой unix-подобной системой. SSH предоставляет удалённое управление операционной системой, включая запуск различных скриптов и получение информации. Используя удалённое соединение по SSH, программа мониторинга может выполнять произвольные скрипты и команды ОС, получая и обрабатывая результат их работы.
Покажем, как настраивается мониторинг по SSH в программе 10-Страйк: Мониторинг Сети (Pro).
После установки можно отсканировать сеть, добавив в список мониторинга найденные хосты, либо создать их вручную. Добавим Linux хост в список (Хосты -> Добавить хост):
По умолчанию для каждого нового хоста создаётся проверка ICMP ping, позволяющая мониторить его доступность по сети. Создадим вторую проверку SSH (Проверки -> Добавить проверку):
В программе уже заложено несколько шаблонов, которые помогут легко настроить:
- мониторинг свободной/занятой оперативной памяти
- мониторинг средней загрузки процессора за минуту, за 5 и 15 минут (CPU Load)
- мониторинг свободного места на заданных дисках
Для мониторинга других параметров существует возможность подключения пользовательских команд и bash-скриптов, которые будут выполняться на удалённом компьютере и возвращать параметры в программу по SSH. К примеру, с помощью команды
cat /proc/15410/status |grep -i VMSIZE | awk '{print "result=",$2}'
можно получить объём памяти, занимаемой процессом с PID 15410. Нажав кнопку Получить, можно проверить работу скрипта или команды. В случае успешного выполнения поле рядом заполнится результатом.
Ответ скрипта или команды должен начинаться со строки
result=
Используйте для этого синтаксис:
| awk '{print "result=",$1}'
$1 — номер возвращаемого параметра в ответе.
В примере:
/bin/date "+%F %T" | awk '{print "result=",$1}'
$1 возвращает дату, $2 — время.
Если параметр числовой, то команда или скрипт должна возвращать только сам параметр, без сопровождающих строк и комментариев. Кроме числовых параметров, программа может выполнять парсинг строк и искать в них заданный текст. Задайте пороговое значение параметра, при котором проверка будет считаться пройденной.
Для подключения по SSH удалённый хост может потребовать файл частного ключа. Его тоже можно подключить к программе в соответсвующем поле. Кроме того, некоторые серверы SSH требовательны к имени терминала и могут выдавать ошибку при подключении "Unknown terminal type". В этом случае в настройках программы (раздел Мониторинг) предусмотрено задание любого имени. В Linux имя терминала можно узнать командой echo $TERM.
Проверив работу скрипта или команды, можно перейти к следующему шагу мастера параметров проверки. Здесь, в разделе Отображение на графиках можно привести получаемое скриптом или командой значение к нужным единицам. В нашем случае, приводим килобайты в мегабайты делением на 1024. Задаём единицы измерения и тип индикатора (числовой).
На последнем шаге можно задать параметры оповещения в случае, если значение параметра выйдет за пределы условия. Например, включим отправку сообщения в Slack.
Проверка создана и уже запущена. Её результат виден в списке проверок.
И на графике параметра мониторинга:
С помощью этой проверки можно выполнять мониторинг любых Android-устройств, если на них можно установить SSH-сервер. К примеру, программа успешно мониторит смартфоны популярных марок через Wi-Fi после установки специального ПО SSH-сервера из Google Play.
Скачайте бесплатную 30-дневную версию программы мониторинга сети прямо сейчас и попробуйте!