Постоянно контролировать ssh-соединение, используя tail -f? - PullRequest
0 голосов
/ 13 декабря 2018

Моя ситуация

Я использую утилиту SSH Command для извлечения информации журнала с удаленного сервера Linux с помощью команды tail.Отдельная группа потоков регистрирует пользователей, что приводит к обновлению файла журнала с информацией для входа.Чтобы получить нужные мне данные, я использую экстрактор регулярных выражений в данных ответа.Для каждого потока jmeter создает новое ssh-соединение для получения новых сообщений в этом файле журнала.

Вот мои текущие настройки:

Группа потоков
- Получить случайного пользователя
- ВойтиПользователь
- SSH на сервер с помощью команды tail
- Извлечение соответствующих данных

Мой вопрос

Вместо того, чтобы перебрасывать на сервер Linux каждый поток, вызывая дополнительную загрузку и регистрируя сообщения, яхотите подключиться один раз в начале теста и постоянно извлекать из файла журнала, используя команду tail -f, например, в сочетании с регулярным выражением.Это возможно?

1 Ответ

0 голосов
/ 14 декабря 2018

Я бы сказал, что это невозможно или, по крайней мере, нелегко.

Чтобы иметь возможность извлечь данные из ответа с помощью Извлечение регулярных выражений , необходимо иметь SampleResult , это означает, что запрос команды SSH должен быть заполнен .Если вы собираетесь использовать tail -f, запрос никогда не закончится.

Если вы хотите минимизировать количество соединений, вы можете использовать библиотеку JSch для однократного установления соединения и выполнения команд в пределах одного сеанса .

Если вышеприведенное решение имеет смысл - рассмотрите возможность перехода на JSR223 Sampler и язык Groovy , вы можете найти пример кода для выполнения удаленной команды через SSH, например, Exec.java class

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...