Dynatrace
Узнайте, как интегрировать бэкенд-логи Dynatrace с воспроизведениями сессий OpenReplay, чтобы расширить возможности мониторинга и отладки.
Эта интеграция доступна пользователям Cloud (Serverless, Dedicated) и Self-Host (Community, Enterprise).
1. Сгенерируйте учётные данные Dynatrace
Section titled 1. Сгенерируйте учётные данные DynatraceВыполните следующие шаги, чтобы получить необходимые учётные данные из Dynatrace:
- Войдите в свою учётную запись Dynatrace.
- Перейдите в Account Management
- Создайте OAuth Client:
- Нажмите Identity & Access Management
- Выберите OAuth clients
- Нажмите Create client, чтобы сгенерировать необходимые учётные данные.
- Сохраните учётные данные:
- После создания клиента сохраните следующее:
- Client ID
- Client Secret
- Account URN
- Получите свой
environment ID:// Example Dynatrace URL: https://rzr85764.app.dynatrace.com/ Environment ID: rzr85764
2. Передайте openReplaySession.id на бэкенд
Section titled 2. Передайте openReplaySession.id на бэкендЧтобы связать логи Dynatrace с сессиями OpenReplay, уникальный идентификатор сессии openReplaySession.id необходимо передавать с фронтенда на бэкенд при каждом запросе, который вы хотите отслеживать.
Включите openReplaySession.id в API-запросы на фронтенде
Section titled Включите openReplaySession.id в API-запросы на фронтендеИзмените код фронтенда, чтобы добавить openReplaySession.id в заголовки ваших API-запросов:
// JavaScript Example for for Single Page Applications (SPA):
// Import OpenReplay
import { tracker } from '@openreplay/tracker';
// Initialize the tracker
tracker.configure({
projectKey: 'YOUR_PROJECT_KEY',
ingestPoint: "https://openreplay.mydomain.com/ingest", // when dealing with the self-hosted version of OpenReplay
});
// Start the tracker and wait for it to resolve
tracker.start().then(() => {
// Get the session ID after the tracker has started
const sessionId = tracker.getSessionID();
const headers = {
'Content-Type': 'application/json',
};
// Get the session ID
const sessionId = tracker.getSessionID();
const headers = {
'Content-Type': 'application/json',
};
if (sessionId) {
headers['openReplaySession.id'] = sessionId;
}
// Make the API request
fetch('/api/endpoint', {
method: 'GET', // or 'POST', etc.
headers,
// ...other options
})
.then(response => {
// Handle response
})
.catch(error => {
// Handle error
});
Включите openReplaySession.id в логи бэкенда
Section titled Включите openReplaySession.id в логи бэкендаВ бэкенд-приложении извлеките openReplaySession.id из входящих запросов и включите его в логи, используя конкретный формат «ключ-значение» openReplaySession.id=<sessionId>:
// Example.....
// Middleware to extract the session ID
app.use((req, res, next) => {
const sessionId = req.headers['openreplaysession.id'];
req.sessionId = sessionId; // Attach to request object
next();
});
// When logging events or errors
app.get('/api/endpoint', (req, res) => {
// Your logic here
// Log with the session ID in the required format
console.log(`openReplaySession.id=${req.sessionId} - Endpoint accessed`);
res.send('Success');
});
// Error handling middleware
app.use((err, req, res, next) => {
console.error(`openReplaySession.id=${req.sessionId} - Error: ${err.message}`);
res.status(500).send('Internal Server Error');
});
Включив openReplaySession.id в логи бэкенда, Dynatrace сможет собирать логи, связанные с конкретными сессиями OpenReplay. Это позволяет просматривать эти логи во время воспроизведений сессий в OpenReplay, давая полную картину действий пользователя и бэкенд-логов.
3. Создайте пользовательский атрибут лога в Dynatrace
Section titled 3. Создайте пользовательский атрибут лога в DynatraceСоздайте пользовательский атрибут лога в Dynatrace, чтобы извлекать openReplaySession.id из ваших логов.
- Войдите в свою SaaS-учётную запись Dynatrace.
- Перейдите в Settings.
- Выберите Log Monitoring > Custom attributes, а затем выберите Add custom attribute.
- Введите ключ
openReplaySession.id.
Справка: Подробные шаги см. в документации Dynatrace: Log custom attributes.
4. Настройте интеграцию Dynatrace в OpenReplay
Section titled 4. Настройте интеграцию Dynatrace в OpenReplayВ своей учётной записи OpenReplay выполните эти 3 шага, чтобы завершить сопоставление воспроизведений сессий с бэкенд-логами Dynatrace.
Включите интеграцию Dynatrace
Section titled Включите интеграцию Dynatrace- Перейдите в Preferences > Integrations в OpenReplay.
- Выберите вкладку Backend Logging.
- Выберите проект, для которого вы хотите включить интеграцию Dynatrace: Найдите карточку интеграции Dynatrace > Нажмите на неё.
Введите учётные данные Dynatrace
Section titled Введите учётные данные DynatraceВ боковой панели интеграции Dynatrace введите:
- Environment ID: Идентификатор окружения вашего Dynatrace для внешнего доступа.
- Client ID и Client Secret: Сохранённые на первом шаге.
- Dynatrace Account URN: Ваш уникальный идентификатор, используемый внутри платформы Dynatrace, также сохранённый на первом шаге.
Проверьте подключение
Section titled Проверьте подключение- Нажмите Add, чтобы проверить подключение: Сообщение об успехе подтвердит, что интеграция настроена правильно.

5. Просмотр логов Dynatrace в OpenReplay
Section titled 5. Просмотр логов Dynatrace в OpenReplay- Перейдите в Sessions в OpenReplay.
- Откройте любое воспроизведение сессии.
- Нажмите кнопку Traces.
- Будут отображены логи Dynatrace, связанные с сессией.
- Нажмите на любую запись лога, чтобы просмотреть подробную информацию.

Логи типа
LOGсо статусамиWARN,ERROR,INFOиNONEизвлекаются с помощью Dynatrace Log Monitoring API v2.
Остались вопросы?
Section titled Остались вопросы?Если у вас возникнут проблемы, присоединяйтесь к нашему Slack или загляните на наш Форум и получите помощь от нашего сообщества.