Статьи

Введение в новую синтетическую реликвию

Что вы будете создавать

Новая Relic Synthetics — это манекен для краш-теста для вашего программного обеспечения. Synthetics позволяет настраивать множество тестов для регулярного запуска вашего сайта и сервисов со всего мира. Эти тесты помогут вам найти проблемы и устранить их до того, как ваши клиенты их испытают.

Или, как рассказывается в видео-ролике выше: «Ваше приложение нуждается в последовательной тренировке, которая происходит каждый день, как по маслу, а Synthetics — жесткий и любящий тренер, чтобы быть уверенным в этом (шлепает по бедру робота)».

New Relic Synthetics тренирует ваш сайт и услуги

В этом руководстве я дам вам общий обзор продукта Synthetics и познакомлю вас с настройкой мониторов и просмотром отчетов.

Synthetics помогает вам гарантировать, что важные веб-сервисы работают и работают без ошибок благодаря настраиваемому автоматическому тестированию. Будь то раз в минуту в Сан-Франциско или раз в день в Дублине, вы выбираете частоту и местоположение ваших тестов, исходя из бизнес-функций и потребностей.

Вот пример формы конфигурации для построения автоматизированного контрольного теста (более подробно я расскажу ниже):

Автоматизированное тестирование новой Relic Synthetics

Ваш сайт может работать в Сингапуре, но доступен ли он в Сан-Паулу? Узнайте в считанные секунды с помощью простых тестов ping или браузера веб-сайта. Просмотрите моделируемую производительность вашего программного обеспечения в Вашингтоне, округ Колумбия, Сан-Франциско, Сан-Паулу, Дублине, Сингапуре, Токио и Сиднее.

Новый тест Relic Synthetics со всего мира

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

Создавайте сценарии автоматических вызовов ваших API, чтобы убедиться, что все выходные данные и системные ответы успешно возвращаются из разных мест по всему миру.

Synthetics легко интегрируется с другими продуктами New Relic, такими как Insights, для единообразного взаимодействия и оптимального представления данных. Кроме того, вы можете получать автоматические трассировки транзакций с помощью New Relic APM, инструмента мониторинга внутреннего сервера приложений.

Чтобы узнать больше, посмотрите краткий обзор продукта ниже:

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

Понять, как на производительность отдельных активов влияют средние отчеты о времени загрузки и размере страницы:

Время загрузки новой Реликтовой Синтетики

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

Посмотрите те же проблемы, с которыми ваши пользователи сталкиваются с вашим программным обеспечением, на реальных скриншотах возникающих ошибок:

Скриншоты ошибок от Relic Synthetics

Получите полезные данные, включая все заголовки запросов и ответов, чтобы помочь отладить и исправить ваше программное обеспечение:

Новые HTTP-заголовки Relic Synthetics для запросов и ответов

Synthetics предоставляет подробные метрики со временем загрузки страницы для всех отдельных ресурсов в одну, удобную для чтения диаграмму водопада. Легко прокручивайте различные периоды времени на графике водопада:

Новые Реликтовые Синтетические Водопады

Подробные отчеты SLA помогут вам сохранить удовлетворенность клиентов. Эти отчеты суммируют оценки Apdex для эталонных тестов, порогов производительности и общего времени безотказной работы:

Новые отчеты Relic Synthetics SLA

Synthetics отправляет оповещения только после запуска теста три раза и получения того же результата ошибки (хотя вы платите только за один тест). Когда вы получаете предупреждение, это реально.

Вы можете узнать больше в обзоре новой функции Relic Synthetics или ознакомиться с таблицей Synthetics Datasheet (pdf) и BloomThat Case Study (pdf) . Теперь давайте пройдемся по продукту.

После того, как вы зарегистрировались в New Relic , вы можете начать использовать бесплатную пробную версию Synthetics. Давайте начнем с создания нескольких мониторов.

Это панель мониторинга монитора — она ​​очень проста. Мы пойдем дальше и нажмем кнопку « Добавить монитор» в правом верхнем углу:

New Relic Synthetics Создать новый монитор

Первый тип монитора — это простой пинг. Это говорит нам о том, что наш сайт работает. Мы предоставляем понятное имя для монитора и URL для тестирования:

New Relic Synthetics Выберите тип монитора

Мы можем легко выбрать географические регионы для запуска теста. Синтетика в настоящее время предлагает девять.

New Relic Synthetics Откуда вы хотите контролировать

Далее мы выбираем частоту этих проверок с помощью простого ползунка и предоставляем адрес электронной почты для предупреждений:

New Relic Synthetics Как часто вы хотите тестировать

Synthetics позволяет легко увидеть, как наш новый монитор влияет на наш общий бюджет на проверки:

New Relic Synthetics Ваш бюджет мониторинга

Следующим типом монитора является тест Simple Browser. Мы предоставляем понятное имя и URL, а Synthetics будет регулярно предоставлять подробные аналитические данные:

New Relic Synthetics Простое тестирование в браузере

Вот пример результатов, которые вы получите:

Новые ресурсы Relic Synthetics из простых тестов браузера

Тест Scripted Browser позволяет вам писать автоматизированные тесты на основе JavaScript для вашего сайта:

Скриптовое тестирование нового Relic Synthetics

Его среда сценариев похожа на node.js lite. Почти все, что вы ожидаете найти в среде node.js, доступно.

После запуска сценариев вы увидите скриншот и журнал результатов теста:

Новые Relic Synthetics проверяют скриптовые браузерные тесты

Вот пример сценария, включенного в качестве инфраструктуры, чтобы дать вам представление о том, как вы будете кодировать свои собственные тесты:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/**
 * Welcome to the Synthetics JavaScript IDE — Browser Edition
 * You can think of it like node.js lite.
 * node.js environment is also available here, with a few notable exceptions:
 *
 * Feel free to explore, or check out the full documentation
 * https://docs.newrelic.com/docs/synthetics/new-relic-synthetics/scripting-monitors/writing-scripted-browsers
 * for details.
 */
 
//This script will go to the New Relic home page, click the search button to open a search field, click the first set of search results, and verify that H1 contains the string “synthetics»
var By = $driver.By;
var assert = require(‘assert’);
 
// Load the New Relic home page
$browser.get(«http://newrelic.com»).then(function(){
 
  // Click the search button to open up a text field
  console.log(‘Click search button’);
  return $browser.findElement(By.id(«search-start»)).click();
 
}).then(function(){
 
  // Enter the string «synthetics» then press the enter key
  console.log(‘Enter search string’);
  return $browser.waitForAndFindElement(By.id(«st-search-input»)).then(function(element) {
    element.sendKeys(«synthetics\r»);
  });
 
}).then(function(){
 
  // Use the xPath of the first result on the search results page and then click it.
  // The xPath can be obtained in the Chrome inspector via the context menu
  console.log(‘Click first result’);
  return $browser.waitForAndFindElement(By.xpath(‘//*[@id=»st-results-container»]/div/div[2]/div[2]/div[1]/div[1]/h3/a’)).then(function(element){
    element.click();
  });
 
}).then(function(){
 
  // Find and ensure that the h1 tag of the first search result contains the word «Synthetics»
  $browser.waitForAndFindElement(By.xpath(‘//*[@id=»hero-main»]/section/header/div[2]/h1’)).then(function(element){
    element.getText().then(function(h1Text){
      console.log(‘H1 Title: %s’, h1Text);
      assert.ok(h1Text.indexOf(‘crash test dummy’) > -1, «Title does not validate»);
    });
  });
 
});

Вы также можете использовать Synthetics для тестирования уровня API. Опять же, вы можете использовать среду JavaScript Synthetics для автоматизации тестирования ваших веб-сервисов. Вот включенный пример тестового скрипта:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
var assert = require(‘assert’),
 
// Modify these values for instant gratification:
//——————————————————————————
  SERVICE_URL = ‘http://httpbin.org’,
  AUTH_USER = ‘superbot’,
  AUTH_PASSWORD = ‘supersecret’;
//——————————————————————————
 
// Example POST with JSON payload, expecting a 200 OK response
$http.post(SERVICE_URL + ‘/post’,
  // Post data
  {
    json: {
      username: AUTH_USER,
      password: AUTH_PASSWORD
    }
  },
  // Callback
  function (err, response, body) {
    if (err) throw new Error(‘Authentication error: ‘ + err.message);
 
    assert.ok(response.statusCode == 200, ‘Expected 200 OK response’);
 
    // Extract an API token from the JSON response to use as a header in
    // subsequent requests
    var token = body.token;
 
    $http.get(SERVICE_URL + ‘/get’, function (err, response, body) {
      if (err) throw new Error(‘Error getting widgets: ‘ + err.message);
 
      // Validate the response code
      assert.ok(response.statusCode == 200, ‘Expected 200 OK response’);
 
      // Expect at least 10 widgets
      assert.ok(body.widgets.length >= 10, ‘Received less than 10 widgets back’);
    });
  }
);
 
console.log(‘If we got this far: SUCCESS!’);

После того, как вы настроили несколько тестов, вы можете отслеживать, редактировать и просматривать их на панели инструментов:

Новая панель мониторинга Relic Synthetics Monitor

Вот некоторые виды подробных и сводных отчетов, которые вы можете регулярно получать от Synthetics. Обзорный отчет SLA, показывающий исторический Apdex и время безотказной работы:

Обзор SLA

Отчеты о времени загрузки — первые из обзора демонстрации New Relic:

Отчеты о времени загрузки

И более простой отчет с моего собственного монитора:

Время загрузки с моего тестового монитора

Вы можете изучить загрузку страницы и время работы сети со всего мира:

загрузка страницы и сетевые тайминги со всего мира

И получите сводки ресурсов для вашего сайта, чтобы помочь вам более детально отладить проблемы с производительностью:

резюме ресурсов для вашего сайта

Надеюсь, вам понравилось узнавать о New Relic Synthetics. Это, безусловно, полезный и мощный инструмент для любого серьезного издателя или поставщика услуг. Больше всего меня поразила простота и мощь пользовательского интерфейса.

Чтобы начать, вы можете подписаться на бесплатную 14-дневную пробную версию New Relic Synthetics . Как только пробная версия закончится, вы автоматически перейдете на New Relic LITE, бесплатный вечный план.

За 69 долларов в месяц вы можете получить более 10000 продвинутых чеков и неограниченное хранение данных. Вы также можете запросить консультацию у специалиста New Relic Synthetics для демонстрации продукта или предложения.

Пожалуйста, не стесняйтесь оставлять свои вопросы и комментарии ниже. Вы также можете связаться со мной в Twitter @reifman или написать мне напрямую.