เชœเชพเชตเชพเชธเซเช•เซเชฐเชฟเชชเซเชŸเชฎเชพเช‚ เชฒเช–เชพเชฏเซ‡เชฒ เชซเซเชฐเชจเซเชŸ-เชเชจเซเชก เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซเชธเชฎเชพเช‚ เชธเช‚เชคเซเชฐเซ€ เชธเชพเชฅเซ‡เชจเซ€ เชญเซ‚เชฒเซ‹เชจเซเช‚ เชจเชฟเชฐเซ€เช•เซเชทเชฃ เช•เชฐเชตเซเช‚: เชญเชพเช— 1

เชธเซ‡เชตเชพ เชธเซ‡เชจเซเชŸเซเชฐเซ€ เชคเชฎเชจเซ‡ เชฒเช–เซ‡เชฒเซ€ เชซเซเชฐเชจเซเชŸ-เชเชจเซเชก เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซเชธเชฎเชพเช‚ เชฌเช—เซเชธเชจเซ‡ เชฐเชฟเชฎเซ‹เชŸเชฒเซ€ เชฎเซ‹เชจเชฟเชŸเชฐ เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡ เชœเชพเชตเชพเชธเซเช•เซเชฐเชฟเชชเซเชŸ.

เชœเชพเชตเชพเชธเซเช•เซเชฐเชฟเชชเซเชŸเชฎเชพเช‚ เชฒเช–เชพเชฏเซ‡เชฒ เชซเซเชฐเชจเซเชŸ-เชเชจเซเชก เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซเชธเชฎเชพเช‚ เชธเช‚เชคเซเชฐเซ€ เชธเชพเชฅเซ‡เชจเซ€ เชญเซ‚เชฒเซ‹เชจเซเช‚ เชจเชฟเชฐเซ€เช•เซเชทเชฃ เช•เชฐเชตเซเช‚: เชญเชพเช— 1

เชชเชฐ เชซเซเชฐเชจเซเชŸ-เชเชจเซเชก เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซเชธเชฎเชพเช‚ เชธเชฎเชธเซเชฏเชพเช“เชจเซ‡ เช เซ€เช• เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ€ เชฐเชนเซเชฏเชพเช‚ เช›เซ€เช เชœเชพเชตเชพเชธเซเช•เซเชฐเชฟเชชเซเชŸ เชฎเซเชถเซเช•เซ‡เชฒ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡ เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเชจเชพ เชฌเซเชฐเชพเช‰เชเชฐเชฎเชพเช‚ เช‰เชฆเซเชฆเชญเชตเซ‡ เช›เซ‡, เชœเซ‡เชจเซ€ เชคเชฎเชจเซ‡ เช˜เชฃเซ€เชตเชพเชฐ เชเช•เซเชธเซ‡เชธ เชนเซ‹เชคเซ€ เชจเชฅเซ€. เชœเซ‹ เช•เซ‡, เชธเซ‡เชจเซเชŸเซเชฐเซ€ เชฆเซ‚เชฐเชธเซเชฅ เชฐเซ€เชคเซ‡ เชญเซ‚เชฒเซ‹เชจเซเช‚ เชจเชฟเชฐเซ€เช•เซเชทเชฃ เช•เชฐเชตเชพเชจเซเช‚ เชถเช•เซเชฏ เชฌเชจเชพเชตเซ‡ เช›เซ‡.

เชคเซ‡ เชคเชฎเซ‡ เช† เชฒเซ‡เช–เชฎเชพเช‚ เชšเชฐเซเชšเชพ เช•เชฐเซ‡เชฒ เช‰เช•เซ‡เชฒเซ‹ เชกเชพเช‰เชจเชฒเซ‹เชก เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹.

เชœเซ‡ เชœเชฐเซ‚เชฐเซ€ เช›เซ‡

เชœเซ‹ เชคเชฎเซ‡ เช† เช‰เชฆเชพเชนเชฐเชฃเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพ เชฎเชพเช‚เช—เชคเชพ เชนเซ‹, เชคเซ‹ เชคเชฎเชพเชฐเซ‡ เช†เชจเซ€ เชœเชฐเซ‚เชฐ เชชเชกเชถเซ‡:

  • Node.js: เชเช• เชธเซเชตเชฟเชงเชพเชฅเซ€ เชธเชฎเซƒเชฆเซเชง เชตเชฟเช•เชพเชธ เชธเชพเชงเชจ เชœเซ‡ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซ‹ เชญเชพเช— เชจเชฅเซ€. เช…เชฎเซ‡ เชจเชตเซ€เชจเชคเชฎ LTS เชธเช‚เชธเซเช•เชฐเชฃ เชกเชพเช‰เชจเชฒเซ‹เชก เช•เชฐเซเชฏเซเช‚ เช›เซ‡ (8.12.0)
  • เชธเซ‡เชจเซเชŸเซเชฐเซ€: เช•เชพเช‚ เชคเซ‹ เชธเช‚เชคเซเชฐเซ€ เชธเซ‡เชตเชพเชฎเชพเช‚ เช–เชพเชคเซเช‚ (เชคเชฎเซ‡ เชฆเชฐ เชฎเชนเชฟเชจเซ‡ 10 เชนเชœเชพเชฐ เชฌเช—เซเชธ เชฎเชซเชคเชฎเชพเช‚ เชฐเซ‡เช•เซ‹เชฐเซเชก เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹) เช…เชฅเชตเชพ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‡เชฒ เชธเซเชฅเชพเชจเชฟเช• เชธเช‚เชคเซเชฐเซ€ - https://github.com/getsentry/onpremise

เชคเชฎเชพเชฐเชพ เชธเชฐเซเชตเชฐ เชชเชฐ เช‡เชจเซเชธเซเชŸเซ‹เชฒเซ‡เชถเชจ

เชคเชฎเชพเชฐเชพ เชธเชฐเซเชตเชฐ เชชเชฐ เชธเซ‡เชจเซเชŸเซเชฐเซ€ เช“เชจ-เชชเซเชฐเชฟเชฎเชพเชˆเชธ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชคเชฎเซ‡ 2 เชฐเซ€เชคเซ‡ เชœเชˆ เชถเช•เซ‹ เช›เซ‹

  1. เช†เชฐเชชเซ€เชเชฎ เชฌเชจเชพเชตเซ‹ เช…เชจเซ‡ เชคเซ‡เชฎเชจเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‹ - https://habr.com/ru/post/500632/

  2. เชธเชคเซเชคเชพเชตเชพเชฐ เช‡เชจเซเชธเซเชŸเซ‹เชฒเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹:

    ะฃัั‚ะฐะฝะพะฒะธั‚ัŒ ะฝะฐ ัะตั€ะฒะตั€ docker ะธ docker-compose
    git clone https://github.com/getsentry/onpremise.git
    ./install.sh

เชฎเชพเชจเช• เช‰เชชเชฏเซ‹เช—

เชชเซเชฐเชพเชฐเช‚เชญ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชธเซ‡เชตเชพ เชตเซ‡เชฌเชธเชพเช‡เชŸ เชชเชฐเชฅเซ€ เชเช• เชจเชตเซเช‚ เช‰เชฎเซ‡เชฐเซ‹ เชธเซ‡เชจเซเชŸเซเชฐเซ€- เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชฎเชพเชŸเซ‡ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ. เช‡เชšเซเช›เชฟเชค เชญเชพเชทเชพ เชชเชธเช‚เชฆ เช•เชฐเซเชฏเชพ เชชเช›เซ€, เชคเชฎเชจเซ‡ เชธเช‚เชฌเช‚เชงเชฟเชค เชฆเชธเซเชคเชพเชตเซ‡เชœเซ‹ เชชเซเชฐเชพเชชเซเชค เชฅเชถเซ‡. เช…เชฎเชพเชฐเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚ เช…เชฎเซ‡ เชชเชธเช‚เชฆ เช•เชฐเซเชฏเซเช‚ เชœเชพเชตเชพเชธเซเช•เซเชฐเชฟเชชเซเชŸ.

เชชเซเชฐเชฅเชฎ เช‰เชฆเชพเชนเชฐเชฃ เชชเซเชฐเชฎเชพเชฃเชญเซ‚เชค เช›เซ‡ เชœเชพเชตเชพเชธเซเช•เซเชฐเชฟเชชเซเชŸ. เช…เชนเซ€เช‚ เชฌเซ‡ เชฌเชŸเชจเซ‹ เช›เซ‡: "เชจเชฎเชธเซเชคเซ‡" (เชนเซ‡เชฒเซ‹) เช…เชจเซ‡ "เชญเซ‚เชฒ" (เชญเซ‚เชฒ).

เชคเชฎเซ‡ เชฌเชŸเชจ เชชเชฐ เช•เซเชฒเชฟเช• เช•เชฐเซเชฏเชพ เชชเช›เซ€ "เชจเชฎเชธเซเชคเซ‡", เชธเซเช•เซเชฐเซ€เชจ เชฐเซ€เชฌเซ‚เชŸ เชฅเชถเซ‡ เช…เชจเซ‡ เชฌเซเชฒเซ‹เช• เชฅเชถเซ‡ เชชเซเชฐเชฏเชพเชธ เชญเซ‚เชฒ เชถเซ‹เชงเซ€ เช…เชจเซ‡ เชชเช•เชกเซ€ เชฒเซ‡เชถเซ‡. เชฌเช— โ€œเชชเช•เชกเชตเชพเชฎเชพเช‚โ€ เช†เชตเซเชฏเชพ เชชเช›เซ€, เชเชฐเชฐ เชฐเชฟเชชเซ‹เชฐเซเชŸ เชฎเซ‡เชจเซเชฏเซเช…เชฒเซ€ เชธเซ‡เชตเชพเชจเซ‡ เชฎเซ‹เช•เชฒเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เชธเซ‡เชจเซเชŸเซเชฐเซ€.

"เชญเซ‚เชฒ" เชฌเชŸเชจ เชคเชฎเชจเซ‡ เชธเชฐเชณเชคเชพเชฅเซ€ เชฌเช— เชถเซ‹เชงเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡.

vanilla/index.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Vanilla</title>
</head>
<body>
  <button id="hello">Hello</button>
  <button id="error">Error</button>
  <div id="output"></div>
  <script src="https://browser.sentry-cdn.com/4.0.5/bundle.min.js" crossorigin="anonymous"></script>
  <script>
    (function () {
      'use strict';
      Sentry.init({ dsn: 'https://[email protected]/1289664' });
      var helloEl = document.getElementById('hello');
      var errorEl = document.getElementById('error');
      var outputEl = document.getElementById('output');
      helloEl.addEventListener('click', handleHelloClick);
      errorEl.addEventListener('click', handleErrorClick);
      function handleHelloClick() {
        outputEl.innerHTML = 'Hello World';
        try {
          throw new Error('Caught');
        } catch (err) {
          Sentry.captureException(err);
        }
      }
      function handleErrorClick() {
        throw new Error('Uncaught');
      }
    })();
  </script>
</body>
</html>

เชจเซ‹เช‚เชง:

  • เชธเซ‡เชจเซเชŸเซเชฐเซ€ CDN เชฅเซ€ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‡เชฒเซเช‚ เช›เซ‡ เช…เชจเซ‡ เชตเซˆเชถเซเชตเชฟเช• เชšเชฒ เชคเชฐเซ€เช•เซ‡ เช–เซเชฒเซเชฒเซเช‚ เช›เซ‡
  • เชฅเซ‹เชกเชพ เชธเชฎเชฏ เชชเชนเซ‡เชฒเชพ เช…เชฎเซ‡ เช…เชฎเชพเชฐเซ€ JavaScript เชฎเชพเช‚ Sentry เชฒเซ‹เชจเซเชš เช•เชฐเซ€

เช† เช‰เชฆเชพเชนเชฐเชฃเชจเซ‡ เชšเช•เชพเชธเชตเชพ เชฎเชพเชŸเซ‡, เช…เชฎเซ‡ เชธเซเชŸเซ‡เชŸเชฟเช• เชตเซ‡เชฌ เชธเชฐเซเชตเชฐ เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ€เช เช›เซ€เช Node.js: http เชธเชฐเซเชตเชฐ. เชซเซ‹เชฒเซเชกเชฐ เชชเชฐ เชœเชพเช“ เชœเซเชฏเชพเช‚ เชซเชพเช‡เชฒ เชธเช‚เช—เซเชฐเชนเชฟเชค เช›เซ‡ index.html, เช…เชจเซ‡ เชฌเซเชฐเชพเช‰เชเชฐเชฎเชพเช‚ เชธเชฐเชจเชพเชฎเซเช‚ เช–เซ‹เชฒเชตเชพ เชฎเชพเชŸเซ‡ เชจเซ€เชšเซ‡เชจเซ€ เชฒเซ€เชŸเซ€ เชฆเชพเช–เชฒ เช•เชฐเซ‹ (เช•เซ‡เชถเซ€เช‚เช—เชจเซ‡ เช…เช•เซเชทเชฎ เช•เชฐเซ‡ เช›เซ‡ เชธเชพเชฅเซ‡เชจเซ‹ เชตเชฟเช•เชฒเซเชช). http://localhost:8080.

เชชเช•เชกเชพเชฏเซ‡เชฒ เชฌเช—เซเชธ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เชฅเชพเชฏ เช›เซ‡

เชชเซเชฐเชฅเชฎ เชฌเชŸเชจ เชชเชฐ เช•เซเชฒเชฟเช• เช•เชฐเซ‹ "เชจเชฎเชธเซเชคเซ‡".

เชœเชพเชตเชพเชธเซเช•เซเชฐเชฟเชชเซเชŸเชฎเชพเช‚ เชฒเช–เชพเชฏเซ‡เชฒ เชซเซเชฐเชจเซเชŸ-เชเชจเซเชก เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซเชธเชฎเชพเช‚ เชธเช‚เชคเซเชฐเซ€ เชธเชพเชฅเซ‡เชจเซ€ เชญเซ‚เชฒเซ‹เชจเซเช‚ เชจเชฟเชฐเซ€เช•เซเชทเชฃ เช•เชฐเชตเซเช‚: เชญเชพเช— 1

เช…เชฎเซ‡ เชเช• เชฌเช— เชชเช•เชกเซเชฏเซ‹ เช›เซ‡, เชคเซ‡เชฅเซ€ เชคเซ‡ เช•เซ‰เชฒ เชธเซเชŸเซ‡เช•เชจเซ‡ เชชเซ‹เชช เช…เชช เช•เชฐเชถเซ‡ เชจเชนเซ€เช‚, เช…เชจเซ‡ เชคเซ‡เชฅเซ€ เช•เชจเซเชธเซ‹เชฒเชฎเชพเช‚ เชคเซ‡เชจเซเช‚ เชจเชฟเชฐเซ€เช•เซเชทเชฃ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชคเซเช‚ เชจเชฅเซ€. เชœเซ‹ เช•เซ‡, เช…เชฎเซ‡ เชฎเซ‹เช•เชฒเซ€เช เช›เซ€เช เชคเซเชฏเชพเชฐเชฅเซ€ เชธเซ‡เชจเซเชŸเซเชฐเซ€ เชฎเซ‡เชจเซเชฏเซเช…เชฒเซ€ เชฌเช—เชจเซ€ เชœเชพเชฃ เช•เชฐเซ‹, เช…เชฎเซ‡ เชคเชฎเชพเชฐเชพ เชเช•เชพเช‰เชจเซเชŸเชฎเชพเช‚ เชคเซ‡เชจเชพ เชตเชฟเชถเซ‡ เชธเช‚เชฆเซ‡เชถ เชœเซ‹เชถเซเช‚.

เชœเชพเชตเชพเชธเซเช•เซเชฐเชฟเชชเซเชŸเชฎเชพเช‚ เชฒเช–เชพเชฏเซ‡เชฒ เชซเซเชฐเชจเซเชŸ-เชเชจเซเชก เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซเชธเชฎเชพเช‚ เชธเช‚เชคเซเชฐเซ€ เชธเชพเชฅเซ‡เชจเซ€ เชญเซ‚เชฒเซ‹เชจเซเช‚ เชจเชฟเชฐเซ€เช•เซเชทเชฃ เช•เชฐเชตเซเช‚: เชญเชพเช— 1

เชจเซ‹เช‚เชง:

  • เช…เชฎเซ‡ เชŸเซเชฐเซ‡เชธ เช•เชฐเซ€ เชถเช•เซ€เช เช›เซ€เช เช•เซ‡ เช•เชˆ เชฒเชพเช‡เชจ (24) เชฎเชพเช‚ เชฌเช— เช›เซ‡
  • เชตเชงเซเชฎเชพเช‚, เชฌเซเชฐเซ‡เชกเช•เซเชฐเชฎเซเชฌ เชŸเซเชฐเซ‡เช‡เชฒ เช เชฌเซเชฐเชพเช‰เชเชฐ เช•เซเชฐเชฟเชฏเชพเช“ เชฆเชฐเซเชถเชพเชตเซ‡ เช›เซ‡ เชœเซ‡ เชญเซ‚เชฒ เชคเชฐเชซ เชฆเซ‹เชฐเซ€ เชœเชพเชฏ เช›เซ‡.

เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชชเช•เชกเชพเชฏเซ‡เชฒ เชญเซ‚เชฒเซ‹ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เชฅเชพเชฏ เช›เซ‡

เชฌเชŸเชจ เชชเชฐ เช•เซเชฒเชฟเช• เช•เชฐเซ‹ "เชญเซ‚เชฒ".

เชœเชพเชตเชพเชธเซเช•เซเชฐเชฟเชชเซเชŸเชฎเชพเช‚ เชฒเช–เชพเชฏเซ‡เชฒ เชซเซเชฐเชจเซเชŸ-เชเชจเซเชก เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซเชธเชฎเชพเช‚ เชธเช‚เชคเซเชฐเซ€ เชธเชพเชฅเซ‡เชจเซ€ เชญเซ‚เชฒเซ‹เชจเซเช‚ เชจเชฟเชฐเซ€เช•เซเชทเชฃ เช•เชฐเชตเซเช‚: เชญเชพเช— 1

เชฌเช— เช•เซ‹เชฒ เชธเซเชŸเซ‡เช•เชจเซ‡ เชฌเชฌเชฒเซเชธ เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เช†เชฎ เช•เชจเซเชธเซ‹เชฒ เชชเชฐ เชเช• เชเชฐเชฐ เชฎเซ‡เชธเซ‡เชœ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เชฅเชพเชฏ เช›เซ‡. เช† เชชเช›เซ€, เชธเซ‡เชจเซเชŸเซเชฐเซ€ เช•เซ‹เชˆเชชเชฃ เชตเชงเชพเชฐเชพเชจเซ€ เช•เซเชฐเชฟเชฏเชพเช“ เชตเชฟเชจเชพ, เช†เชชเชฎเซ‡เชณเซ‡ เชฌเช—เชจเซเช‚ เชจเชฟเชฐเซ€เช•เซเชทเชฃ เช•เชฐเซ‡ เช›เซ‡.

เชœเชพเชตเชพเชธเซเช•เซเชฐเชฟเชชเซเชŸเชฎเชพเช‚ เชฒเช–เชพเชฏเซ‡เชฒ เชซเซเชฐเชจเซเชŸ-เชเชจเซเชก เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซเชธเชฎเชพเช‚ เชธเช‚เชคเซเชฐเซ€ เชธเชพเชฅเซ‡เชจเซ€ เชญเซ‚เชฒเซ‹เชจเซเช‚ เชจเชฟเชฐเซ€เช•เซเชทเชฃ เช•เชฐเชตเซเช‚: เชญเชพเช— 1

เชจเซ‹เช‚เชง:

  • เช†เชชเชฃเซ‡ เชœเซ‹เชˆ เชถเช•เซ€เช เช›เซ€เช เช•เซ‡ เช•เชˆ เชฒเชพเชˆเชจเชฎเชพเช‚ (30) เชญเซ‚เชฒ เช–เซ‹เชตเชพเชˆ เช—เชˆ เช›เซ‡
  • เชคเซเชฏเชพเช‚ เช•เซ‹เชˆ เชฌเซเชฐเซ‡เชกเช•เซเชฐเชฎเซเชฌ เชŸเซเชฐเซ‡เช‡เชฒ เชจเชฅเซ€ (เชฎเชจเซ‡ เชถเชพ เชฎเชพเชŸเซ‡ เชฌเชฐเชพเชฌเชฐ เชธเชฎเชœเชพเชคเซเช‚ เชจเชฅเซ€)

เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชธเซเชฐเช•เซเชทเชพ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชธเซเชจเชฟเชถเซเชšเชฟเชค เช•เชฐเชตเซ€

เช…เชฎเชพเชฐเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชฎเชพเช‚ เช•เชฏเชพ เชชเซƒเชทเซเช เซ‹ เชญเซ‚เชฒเซ‹เชจเซ€ เชœเชพเชฃ เช•เชฐเซ€ เชถเช•เซ‡ เชคเซ‡ เชฐเซ€เชคเซ‡ เช…เชฎเซ‡ เชจเชฟเชฏเช‚เชคเซเชฐเชฟเชค เช•เชฐเซ€เช เช›เซ€เช เชคเซ‡ เชคเชฎเซ‡ เชจเซ‹เช‚เชงเซเชฏเซเช‚ เชนเชถเซ‡ เชธเซ‡เชจเซเชŸเซเชฐเซ€; เชฎเชฆเชฆ เชธเชพเชฅเซ‡ เชกเซ€เชเชธเชเชจ เชฐเซ‡เช•เซ‹เชฐเซเชก เชธเชฎเชธเซเชฏเชพ เช เช›เซ‡ เช•เซ‡ เชคเชฎเชพเชฐเชพ เชชเซƒเชทเซเช เชจเซ‹ เชธเซเชฐเซ‹เชค เช•เซ‹เชก เชœเซ‹เชจเชพเชฐ เช•เซ‹เชˆเชชเชฃ เชตเซเชฏเช•เซเชคเชฟ เช‡เชจเชชเซเชŸ เชœเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡.

เช†เชจเซ‡ เช…เชตเช—เชฃเชตเชพ เชฎเชพเชŸเซ‡, เช…เชฎเชพเชฐเซ‡ เช…เชฎเชพเชฐเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชฎเชพเช‚ เชญเซ‚เชฒ เชฐเชฟเชชเซ‹เชฐเซเชŸ เชธเชฌเชฎเชฟเชŸ เช•เชฐเซ€ เชถเช•เซ‡ เชคเซ‡เชตเชพ เชกเซ‹เชฎเซ‡เชจเซเชธเชจเซ€ เชธเช‚เช–เซเชฏเชพเชจเซ‡ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เช† เช‰เชฆเชพเชนเชฐเชฃเชฎเชพเช‚ เช…เชฎเซ‡ เช‰เชชเชฏเซ‹เช— เช•เชฐเซเชฏเซ‹ เชฒเซ‹เช•เชฒเชนเซ‹เชธเซเชŸ (เชธเซเชฅเชพเชจเชฟเช• เชฏเชœเชฎเชพเชจ). เช† เชตเชฟเช•เชฒเซเชช เชธเซ‡เชŸเชฟเช‚เช—เซเชธ เชŸเซ‡เชฌเชฎเชพเช‚ เช—เซ‹เช เชตเซ‡เชฒ เช›เซ‡ เชธเซ‡เชจเซเชŸเซเชฐเซ€- เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ, เชธเช‚เชคเซเชฐเซ€ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชธเซ‡เชŸเชฟเช‚เช—.

เชœเชพเชตเชพเชธเซเช•เซเชฐเชฟเชชเซเชŸเชฎเชพเช‚ เชฒเช–เชพเชฏเซ‡เชฒ เชซเซเชฐเชจเซเชŸ-เชเชจเซเชก เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซเชธเชฎเชพเช‚ เชธเช‚เชคเซเชฐเซ€ เชธเชพเชฅเซ‡เชจเซ€ เชญเซ‚เชฒเซ‹เชจเซเช‚ เชจเชฟเชฐเซ€เช•เซเชทเชฃ เช•เชฐเชตเซเช‚: เชญเชพเช— 1

เชฐเชฟเชฒเซ€เช เช•เชฐเซ‡ เช›เซ‡

เชœเซ‹ เชคเชฎเซ‡ เช‰เชชเชฏเซ‹เช— เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเชตเซ‹ เชคเซ‡ เชตเชฟเชถเซ‡ เชตเชฟเชšเชพเชฐเซ‹ เชธเซ‡เชจเซเชŸเซเชฐเซ€ เช…เชฎเชพเชฐเซ€ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเชพ เชตเชฟเชตเชฟเชง เชซเซ‡เชฐเชซเชพเชฐเซ‹เชฎเชพเช‚, เชชเช›เซ€ เช…เชฎเชจเซ‡ เช…เชฎเซเช• เชชเซเชฐเช•เชพเชฐเชจเซ€ เชฎเชฟเช•เซ‡เชจเชฟเชเชฎเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เชœเซ‡ เชธเช‚เชธเซเช•เชฐเชฃ เชจเช‚เชฌเชฐ เชธเชพเชฅเซ‡ เชญเซ‚เชฒเซ‹เชจเซ‡ เชšเชฟเชนเซเชจเชฟเชค เช•เชฐเชถเซ‡.

เช›เซ‡เชตเชŸเซ‡, เช…เชฎเซ‡ เชจเชฅเซ€ เช‡เชšเซเช›เชคเชพ เช•เซ‡ เช…เชฎเซ‡ เชธเซเชงเชพเชฐเซ‡เชฒ เชฌเช— เชซเชฐเซ€เชฅเซ€ เชชเซ‹เชช เช…เชช เชฅเชพเชฏ, เช…เชจเซ‡ เช…เชฎเชจเซ‡ เชฒเชพเช—เซ‡ เช›เซ‡ เช•เซ‡ เช…เชฎเซ‡ เชœเซ‡ เชธเซเชงเชพเชฐเซ‡เชฒ เช›เซ‡ เชคเซ‡ เช•เชพเชฎ เช•เชฐเชคเซเช‚ เชจเชฅเซ€. เชเชตเซเช‚ เชชเชฃ เชฌเชจเซ€ เชถเช•เซ‡ เช›เซ‡ เช•เซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซเช‚ เชœเซ‚เชจเซเช‚, เช•เซ‡เชถเซเชก เชตเชฐเซเชเชจ เชฒเซ‹เชจเซเชš เช•เชฐเซเชฏเซเช‚ เชนเซ‹เชฏ.

เชธเชฎเชธเซเชฏเชพ เชนเชฒ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเชพเชฐเซ‡ เช“เชณเช–เช•เชฐเซเชคเชพ เชฆเชพเช–เชฒ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เชชเซเชฐเช•เชพเชถเชจ (เชธเช‚เชธเซเช•เชฐเชฃเซ‹) เชธเซเชŸเชพเชฐเซเชŸเช…เชช เชชเชฐ เชธเซ‡เชจเซเชŸเซเชฐเซ€.

vanilla/index.html

...
var RELEASE = '0.1.0';
Sentry.init({
  dsn: 'https://[email protected]/1289664',
  release: RELEASE,
});
...

เช† เชชเช›เซ€, เชฌเชงเซ€ เชจเชตเซ€ เชญเซ‚เชฒเซ‹ เชคเชฐเซ€เช•เซ‡ เชšเชฟเชนเซเชจเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡ เชฐเชฟเชฒเซ€เช (0.1.0), เชเชŸเชฒเซ‡ เช•เซ‡, เชคเซ‡เช“ เช•เซ‹เชกเชจเชพ เชธเชพเชšเชพ เชธเช‚เชธเซเช•เชฐเชฃ เชธเชพเชฅเซ‡ เชœเซ‹เชกเชพเชฏเซ‡เชฒเชพ เชนเชถเซ‡.

เชœเชพเชตเชพเชธเซเช•เซเชฐเชฟเชชเซเชŸเชฎเชพเช‚ เชฒเช–เชพเชฏเซ‡เชฒ เชซเซเชฐเชจเซเชŸ-เชเชจเซเชก เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซเชธเชฎเชพเช‚ เชธเช‚เชคเซเชฐเซ€ เชธเชพเชฅเซ‡เชจเซ€ เชญเซ‚เชฒเซ‹เชจเซเช‚ เชจเชฟเชฐเซ€เช•เซเชทเชฃ เช•เชฐเชตเซเช‚: เชญเชพเช— 1

เชจเซ‹เช‚เชง:

  • เช…เชฎเซ‡ เชชเซเชฐเช•เชพเชถเชจเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ€ เชเช• เชธเชฐเชณ เชฐเซ€เชค เชถเซ‹เชงเซ€ เช•เชพเชขเซ€ เช›เซ‡
  • เชธเช‚เชคเซเชฐเซ€ เชคเชฎเชจเซ‡ เชตเชงเซ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡ เชœเชŸเชฟเชฒ เชคเซ‡เชฎเชจเชพ เช‰เชชเชฏเซ‹เช—, เชœเซ‡ เชจเชœเซ€เช•เชฅเซ€ เชธเช‚เชฌเช‚เชงเชฟเชค เช›เซ‡ GitHub. เช† เชซเช‚เช•เซเชถเชจ เชšเซ‹เช•เซเช•เชธ เช•เชพเชฎเช—เซ€เชฐเซ€ เช•เชฐเชคเชพ เชชเชนเซ‡เชฒเชพ เชฌเช—เซเชธเชจเซ‡ เชŸเซเชฐเซ…เช• เช•เชฐเชตเชพเชจเซเช‚ เชถเช•เซเชฏ เชฌเชจเชพเชตเซ‡ เช›เซ‡.

PS เชฌเซ€เชœเซ‹ เชญเชพเช— เชฒเชพเช‚เชฌเซ‹ เช›เซ‡, เชคเซ‡เชฅเซ€ เชคเซ‡ เชเช• เช…เชฒเช— เชชเซ‹เชธเซเชŸเชฎเชพเช‚ เชนเชถเซ‡.

เชชเซ€เชเชธ เชŸเซ‡เชฒเชฟเช—เซเชฐเชพเชฎ เชšเซ‡เชŸ เชธเช‚เชคเซเชฐเซ€ https://t.me/sentry_ru

PS เชนเซเช‚ เชธเซ‚เชšเชตเชตเชพเชจเซเช‚ เชญเซ‚เชฒเซ€ เช—เชฏเซ‹ เช•เซ‡ เช† เชชเซ‹เชธเซเชŸเชจเซ‹ เช…เชจเซเชตเชพเชฆ เช›เซ‡ https://codeburst.io/sentry-error-reporting-by-example-part-1-999b2df11556

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹