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 OpenReplay from '@openreplay/tracker';
// Initialize the tracker
const tracker = new OpenReplay({
projectKey: 'YOUR_PROJECT_KEY',
});
// 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 или загляните на наш Форум и получите помощь от нашего сообщества.