This is topic Опрос оборудования командой ping с помощью Trace mode in forum Пользователи для пользователей at Форум TRACE MODE: техническая поддержка.
Здравствуйте, уважаемые читатели и писатели форума! Хочу поделиться с вами одним из технических решений. Решение не претендует на высший бал, для некоторых оно может показаться простым и не заслуживающим описания, другим может быть полезно. Существует задача проверять наличие сетевого оборудования (коммутатора в частном случае) в сети, при отсутствии ответа выдавать сообщение диспетчеру. Из Trace Mode можно к оборудованию обращаться по протоколу SNMP, но если этот протокол оборудованием мне поддерживается, остается команда ping. На языке Autoit пишется небольшой скрипт:
Затем этот скрипт можно скомпилировать в случае установленной программы autoit-v3-setup, получится exe файл программы. Задача программы - записать в файл call_ping_1.dat значение таймаута ответа и код возвращаемой ошибки в случае отсутствия ответа. Содержимое файла call_ping_1.dat после работы программы будет следующим:
A000 38 A001 0
Первая строка содержит время ответа устройства в мс, вторая - код ошибки. Коды ошибок: 1 = хост в автономном режиме 2 = хост недостижим 3 = хост неверно указан 4 = другие ошибки Чтобы передать эти данные в Trace mode, необходимо в IDE в узле создать канал call с именем call_ping с двумя аргументами, в МРВ для чтения данных послать 1 в атрибут 128 "read" канала. Данные передадутся в МРВ. Запуск скрипта - через канал call с типом вызова exec. Нужно учесть следующие моменты: - нужно подождать, пока отработает скрипт, а лишь затем считывать данные в МРВ. - каждый вызов опроса приводит к перезаписи файла, поэтому нужно соблюдать баланс между быстродействием диагностики связи и ресурсами на чтение запись у оборудования.