sentry – ознайомлення та встанановлення relay

Опис

Sentry Relay – проміжний та потужний компонент, через який додатки відправляють помилки в Sentry допомагає забезпечити ефективну та надійну передачу данних, зменшує навантаження на сервер Sentry, та покращує безпеку. Має декілька режимів роботи, які розглянемо трішки нижче. Розміщувати релай можемо як поруч з Sentry, так і на окремому сервері, все залежить від потреб (за замовчуванням він розгортається разом з Sentry). 

Релай виконує наступне:

  • Очищує персональну інформацію, перш ніж відправити дані до Sentry;
  • Покращує час відповіді на події, де є проблеми з мережею;
  • Працює як проксі, який може обмежувати HTTP-запити і не тільки;

Ще одна з переваг релаю, сентрі може бути не доступним проте аплікейшен відправлятиме помилки до релаю, релай їх прийматиме. Якщо помилки відправляти на пряму до Сентрі – аплікейшен буде намагатися відправити помилки, відбуватимуться постійні ретраї, що може гальмувати його.

План виконання:

  • розгортати будемо на окремому серверів, який живе в одній мережі з додатками (розташовуємо поближче);
  • завантажити та встановити релай;
  • ознайомитись з конфігураційними файлами;
  • запустити та підключити до сентрі;
  • перевірити доступ до релаю з серверів додатків;
  • тестово відправити повідомлення в сентрі

Встановлення

підключаємось до підготовленого серверу по ssh, завантажуємо bin файл:

робимо файл виконуючим, переміщаємо в директорію /usr/bin:

далі потрібно згенерувати конфігураційні файли, для цього скористаємось командою:

де:

  • relay config initкоманда для генерації файлів;
  • /etc/sentry-relayшлях куди генерувати файли (якщо не вказувати шлях, в поточній директорії буде створена окрема директорія .relay);

релай згенерував два файли:

  • config.ymlконфігураційний файл;
  • credentials.jsonфайл з публічним та приватним ключем;

розглянемо детальніше файл config.json:

де:

  • mode – вказуємо режим роботи релаю;
  • upstream – додаємо посилання на сентрі;
  • host –  відповідно хост;
  • port3000 на якому працює ранер;
  • tls_* – налаштування для tls, поки що нам цей параметр не потрібен;

Коротко поговоримо про режими роботи релаю. Існує три основні:

  • managed режим за замовчуванням. В даному режимі відбувається перевірка на актуальність проету, якщо перевірка не пройшла, релай не буде нічого відправляти.
    Релай виконає запит для перевірки та обробки налаштувань проекту, якщо сентрі не зможе обробити та перевірити – дані для даного проекту будуть відхилені.
    Даний режим працює тільки з Enterprise версією Sentry(.
  • statiс у статичному режимі проекти необхідно налаштовувати. Relay оброблятиме події лише для статично налаштованих проектів а події інших проектів відхилятиме. Цей режим корисний, якщо ви знаєте проекти які надсилають події і їх потрібно контролювати.
  • proxyрежим проксі схожий на static, але він пересилає події з як з відомих так і з невідомих проектів. Події з невідомих проектів пересилаються з мінімальним обробленням.

Додаткові опції які можна додати в конфігураційни файл дивимося тут. Тепер структура файлу credentials.json:

де:

  • secret_key – таємний ключ;
  • public_key – публічний ключ, який ми додаємо при створенні ранера на sentry;
  • id – відповідно ідентифікатор релаю;

Після короткого ознайомлення з файлами, потрібно додати публічний ключ в налаштування relay, переходимо в Settings > Relay > Register Key:

додаємо скопійований ключ, називаємо релай, натискаємо Register:

запустимо:

де:

  • /bin/relay run – команда для запуску;
  • -c /etc/sentry-relay – шлях до директорії з конфігураційними файлами (config.yml / credentials.json);

якщо все зробили вірно, отримаємо наступне:

далі спробуємо відправити повідомлення через relay:

Перевіримо подію в Sentry:

На цьому все.

Корисні посилання

Click to rate this post!
[Total: 1 Average: 5]