Диагностика распространенных проблем, которые приводят к сбою тестов проверки ping в мониторинге доступности Application Insights — Azure

Twitter LinkedIn Facebook Адрес электронной почты

  • Статья

В этой статье описывается, как получить доступ к отчету об устранении неполадок Application Insights.

Этот отчет позволяет легко диагностировать распространенные проблемы, которые приводят к сбою тестов связи .

Чтобы просмотреть отчет, выполните следующие действия.

  1. На странице Доступность ресурса Application Insights выберите Общие или один из тестов доступности.

  2. Выполните одно из следующих действий.

    • Выберите Сбой, а затем выберите тест в разделе Детализация слева.
    • Выберите одну из точек на точечной диаграмме.
  3. Чтобы просмотреть отчет об устранении неполадок, откройте

    страницу Сведений о сквозной транзакции , выберите событие, найдите область Сводка отчета об устранении неполадок и нажмите перейти к шагу.

В следующей таблице перечислены шаги, сообщения об ошибках и возможные причины, которые можно найти в отчете.

ШагСообщение об ошибкеВозможная причина
Повторное использование подключенияДля этой проблемы не возвращается определенное сообщение об ошибке.Этап тестирования на западе зависит от ранее установленного подключения. Таким образом, не требуется шаг 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.

Тестировать скорость желательно сразу после покупки Вами VPS или выделенного сервера чтобы в случае чего — предъявить претензии хостинг-провайдеру и не быть обманутым при покупке сервера.

В данном примере сделаем установку на 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, чтобы проверить, может ли другой сервер подключиться к этой машине, и получить некоторые данные о ней

Я изучил следующие варианты:

  1. Написание веб-страницы, которая анализирует соединение между двумя машинами.

    Это означает, что одна машина попытается перейти на эту веб-страницу. Он будет предоставлять некоторую информацию о скорости соединения и т. д. Это было удалено из таблицы, потому что эта веб-страница должна будет в основном запускать какое-то веб-приложение. У меня нет времени развивать это. — Если вы знаете о существующих технологиях, дайте мне знать.

  2. Размещение файла на веб-сервере и попытка загрузки. Не будет предоставлять все данные, которые я хотел бы иметь. Браузеры обычно скрывают все «веселое».

  3. , используя какую-то утилиту проверки связи, подобную этой 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

.

ping — бесплатная утилита для проверки/проверки любого URL-адреса или веб-сайта из командной строки DOS


Легко узнать, отвечает ли ваш веб-сайт и как он работает

http-ping небольшой, бесплатный , простая в использовании утилита командной строки Windows, которая исследует заданный URL-адрес и отображает соответствующую статистику. Это похоже на популярную утилиту ping, но работает через HTTP/S вместо ICMP и с URL-адресом вместо имени компьютера/IP-адреса. http-ping поддерживает адреса IPv6.

(http-ping на работе — нажмите, чтобы увеличить)

Для каждого запроса http-ping отображает:

  • Код возврата HTTP (и его краткое текстовое описание)
  • Количество байтов, возвращенных сервером (исключая заголовки)
  • Время, затраченное на выполнение запроса (т. е. время приема-передачи)

По завершении предоставляется сводка всех запросов.


Параметры командной строки

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, который вы можете использовать для управления своим скриптом.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *