Что такое новая синтетическая реликвия?
Новая Relic Synthetics — это манекен для краш-теста для вашего программного обеспечения. Synthetics позволяет настраивать множество тестов для регулярного запуска вашего сайта и сервисов со всего мира. Эти тесты помогут вам найти проблемы и устранить их до того, как ваши клиенты их испытают.
Или, как рассказывается в видео-ролике выше: «Ваше приложение нуждается в последовательной тренировке, которая происходит каждый день, как по маслу, а Synthetics — жесткий и любящий тренер, чтобы быть уверенным в этом (шлепает по бедру робота)».
В этом руководстве я дам вам общий обзор продукта Synthetics и познакомлю вас с настройкой мониторов и просмотром отчетов.
Обзор возможностей
Synthetics помогает вам гарантировать, что важные веб-сервисы работают и работают без ошибок благодаря настраиваемому автоматическому тестированию. Будь то раз в минуту в Сан-Франциско или раз в день в Дублине, вы выбираете частоту и местоположение ваших тестов, исходя из бизнес-функций и потребностей.
Вот пример формы конфигурации для построения автоматизированного контрольного теста (более подробно я расскажу ниже):
Тест со всего мира
Ваш сайт может работать в Сингапуре, но доступен ли он в Сан-Паулу? Узнайте в считанные секунды с помощью простых тестов ping или браузера веб-сайта. Просмотрите моделируемую производительность вашего программного обеспечения в Вашингтоне, округ Колумбия, Сан-Франциско, Сан-Паулу, Дублине, Сингапуре, Токио и Сиднее.
Данные Real Browser Engine
Synthetics позволяет просматривать подробные метрики, включая время загрузки страницы и отдельные ресурсы, с помощью реального движка браузера, что позволяет выявлять и решать проблемы, возникающие в режиме реального времени.
Тестирование API
Создавайте сценарии автоматических вызовов ваших API, чтобы убедиться, что все выходные данные и системные ответы успешно возвращаются из разных мест по всему миру.
Интеграция с другими новыми сервисами Relic
Synthetics легко интегрируется с другими продуктами New Relic, такими как Insights, для единообразного взаимодействия и оптимального представления данных. Кроме того, вы можете получать автоматические трассировки транзакций с помощью New Relic APM, инструмента мониторинга внутреннего сервера приложений.
Чтобы узнать больше, посмотрите краткий обзор продукта ниже:
Мощные инструменты для устранения неполадок
Вы можете использовать подробные метрики устранения неполадок New Relic Synthetics для решения проблем и ошибок в вашем приложении. Synthetics уведомляет вас, когда что-то идет не так, и указывает, что именно нужно исправить, чтобы вы могли восстановить и поставить работающее и надежное программное обеспечение для ваших конечных пользователей.
Производительность и время отклика
Понять, как на производительность отдельных активов влияют средние отчеты о времени загрузки и размере страницы:
Получите список системных сбоев и сбоев ваших критических транзакций. Подробно просматривайте отдельные инциденты, связанные с простоями, чтобы выявить тенденции и решать проблемы по мере их возникновения.
Скриншоты ошибок
Посмотрите те же проблемы, с которыми ваши пользователи сталкиваются с вашим программным обеспечением, на реальных скриншотах возникающих ошибок:
Заголовки HTTP-запросов и ответов
Получите полезные данные, включая все заголовки запросов и ответов, чтобы помочь отладить и исправить ваше программное обеспечение:
Водопад Графики
Synthetics предоставляет подробные метрики со временем загрузки страницы для всех отдельных ресурсов в одну, удобную для чтения диаграмму водопада. Легко прокручивайте различные периоды времени на графике водопада:
SLA Reporting
Подробные отчеты SLA помогут вам сохранить удовлетворенность клиентов. Эти отчеты суммируют оценки Apdex для эталонных тестов, порогов производительности и общего времени безотказной работы:
Порог предупреждения на 3 удара
Synthetics отправляет оповещения только после запуска теста три раза и получения того же результата ошибки (хотя вы платите только за один тест). Когда вы получаете предупреждение, это реально.
Вы можете узнать больше в обзоре новой функции Relic Synthetics или ознакомиться с таблицей Synthetics Datasheet (pdf) и BloomThat Case Study (pdf) . Теперь давайте пройдемся по продукту.
Начало работы с новой синтетикой Relic
После того, как вы зарегистрировались в New Relic , вы можете начать использовать бесплатную пробную версию Synthetics. Давайте начнем с создания нескольких мониторов.
Создание мониторов
Это панель мониторинга монитора — она очень проста. Мы пойдем дальше и нажмем кнопку « Добавить монитор» в правом верхнем углу:
Пинг Мониторы
Первый тип монитора — это простой пинг. Это говорит нам о том, что наш сайт работает. Мы предоставляем понятное имя для монитора и URL для тестирования:
Мы можем легко выбрать географические регионы для запуска теста. Синтетика в настоящее время предлагает девять.
Далее мы выбираем частоту этих проверок с помощью простого ползунка и предоставляем адрес электронной почты для предупреждений:
Synthetics позволяет легко увидеть, как наш новый монитор влияет на наш общий бюджет на проверки:
Простой браузерный монитор
Следующим типом монитора является тест Simple Browser. Мы предоставляем понятное имя и URL, а Synthetics будет регулярно предоставлять подробные аналитические данные:
Вот пример результатов, которые вы получите:
Скриптовый браузер
Тест Scripted Browser позволяет вам писать автоматизированные тесты на основе JavaScript для вашего сайта:
Его среда сценариев похожа на node.js lite. Почти все, что вы ожидаете найти в среде node.js, доступно.
После запуска сценариев вы увидите скриншот и журнал результатов теста:
Вот пример сценария, включенного в качестве инфраструктуры, чтобы дать вам представление о том, как вы будете кодировать свои собственные тесты:
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»);
});
});
});
|
Тестирование API
Вы также можете использовать 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!’);
|
Панель мониторинга монитора
После того, как вы настроили несколько тестов, вы можете отслеживать, редактировать и просматривать их на панели инструментов:
Составление отчетов
Вот некоторые виды подробных и сводных отчетов, которые вы можете регулярно получать от Synthetics. Обзорный отчет SLA, показывающий исторический Apdex и время безотказной работы:
Отчеты о времени загрузки — первые из обзора демонстрации New Relic:
И более простой отчет с моего собственного монитора:
Вы можете изучить загрузку страницы и время работы сети со всего мира:
И получите сводки ресурсов для вашего сайта, чтобы помочь вам более детально отладить проблемы с производительностью:
Что дальше?
Надеюсь, вам понравилось узнавать о New Relic Synthetics. Это, безусловно, полезный и мощный инструмент для любого серьезного издателя или поставщика услуг. Больше всего меня поразила простота и мощь пользовательского интерфейса.
За 69 долларов в месяц вы можете получить более 10000 продвинутых чеков и неограниченное хранение данных. Вы также можете запросить консультацию у специалиста New Relic Synthetics для демонстрации продукта или предложения.
Пожалуйста, не стесняйтесь оставлять свои вопросы и комментарии ниже. Вы также можете связаться со мной в Twitter @reifman или написать мне напрямую.