Диагностика распространенных проблем, которые приводят к сбою тестов проверки 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. -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 для сайтов с двойным стеком. По завершении код выхода представляет собой процент успешных запросов или либо код состояния HTTP, либо затраченное время, либо количество переданных байтов. последнего запроса (или 0, если последний запрос не удался). В пакетном файле DOS вы можете получить доступ к этому коду выхода через переменную ERRORLEVEL. (как показано здесь, в этом примере пакетного файла, используемого с нашим запуском в качестве продукта службы Windows, AlwaysUp). ПримерыПример #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/перенаправлено. Вот что произойдет, если мы попытаемся получить доступ к Yahoo! веб-сайт через HTTP: Чтобы выполнить редирект и сделать последующий запрос на новую локацию, указываем флаг -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, который вы можете использовать для управления своим скриптом. |