Диагностика распространенных проблем, которые приводят к сбою тестов проверки ping в мониторинге доступности Application Insights — Azure
Twitter LinkedIn Facebook Адрес электронной почты
- Статья
В этой статье описывается, как получить доступ к отчету об устранении неполадок Application Insights.
Чтобы просмотреть отчет, выполните следующие действия.
На странице Доступность ресурса Application Insights выберите Общие или один из тестов доступности.
Выполните одно из следующих действий.
- Выберите Сбой, а затем выберите тест в разделе Детализация слева.
- Выберите одну из точек на точечной диаграмме.
Чтобы просмотреть отчет об устранении неполадок, откройте
страницу Сведений о сквозной транзакции , выберите событие, найдите область Сводка отчета об устранении неполадок и нажмите перейти к шагу.
В следующей таблице перечислены шаги, сообщения об ошибках и возможные причины, которые можно найти в отчете.
| Шаг | Сообщение об ошибке | Возможная причина |
|---|---|---|
| Повторное использование подключения | Для этой проблемы не возвращается определенное сообщение об ошибке.![]() | Этап тестирования на западе зависит от ранее установленного подключения. Таким образом, не требуется шаг DNS, подключения или SSL. |
| Разрешение DNS | Не удалось разрешить удаленное имя: «ваш URL-адрес» | Сбой процесса разрешения DNS. Скорее всего, это произошло из-за неправильной настройки записей DNS или временных сбоев DNS-сервера. |
| Установка подключения | Не удалось выполнить попытку подключения, так как подключенная сторона не ответила должным образом по истечении определенного периода времени. | Сервер не отвечает на HTTP-запрос. Распространенной причиной является блокировка агентов тестирования брандмауэром на вашем сервере. Чтобы выполнить тестирование в виртуальная сеть Azure, добавьте тег службы доступности в среду. |
| Транспорт TLS | Клиент и сервер не могут взаимодействовать, так как у них нет общего алгоритма. | Поддерживаются только ПРОТОКОЛы TLS 1.0, 1.1 и 1.2. ПРОТОКОЛ SSL не поддерживается. Этот шаг не проверяет SSL-сертификаты, а только устанавливает безопасное подключение. Этот шаг отображается только при возникновении ошибки. |
| Получение заголовка ответа | Не удается прочитать данные из транспортного подключения. Подключение было закрыто. | Сервер совершил ошибку протокола в заголовке ответа. Например, подключение закрывается сервером, если ответ не полностью считывается. |
| Получение текста ответа | Не удалось прочитать данные из транспортного подключения: подключение было закрыто. | Сервер совершил ошибку протокола в тексте ответа. Например, соединение закрывается сервером, если ответ не считывается полностью или размер блока неправильный в тексте фрагмента ответа. |
| Проверка ограничения перенаправления | На этой веб-странице слишком много перенаправлений. Этот цикл будет завершен, так как этот запрос превысил ограничение для автоматического перенаправления. | Количество перенаправлений ограничено 10 на каждый тест.![]() |
| Проверка кода состояния | 200 - OK не соответствует ожидаемому состоянию 400 - BadRequest. | Возвращенный код состояния считается успешным. «200» — это код, указывающий, что была возвращена обычная веб-страница. |
| Проверка содержимого | Требуемый текст hello не отображается в ответе. | Строка не является точным совпадением с учетом регистра в ответе. Например, строка «Welcome!» должна быть простой строкой без подстановочных знаков (например, звездочки). При изменении содержимого страницы может потребоваться обновить строку. Совпадение содержимого поддерживает только символы на английском языке. |
Примечание.
Если шаг повторного использования подключения присутствует, следующие шаги не будут присутствовать:
- Разрешение DNS
- Установка подключения
- Транспорт TLS
Дальнейшие действия
Используйте TrackAvailability для отправки пользовательских тестов доступности.

Узнайте о тестах проверки url-адреса.
Если у вас есть вопросы или вам нужна помощь, создайте запрос в службу поддержки или обратитесь за поддержкой сообщества Azure. Вы также можете отправить отзыв о продукте в службу поддержки сообщества Azure.
Тестирование скорости используя SpeedTest CLI
Speedtest-cli — это скрипт написанный на Python, который измеряет скорость двунаправленно — upload и download. Приложение позволяет Вам проверить скорость в зависимости от удаленности сервера большинства стран. Также есть возможность делиться своими результатами через сайт http://www.speedtest.net.
В данной статье рассмотрим тестирование скорости скачивания/загрузки (upload/download), а также пинг с Вашего сервера до любой другой локации мира используя для этого широкоизвестную утилиту speedtest-cli.
В данном примере сделаем установку на Debian/Ubuntu/CentOS.
Установка на CentOS 7
rpm -Uvh http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install python2-speedtest-cli
Установка на Debian/Ubuntu
apt-get update
apt-get install python-pip
pip install speedtest-cli
Использование SpeedTest CLI
Первый запуск утилиты делает тест до самой ближайшей локации от сервера. В нашем случае это сервер в Нидерландах:
speedtest-cli
Результат будет следующим:
Retrieving speedtest.net configuration…
Testing from Petersburg Internet Network ltd. (5.188.232.1)…
Retrieving speedtest.net server list.
..
Selecting best server based on ping…
Hosted by WorldStream B.V. (Naaldwijk) [0.14 km]: 1.835 ms
Testing download
speed……………………………………………………………………..
Download: 80.47 Mbit/s
Testing upload
speed………………………………………………………………………………… …….
Upload: 62.75 Mbit/s
По-умолчанию, скорость отобржается в Мбит/c. Если нужно чтобы скорость отображалась в Мбайт/с — то запускаем утилиту с параметром --bytes:
speedtest-cli —bytes
Результат будет примерно следующим:
Retrieving speedtest.net configuration…
Testing from Petersburg Internet Network ltd. (5.188.232.1)…
Retrieving speedtest.net server list…
Selecting best server based on ping…
Hosted by WorldStream B.V. (Naaldwijk) [0.
14 km]: 1.029 ms
Testing download
speed……………………………………………………………………..
Download: 10.95 Mbyte/s
Testing upload
speed……………………………………………………………………..
Upload: 10.84 Mbyte/s
Если нужно поделиться своими результатам
окон — пинговать https при блокировке ICMP
спросил
Изменено 8 лет, 6 месяцев назад
Просмотрено 10 тысяч раз
Я работаю с веб-серверами, на которых отключен ICMP. С другой стороны, они отвечают на некоторые запросы https. Я в основном ищу возможности http, такие как ping, чтобы проверить, может ли другой сервер подключиться к этой машине, и получить некоторые данные о ней
Я изучил следующие варианты:
Написание веб-страницы, которая анализирует соединение между двумя машинами.

Это означает, что одна машина попытается перейти на эту веб-страницу. Он будет предоставлять некоторую информацию о скорости соединения и т. д. Это было удалено из таблицы, потому что эта веб-страница должна будет в основном запускать какое-то веб-приложение. У меня нет времени развивать это. — Если вы знаете о существующих технологиях, дайте мне знать.Размещение файла на веб-сервере и попытка загрузки. Не будет предоставлять все данные, которые я хотел бы иметь. Браузеры обычно скрывают все «веселое».
, используя какую-то утилиту проверки связи, подобную этой www.coretechnologies.com/products/http-ping/, но по какой-то причине она не может обрабатывать перенаправление совместной локальной сети, и поэтому я не могу ее использовать. (Я отправляю запрос, но ответ равен 0 байтам с ответом перенаправления 302). Вы знаете о других?
Пожалуйста, сообщите, если вы можете заставить одно из решений работать, или мое использование в утилите, предложенной в разделе 3, ошибочно, или у вас есть какая-то другая идея.
Обновление:
Все системы основаны на Windows.
- windows
- https
- ping
- icmp
Можно использовать psping
http://technet.microsoft.com/en-us/sysinternals /jj729731.aspx
psping -q -i 0 -n 500 google.com:443
Вы можете использовать openssl, чтобы попытаться узнать, можете ли вы открыть сеанс asSSL:
[joeuser@host ~]$ openssl s_client -quiet -status -connect google.com:443 depth=2 C = США, O = "VeriSign, Inc.", OU = общедоступный первичный центр сертификации класса 3 проверить возврат: 1 depth=1 C = ZA, O = Thawte Consulting (Pty) Ltd., CN = Thawte SGC CA проверить возврат: 1 depth=0 C = США, ST = Калифорния, L = Маунтин-Вью, O = Google Inc., CN = www.google.com проверить возврат: 1
Если не удается получить сеанс SSL, возвращается следующее:
[joeuser@host ~]$ openssl s_client -quiet -status -connect google.com:80 3078973148: ошибка: 140770FC: подпрограммы SSL: SSL23_GET_SERVER_HELLO: неизвестный протокол: s23_clnt.c: 699:
В Windows:
C:\OpenSSL-Win32\bin> C:\OpenSSL-Win32\bin>openssl.exe s_client -quiet -status -connect www.google.com :443 ВНИМАНИЕ: не удается открыть файл конфигурации: /usr/local/ssl/openssl.cnf Загрузка «экрана» в случайное состояние — сделано depth=1 C = ZA, O = Thawte Consulting (Pty) Ltd., CN = Thawte SGC CA ошибка подтверждения: число = 20: невозможно получить сертификат локального эмитента проверить возврат: 0 C:\OpenSSL-Win32\bin>openssl.exe s_client -quiet -status -connect www.google.com :80 ВНИМАНИЕ: не удается открыть файл конфигурации: /usr/local/ssl/openssl.cnf Загрузка «экрана» в случайное состояние — сделано 2096: ошибка: 140770FC: подпрограммы SSL: SSL23_GET_SERVER_HELLO: неизвестный протокол:.\ssl\s 23_clnt.c:683:
8
Если у вас установлен lynx, он поддерживает https::, возможно, вы могли бы написать скрипт, используя эту командную функцию.
Lynx — это в основном текстовый браузер.
1
Похоже, что протокол ICMP блокируется вашим корпоративным брандмауэром, что очень типично (для блокировки smurf-атак). Почему бы просто не попросить своих ИТ-специалистов открыть ICMP-трафик на ваш сервер?
1
Возможно, я ошибаюсь, но я думаю, что ваша конечная цель — проверить подключение, верно? И telnet, и netcat отлично подходят для этого. Вы бы проверили, установив соединение на порту прослушивания, а затем отключившись. Telnet больше подходит для ручного процесса или процесса, с которым вам нужно взаимодействовать. Похоже, вам нужно что-то, что вы можете написать, поэтому я бы предпочел netcat.
nc -z yourhostname port -or-
nc -z www.google.com 80
Ожидаемый результат:
Подключение к порту 80 www.google.com [tcp/http] выполнено успешно!
Это будет работать так же хорошо с 443/https или любым другим сервисом, который вам нужно протестировать.
Возвращаемое значение для nc укажет, было ли оно успешным или нет, поэтому вы можете включить его в сценарий.
Windows изначально поддерживает telnet, и вы можете загрузить сборку netcat для Windows или использовать Cygwin.
2
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя адрес электронной почты и пароль
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания, политикой конфиденциальности и политикой использования файлов cookie
.
Легко узнать, отвечает ли ваш веб-сайт и как он работаетhttp-ping небольшой, бесплатный , простая в использовании утилита командной строки Windows, которая исследует заданный URL-адрес и отображает соответствующую статистику. Это похоже на популярную утилиту ping, но работает через HTTP/S вместо ICMP и с URL-адресом вместо имени компьютера/IP-адреса. http-ping поддерживает адреса IPv6. (http-ping на работе — нажмите, чтобы увеличить) Для каждого запроса http-ping отображает:
По завершении предоставляется сводка всех запросов. Параметры командной строкиhttp-ping предлагает богатый набор параметров командной строки, которые можно увидеть, запустив » http-ping.exe /? » из командной строки DOS:
http-ping [-t] [-n количество] [-i интервал] [-f имя-файла] [-s] [-v]
[-q] [-c] [-r] [-w время ожидания] [-d] [-o данные | -имя-файла]
[-ua user-agent] [-h строка-заголовка] [-p [proxy-url]]
[-е | -et | -eb] [-ipv4 | -ipv6] URL-адрес
Где:
URL URL, который вы хотите проверить. Например, http://www.kiva.org,
http://209.191.122.70 или http://www.ваш хост:8080.
Не забудьте заключить адрес IPv6 в квадратные скобки. Для
например, http://[2a00:1450:4007:800::1014].
Параметры:
-t Пинговать указанный URL до тех пор, пока не будет остановлен.
Чтобы посмотреть статистику и продолжить - нажмите Control-Break;
Чтобы остановить - нажмите Control-C.По завершении код выхода представляет собой процент успешных запросов или либо код состояния HTTP, либо затраченное время, либо количество переданных байтов. последнего запроса (или 0, если последний запрос не удался). В пакетном файле DOS вы можете получить доступ к этому коду выхода через переменную ERRORLEVEL. ПримерыПример #1: Ваш базовый пингЭта простая команда показывает, как работает наш веб-сайт: http-пинг https://www.coretechnologies.com Пример #2: Ping с помощью HEAD вместо GET (во избежание загрузки содержимого)Используйте флаг -q , чтобы указать серверу не возвращать тело/содержимое сообщения при каждом пинге. Этот параметр снижает нагрузку на сервер и подходит для проверки того, что URL-адрес обслуживается. Например, эта команда проверяет, доступен ли PDF-файл с руководством пользователя AlwaysUp. Параметр -q позволяет избежать передачи 1,5 МБ при каждом пинге! http-ping -q https://www.coretechnologies.com/products/AlwaysUp/AlwaysUpUserManual.pdf Пример №3: Следуйте перенаправлениям Если URL-адрес, который вы пингуете, был перемещен, результатом может быть 301/перенаправлено. Чтобы выполнить редирект и сделать последующий запрос на новую локацию, указываем флаг -r : http-ping-r http://www.yahoo.com (Конечно, другой вариант — обновить опрашиваемый URL-адрес и избежать перехода с перенаправлением, но это зависит от конкретной ситуации.) Пример #4: Прохождение через прокси-серверЕсли ваше подключение к Интернету осуществляется через прокси, вы можете указать сервер в командной строке. Вот командная строка для пинга нашего веб-сайта через один из прокси-серверов, упомянутых в списке бесплатных прокси-серверов: http-ping -p http://142.4.15.25:3128 https://www.coretechnologies.com Пример № 5. Проверка сервера из пакетного файла Вы можете использовать http-ping как часть пакетного файла для мониторинга веб-сервера.
Стандартная переменная ERRORLEVEL захватит код выхода http-ping, который вы можете использовать для управления своим скриптом. |


Этот шаг не проверяет SSL-сертификаты, а только устанавливает безопасное подключение. Этот шаг отображается только при возникновении ошибки.


c: 699:
е. время приема-передачи)
-n count Отправлять запросы 'count'. Заменяет -т.
-i interval Интервал ожидания в секундах между каждым запросом. Eсть
1-секундное ожидание, если этот параметр не указан.
-f имя-файла Сохранить ответы в файле «имя-файла». Пожалуйста, укажите полный
путь и используйте кавычки вокруг имен файлов с пробелами.
-с молчит. Печатать без вывода.
-v Многословный. Распечатать подробный вывод. Заменяет -s.
-q Быстро. Выполнять запросы HTTP HEAD вместо GET. Это будет
получать только заголовки, а сообщаемые байты будут равны 0.
-c Выполнять полное соединение при каждом запросе; игнорировать поддержку активности.
-r Следовать перенаправлениям HTTP.
-w тайм-аут Подождать 'тайм-аут' секунд для ответа, прежде чем истечет время ожидания.
Укажите 0, чтобы избежать тайм-аута.
Если не указано, время ожидания по умолчанию составляет 30 секунд.
-d Выводить дату и время каждой попытки проверки связи.
-o данные Выполнить HTTP-запросы POST, отправляющие указанные данные. Пожалуйста, приложите
данные в кавычках, если они содержат пробелы.
-of имя-файла Выполнить HTTP-запросы POST, отправляющие содержимое файла «имя-файла».
Укажите полный путь и используйте кавычки, если имя файла
содержит пробелы.
-ua user-agent Установить для User-Agent значение «user-agent». Пожалуйста, используйте кавычки
если значение содержит пробелы.
-h header-line Передать указанную строку заголовка как есть в каждом запросе ping. Для
Например, добавьте заголовок хоста следующим образом:
-h \"Хост: www.site1.com\"
Обязательно заключайте строку заголовка в кавычки. Ты можешь
указать несколько экземпляров этой опции.
-p [proxy-url] Использовать указанный URL-адрес прокси. Если URL прокси не указан,
используйте значение в настройках Windows Internet.
-e Вместо того, чтобы возвращать процент запросов, которые
удалось, вернуть код состояния HTTP последнего запроса,
или 0, если последний запрос не удался.
-et Вместо того, чтобы возвращать процент запросов, которые
удалось, верните время (в миллисекундах), затраченное
последний запрос или 0, если последний запрос не удался.
-eb Вместо того, чтобы возвращать процент запросов, которые
удалось, вернуть количество байтов, переданных
последний запрос или 0, если последний запрос не удался.
-ipv4 Принудительное разрешение IPv4 для сайтов с двойным стеком.
-ipv6 Принудительное разрешение IPv6 для сайтов с двойным стеком.
(как показано здесь, в этом примере пакетного файла, используемого с нашим запуском в качестве продукта службы Windows, AlwaysUp).
Вот что произойдет, если мы попытаемся получить доступ к Yahoo! веб-сайт через HTTP: