Перейти до основного вмісту

Синтетичний моніторинг

Синтетичний моніторинг: сценарії в браузері, перевірки API та HTTP із 300+ локацій

Синтетичний моніторинг (synthetic monitoring) HostTracker проходить ваш сайт за розкладом, із 300+ локацій, обираючи перевірку, що підходить під завдання: сценарій у браузері, виклик API, оцінений за правилами, або простий HTTP-запит. Оберіть один варіант нижче і отримуйте сповіщення тієї миті, коли він перестає відповідати вашим очікуванням.

  • Нам довіряють з 2004 року
  • 500 000+ відстежуваних сайтів
  • 300+ контрольних точок по всьому світу

Однакова схема для всіх трьох: запуск, оцінка, повторна перевірка, сповіщення

Одна система, три формати перевірокСценарій у браузері, набір правил API або простий HTTP-запит - той самий розклад, ті самі 300+ контрольних точок і ті самі сповіщення для всіх трьох.
Трафік, який генерує HostTracker, а не той, що трапляється самКожна перевірка виконується за вашим розкладом, а не розкладом відвідувача, тож зламану сторінку виявляють ще до того, як її знайде реальний відвідувач - навіть на сайті, де ще немає трафіку.
Оцінюється за правилами, які пишете виКожен тип перевірки оцінюється за правилами - відображене ключове слово, значення JSON, час відповіді, - а не лише тим, чи відповів сервер узагалі.

Що таке синтетичний моніторинг

Синтетичний моніторинг означає, що трафік генерується навмисно. Замість того щоб чекати, поки реальний відвідувач наштовхнеться на проблему, сервіс моніторингу сам проходить ваш сайт, за фіксованим розкладом, ззовні вашої мережі, і звіряє те, що повертається, із заданими вами правилами. Інструменти синтетичного моніторингу HostTracker охоплюють три форми перевірки - моніторинг у браузері для сценарію, виклик API, оцінений за правилами, і простий HTTP-запит, - покриваючи все: від повного процесу оформлення замовлення до простої перевірки коду статусу, і все це з 300+ локацій по всьому світу.

Це не моніторинг реальних користувачів. HostTracker сам генерує кожну перевірку; він не збирає дані про час чи помилки з браузерів ваших справжніх відвідувачів. Якщо вам потрібно знати, що пережили ваші реальні відвідувачі, - це інша дисципліна з іншою назвою - див. синтетичний моніторинг і моніторинг реальних користувачів для повного порівняння. Перевага синтетичного моніторингу протилежна: він працює ще до появи хоча б одного відвідувача і продовжує працювати о третій ночі, коли ніхто не дивиться.

Яку синтетичну перевірку обрати для якої проблеми

Три типи перевірок відповідають на різні питання, і вибір не того типу - найпоширеніший спосіб, яким реальна проблема лишається непоміченою. Ця таблиця зіставляє п’ять поширених потреб із перевіркою, яка справді їх покриває.

Що потрібно знати
Яка перевірка
Чому
Чи сайт доступний і швидкий
Один запит, оцінений за статусом, ключовими словами та часом відповіді. Найдешевший і найшвидший сигнал - базова перевірка для кожного акаунту.
Чи все ще завершується оформлення замовлення
Лише реальний браузер може клікнути «додати в кошик», відправити форму та пройти перенаправлення на сторінку підтвердження.
Чи клієнт усе ще може увійти
Вхід - це послідовність: відправити, дочекатися, потрапити на сторінку акаунту, - а не одна відповідь.
Чи API все ще відповідає своєму контракту
Правила перевірки читають статус, заголовки, час відповіді та тіло у форматі JSON/XML/текст - сама лише перевірка коду статусу пропустить неправильне чи відсутнє поле.
Чи сторонній віджет усе ще завантажується, не ламаючи сторінку
Лише реальний браузер виконує JavaScript, від якого залежить віджет, і може перевірити те, що справді відображається.

Більшість акаунтів зрештою одночасно використовують більше одного рядка цієї таблиці - HTTP-перевірку в основі всього, плюс перевірку транзакції чи API для одного-двох найважливіших процесів.

Один рядок чи десять кроків - мова відповідає типу перевірки

Сценарій транзакції - це послідовність іменованих дій; набір правил API - це набір перевірок для однієї відповіді. Обидва налаштовуються, а не пишуться кодом.

Транзакція: сценарій із п’яти кроків

0  navigate  https://shop.example.com/               1.4 s
1  type      #email  "[email protected]"       0.2 s
2  click     #add-to-cart                            0.9 s
3  waitForNavigation  /checkout                     1.1 s
4  checkContent  "Order summary"  present     0.1 s

API: набір із чотирьох правил

status isOk
header("Content-Type") contains "json"
body.json.path("$.count") gt 0
time lt 5s

З якого з трьох почати

Кожен відповідає на інше питання. Більшість акаунтів HostTracker зрештою використовують більше одного.

Сценарій у браузері

Доведіть, що багатокроковий процес усе ще працює

Відкрийте реальний браузер Chromium і пройдіть до десяти кроків - увійдіть, знайдіть товар, додайте в кошик, оформіть замовлення, - а потім перевірте, що є на сторінці. Виявляє те, чого не може код статусу: прибрану кнопку, зламану відправку форми, помилку JavaScript посеред процесу. Моніторинг транзакцій

Виклик, оцінений за правилами

Перевіряйте контракт одного ендпоінта

Надішліть один HTTP-виклик і оцініть відповідь за до 20 правилами перевірки статусу, заголовків, часу відповіді та тіла у форматі JSON, XML чи звичайного тексту. Створено для ендпоінта, від якого залежить інша система. Моніторинг API

Простий запит

Дайте відповідь на найпростіше питання: чи працює сайт

Запитуйте URL-адресу з 300+ контрольних точок у 158 містах і перевіряйте статус, ключові слова в тілі, час відповіді та TLS. Базова перевірка, на яку спираються інші два типи. HTTP-моніторинг

Спільне для всіх трьох

Кожна синтетична перевірка отримує ту саму інфраструктуру

Форма перевірки змінюється; контрольні точки, логіка підтвердження та канали сповіщень за нею - ні.

Охоплення

300+ контрольних точок, 158 міст

Кожен тип перевірки виконується з того самого публічного парку контрольних точок. Оберіть локації, що відповідають тому, де справді перебувають ваші відвідувачі чи споживачі вашого API.

Хибні тривоги

Підтверджується до того, як вас сповістять

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

Докази

Скриншот, а не лише вердикт

Перевірка транзакції зберігає скриншот останнього кроку, а також ще один - у момент збою кроку, тож розслідування починається з того, як сторінка виглядала насправді.

Оцінка

Правила, які пишете ви, а не чорна скринька

Перевіряйте відображений текст, значення JSON, обране через JSONPath чи XPath, або просте ключове слово - до 20 правил перевірки чи 10 збігів ключових слів на монітор, залежно від типу перевірки.

Сповіщення

Ті самі канали сповіщень для кожної перевірки

Електронна пошта, SMS, голосовий дзвінок, Slack, Telegram і webhook, налаштовані один раз на контакт, спільні для перевірок транзакцій, API та HTTP на вашому акаунті.

Сторінки статусу

Одна публічна сторінка статусу для всіх них

Додайте будь-який монітор - сценарій у браузері, виклик API чи HTTP-перевірку - на ту саму публічну сторінку статусу, тож клієнти бачать одну сторінку замість трьох окремих.

Кожен рівень вашої інфраструктури під наглядом

Сайти, сервери, API, сертифікати. Один тип перевірки на сторінку, за всіма - ті самі локації, сповіщення та звіти.

Нам довіряють команди з

Microsoft Panasonic OTP Bank OneProvider Worldmate
Повний посібник

Синтетичний моніторинг - детально

Кожен розділ відкривається на місці, тож сторінка залишається короткою.

Синтетичний моніторинг проти моніторингу реальних користувачів

Ці два підходи відповідають на різні питання. Синтетичний моніторинг сайту генерує власний трафік, зі своїх контрольних точок, за розкладом, який контролюєте ви, - сценарій у браузері, виклик API чи простий HTTP-запит. Моніторинг реальних користувачів натомість спостерігає за браузерами ваших справжніх відвідувачів, а отже, йому потрібен реальний трафік, щоб узагалі щось повідомити, і він не може сказати, що станеться завтра, - лише те, що вже сталося сьогодні.

HostTracker - це сервіс синтетичного моніторингу - він не пропонує моніторингу реальних користувачів, і ця сторінка не вдаватиме інакше. Натомість синтетичний моніторинг дає інше: тестовий сайт без жодного відвідувача все одно перевіряється; збій о третій ночі виявляється так само, як і в годину пік; а оскільки сценарій детермінований, результат називає точний крок чи правило, що провалилися, а не розмитий симптом. Для повного порівняння дивіться синтетичний моніторинг проти моніторингу реальних користувачів; сторінка моніторингу транзакцій також має детальну таблицю, якщо вам потрібна механіка.

Як часто і звідки

Кожен тип перевірки має власну нижню межу інтервалу, бо кожен коштує іншого обсягу роботи для виконання. HTTP- запит дешевий і може виконуватися аж раз на хвилину на платному тарифі. Виклик API додає розбір і оцінку правил, але все одно виконується від однієї хвилини до 24 годин. Перевірка транзакції відкриває реальний браузер і повністю проходить сценарій, тому має нижню межу 10 хвилин - браузерні перевірки дорогі як у виконанні, так і в обробці результатів, і поєднання їх зі швидкою HTTP-перевіркою на тому самому сайті покриває обидва питання - «чи доступний сайт прямо зараз» і «чи все ще працює процес» - без запуску браузера щохвилини.

HTTP-моніторингАж до 1 хв300+ контрольних точок, 158 міст; невдалий результат повторно перевіряється з інших локацій до сповіщення.
Моніторинг APIВід 1 хв до 24 годУсі опції HTTP плюс розбір JSON, XML чи звичайного тексту та до 20 правил перевірки.
Моніторинг транзакційВід 10 хв до 24 годДо 10 кроків, 40-секундний бюджет на запуск, реальний браузер із пулу контрольних точок Waterfall.

Усі три типи дозволяють обрати, з яких саме контрольних точок серед 300+ у 158 містах виконується конкретний монітор - географія має більше значення, ніж здається, адже CDN чи маршрутизований за географією балансувальник навантаження може бути справним в одному регіоні й давати збій в іншому.

На що сповіщати

Спокуса з будь-яким новим типом перевірки - одразу під’єднати його до сповіщення, що будить когось посеред ночі. Утримайтесь від цього перший тиждень: дайте новому монітору попрацювати тихо, перегляньте кілька реальних результатів і лише тоді вирішіть, кого сповіщати негайно, а кому вистачить щоденного дайджесту. Перевірка транзакції, що провалюється через зміну селектора маркетингового банера, - не та сама серйозність, що й та, яка провалюється через те, що оформлення замовлення перестало завершуватися, - пишіть перевірки контенту на стабільному, значущому тексті, щоб сповіщення, яке ви отримаєте, справді вартувало дії.

Сповіщення надходять через канали, налаштовані для кожного контакту, - електронну пошту, SMS, голосовий дзвінок, Slack, Telegram, webhook та інші - той самий набір для всіх трьох типів перевірок, тож збій транзакції та збій HTTP доходять до тієї самої людини тим самим шляхом. Зміна стану підтверджується лише тоді, коли погоджуються інші контрольні точки, тож сповіщення, яке ви отримуєте, уже зважене, а не єдине нестабільне спостереження; сповіщення про відновлення надходить, щойно перевірка знову проходить успішно, закриваючи цикл без потреби перевіряти самостійно.

Ключові висновки

Часті запитання

Синтетичний моніторинг - це моніторинг, у якому трафік генерується навмисно, за розкладом, сервісом поза вашими власними системами, а не в очікуванні, поки реальний відвідувач наштовхнеться на проблему і сподіваючись, що він про неї повідомить. Синтетичний моніторинг HostTracker існує у трьох формах: сценарій у браузері, що проходить багатокроковий процес, виклик API, який оцінюється за написаними вами правилами, і простий HTTP-запит, перевірений за статусом, тілом і часом відповіді. Усі три працюють із 300+ локацій, використовують ті самі канали сповіщень і затримують сповіщення, доки збій не підтвердять інші контрольні точки.

Ні. HostTracker сам генерує трафік, зі своїх контрольних точок, за встановленим вами розкладом, - він не збирає дані про час чи помилки з браузерів ваших реальних відвідувачів. Якщо вам потрібно знати, що саме пережили ваші справжні відвідувачі, - це моніторинг реальних користувачів, інша дисципліна з іншою назвою; повне порівняння дивіться в статті про синтетичний моніторинг і моніторинг реальних користувачів. Перевага синтетичного моніторингу протилежна: він працює ще до появи хоча б одного відвідувача і продовжує перевіряти о третій ночі, коли ніхто не заходить на сайт.

Моніторинг аптайму у вузькому, повсякденному сенсі зазвичай означає рівно одну з цих трьох форм: просту HTTP-перевірку, яка запитує URL-адресу й дивиться на код статусу та час відповіді. Синтетичний моніторинг - ширший термін, що охоплює також моніторинг у браузері - сценарій - і синтетичний моніторинг API - виклик, який оцінюється за правилами. HTTP-перевірка відповідає на питання «чи сервер на місці»; перевірка транзакції відповідає на питання «чи справді завершується багатокроковий процес»; синтетичний моніторинг API відповідає на питання «чи справді відповідь відповідає своєму контракту». Сайт може проходити кожну HTTP-перевірку, тоді як його оформлення замовлення зламане, - і саме цю прогалину закривають інші два типи.

Ні. Усі три типи перевірок будуються у веб-редакторі. Сценарій транзакції - це список дій - navigate, click, type тощо - обраних із меню, з CSS-селектором, введеним у поле. Правила перевірки монітора API - це по одному простому, читабельному рядку синтаксису кожне, а не скрипт. Ключові слова та налаштування HTTP-монітора - це поля форми. Тут немає жодної мови програмування, хоча повний набір дій і правил також доступний через API, якщо ви хочете автоматизувати саме налаштування.

До десяти написаних кроків у межах 40-секундного бюджету на весь запуск. Початковий перехід на власну URL-адресу монітора додається автоматично як нульовий крок, тож десять кроків, які пишете ви, - це десять кроків реальної роботи: кліки, введений текст, перевірки контенту, - а не дев’ять плюс завантаження сторінки. Процес, якому справді потрібно більше десяти кроків, зазвичай краще розділити на два монітори - це ще й підкаже, яка половина зламалася.

Почніть із HTTP-перевірки самого сайту - це найдешевший сигнал і базова перевірка, яку варто мати кожному акаунту. Потім додайте той із двох інших типів, що відповідає вашому найвагомішому ризику: перевірку транзакції, якщо зламане оформлення замовлення чи вхід прямо коштує вам грошей, перевірку API, якщо інша система - ваш власний застосунок, інтеграція партнера - залежить від коректної відповіді ендпоінта. Більшість акаунтів, що використовують усі три, запускають HTTP-перевірку найчастіше, перевірку API - трохи рідше, а перевірку транзакції - з найдовшим інтервалом, оскільки вона потребує найбільше роботи для запуску.

Це залежить від типу перевірки, бо кожна коштує іншого обсягу роботи для виконання. HTTP-перевірки можуть виконуватися аж раз на хвилину на платному тарифі. Перевірки API виконуються від однієї хвилини до 24 годин. Перевірки транзакцій - оскільки кожен запуск відкриває реальний браузер і повністю проходить сценарій - мають нижню межу 10 хвилин. Поширений підхід - поєднати одну хвилину HTTP-перевірки для швидкого виявлення збою з перевіркою транзакції чи API кожні 10-15 хвилин для глибшого питання.

Збою не довіряють після першого спостереження. HostTracker повторно запускає перевірку з інших, незалежних контрольних точок і підтверджує зміну стану лише тоді, коли достатня їх кількість погоджується, тож один нестабільний мережевий шлях чи один повільний вузол сам собою не перетворюється на сповіщення. Після підтвердження HostTracker сповіщає налаштованих вами контактів через обрані канали - електронну пошту, SMS, голосовий дзвінок, Slack, Telegram, webhook та інші - із затримкою, встановленою для кожного контакту, а сповіщення про відновлення надходить, щойно перевірка знову проходить успішно.

Один пробний період, три типи перевірок

Оберіть синтетичну перевірку, що підходить, і почніть безкоштовно

Почніть безкоштовний пробний період і додайте перевірку транзакції, API чи HTTP на той самий акаунт - ті самі 300+ локацій і ті самі сповіщення для всіх трьох.

30 днів безкоштовно - 100 моніторів - без банківської картки
  • Нам довіряють з 2004 року
  • 500 000+ відстежуваних сайтів
  • 300+ контрольних точок по всьому світу

Частина інструментів моніторингу сайту HostTracker.