Назад | Перейти на главную страницу

Мониторинг CDN из разных географических точек

Недавно у нас возникла проблема с нашей службой CDN: в одном из периферийных местоположений кэшировалась неполная версия файла javascript, и наши клиенты из Объединенных Арабских Эмиратов (и, возможно, некоторых других соседних стран) не могли использовать нашу службу. Теперь эта проблема решена, но мы поняли, что мониторинг нашей сети CDN может быть хорошей идеей.

Нам нужно отслеживать:

  1. Ресурсы доступны.
  2. У них правильный тип содержимого, кодировка содержимого (gzip), срок действия и некоторые другие заголовки.
  3. Они имеют одинаковый размер во всех географических точках.
  4. Ресурсы часто меняют имена (мы меняем суффикс имени файла при обновлении его до новой версии), поэтому нам нужно иметь возможность изменять URL-адреса отслеживаемых ресурсов быстро и, в лучшем случае, автоматически во время развертывания.

Поскольку у нашего провайдера CDN есть много серверов в разных местах, нам также необходимо отслеживать это из разных мест. Я видел множество сервисов, которые могут отслеживать веб-сайты из разных мест, но все они, похоже, ориентированы на измерение доступности и скорости, в то время как в этом вопросе мы больше сосредоточены на согласованности.

Итак, я считаю, что у нас есть следующие варианты:

  1. Найдите размещенную службу мониторинга, которая может сделать то, что требуется. Кто-нибудь знает?
  2. Напишите сценарий мониторинга, используя некоторый список / сеть прокси-серверов. Есть ли надежный список / сервис для этого?
  3. Напишите сценарий, используя спецификацию узла выхода, чтобы отслеживать наши ресурсы из разных мест.
  4. Используйте какой-либо другой CDN, который имеет эту функциональность из коробки и гарантирует, что все копии наших ресурсов во всех местах согласованы. Но мы все равно хотели бы иметь сторонний мониторинг.

Какой подход лучше? Вы можете предложить что-нибудь еще для решения нашей проблемы?

Спасибо.

Извините, но это почти наверняка невозможно.

Лучшим способом было бы получить список IP-адресов всех пограничных серверов от поставщика CDN, а затем создать сценарий для проверки копий в периферийных местоположениях. Но я на 99% уверен, что вы не найдете провайдера CDN, который предоставит вам подробную информацию обо всех периферийных местоположениях - CDN ведут очень конкурентный бизнес.

За исключением указанного выше списка IP-адресов, с CDN вы не можете полагаться на мониторинг DYI, или мониторинг HTTP, выполняемый Gomez, Pingdom или любыми другими службами мониторинга HTTP. Сети CDN имеют периферийные местоположения во многих городах и используют своего рода «умную» маршрутизацию трафика:

  • DNS с поддержкой географии, т.е. поиск местоположения разрешение DNS-кеша IP-адрес и укажите IP-адрес, соответствующий POP CDN рядом с преобразователем DNS.
  • BGP Маршрутизация Anycast.

По этой причине ваш клиент мониторинга будет направлен на «ближайшую» точку присутствия CDN и не сможет отслеживать другие точки входа в сеть. Вам придется запустить агенты мониторинга во многих-многих местах, прежде чем вы сможете быть уверены, что охватываете все точки присутствия CDN.

У всех хороших CDN есть обширный мониторинг собственной сети, поэтому действительно не должно быть причин для дублирования этого самостоятельно. Вместо этого я предлагаю рассмотреть:

  • Переходите на более качественного поставщика CDN?

  • Принуждение POP CDN чаще удалять свои кэшированные версии. Хорошие сети CDN могут управлять TTL кеша на своих краях независимо от того, что указано в заголовках HTTP Expires и Cache-Control. Таким образом, если есть неполный файл, он будет очищен раньше.

1) Проверьте места мониторинга на pingdom.com и websitepulse.com.
2) Не надежно
3) Не надежно
4) никогда не слышал

Поговорили ли вы со своим провайдером CDN, чтобы проверить возможные инструменты, соответствующие вашим потребностям в мониторинге? CDN может предоставить вам интерфейс, чтобы специально выбрать зеркальный сайт или регион для ваших запросов на проверку. Я бы взял это как путь номер один, потому что все остальное - это скорее взлом, чем реальное решение.

Существуют каталоги прокси, но они ненадежны и часто меняются, как заявил 3molo. Вы можете рассмотреть возможность запуска своих собственных прокси-серверов через облачные сервисы (например, AWS или Azure) в качестве агентов мониторинга, но это действительно зависит от алгоритмов геолокации, используемых вашей CDN, если это будет отражать «реальное» обнаружение и получать ваши запросы, обслуживаемые правильные "серверы".

Полагаться на ненадежную одноранговую инфраструктуру, такую ​​как tor, для мониторинга звучит как плохая идея, и, возможно, стоит попробовать, только если у вас нет других вариантов.