рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд▓рд┐рдЦреЗ рдлреНрд░рдВрдЯ-рдПрдВрдб рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рд╕реЗрдВрдЯреНрд░реА рдХреЗ рд╕рд╛рде рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА: рднрд╛рдЧ 1

рд╕реЗрд╡рд╛ рдкрд╣рд░реЗрджрд╛рд░ рдЖрдкрдХреЛ рдлреНрд░рдВрдЯ-рдПрдВрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдмрдЧреЛрдВ рдХреА рджреВрд░ рд╕реЗ рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ.

рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд▓рд┐рдЦреЗ рдлреНрд░рдВрдЯ-рдПрдВрдб рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рд╕реЗрдВрдЯреНрд░реА рдХреЗ рд╕рд╛рде рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА: рднрд╛рдЧ 1

рдлреНрд░рдВрдЯ-рдПрдВрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЙрддреНрдкрдиреНрди рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рд╕ рддрдХ рдЖрдкрдХреА рдкрд╣реБрдВрдЪ рдЕрдХреНрд╕рд░ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рддрдерд╛рдкрд┐, рдкрд╣рд░реЗрджрд╛рд░ рдмрдЧреНрд╕ рдХреА рджреВрд░ рд╕реЗ рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИред

рдпрд╣рд╛рдВ рдЖрдк рдЗрд╕ рдЖрд▓реЗрдЦ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХрд┐рдП рдЧрдП рд╕рдорд╛рдзрд╛рди рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдХреНрдпрд╛ рдЬрд░реВрд░реА рд╣реИ?

рдпрджрд┐ рдЖрдк рдЗрди рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА:

  • Node.js: рдПрдХ рд╕реБрд╡рд┐рдзрд╛ рд╕рдВрдкрдиреНрди рд╡рд┐рдХрд╛рд╕ рдЙрдкрдХрд░рдг рдЬреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реИред рд╣рдордиреЗ рдирд╡реАрдирддрдо рдПрд▓рдЯреАрдПрд╕ рд╕рдВрд╕реНрдХрд░рдг (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

рдорд╛рдирдХ рдЙрдкрдпреЛрдЧ

рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕реЗрд╡рд╛ рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╕реЗ рдПрдХ рдирдпрд╛ рдЬреЛрдбрд╝реЗрдВ рдкрд╣рд░реЗрджрд╛рд░-рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдпреЛрдЬрдирд╛ред рд╡рд╛рдВрдЫрд┐рдд рднрд╛рд╖рд╛ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рд╕рдВрдмрдВрдзрд┐рдд рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдВрдЧреЗред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣рдордиреЗ рдЪреБрдирд╛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ.

рдкрд╣рд▓рд╛ рдЙрджрд╛рд╣рд░рдг рдорд╛рдирдХ рд╣реИ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ. рдпрд╣рд╛рдБ рджреЛ рдмрдЯрди рд╣реИрдВ: "рдирдорд╕реНрддреЗ" (рд╣реЗрд▓реЛ рдФрд░ "рдЧрд▓рддреА" (рдЧрд▓рддреА)ред

рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж "рдирдорд╕реНрддреЗ", рд╕реНрдХреНрд░реАрди рд░реАрдмреВрдЯ рд╣реЛ рдЬрд╛рдПрдЧреА рдФрд░ рдмреНрд▓реЙрдХ рд╣реЛ рдЬрд╛рдПрдЧреА рдХреЛрд╢рд┐рд╢ рдмрдЧ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдЧрд╛ рдФрд░ рдЙрд╕реЗ рдкрдХрдбрд╝реЗрдЧрд╛ред рдмрдЧ "рдкрдХрдбрд╝реЗ рдЬрд╛рдиреЗ" рдХреЗ рдмрд╛рдж, рддреНрд░реБрдЯрд┐ рд░рд┐рдкреЛрд░реНрдЯ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕реЗрд╡рд╛ рдХреЛ рднреЗрдЬреА рдЬрд╛рддреА рд╣реИ рдкрд╣рд░реЗрджрд╛рд░.

"рддреНрд░реБрдЯрд┐" рдмрдЯрди рдЖрдкрдХреЛ рдмрдЧ рдХрд╛ рдЖрд╕рд╛рдиреА рд╕реЗ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рд╡реЗрдирд┐рд▓рд╛/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>

рдиреЛрдЯ:

  • рд╕рдВрддрд░реА рдХреЛ рдПрдХ рд╕реАрдбреАрдПрди рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
  • рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ рд╣рдордиреЗ рдЕрдкрдиреА рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╕реЗрдВрдЯреНрд░реА рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдерд╛

рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рд╕реНрдерд┐рд░ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ Node.js: http рд╕рд░реНрд╡рд░. рдЙрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдкрд░ рдЬрд╛рдПрдБ рдЬрд╣рд╛рдБ рдлрд╝рд╛рдЗрд▓ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИ рд╕реВрдЪрдХрд╛рдВрдХ, рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдкрддрд╛ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рдкрдВрдХреНрддрд┐ рджрд░реНрдЬ рдХрд░реЗрдВ (рдХреИрд╢рд┐рдВрдЧ рдЕрдХреНрд╖рдо рдХрд░рддрд╛ рд╣реИ рд╡рд╛рд▓рд╛ рд╡рд┐рдХрд▓реНрдк)ред http://localhost:8080.

рдкрдХрдбрд╝реЗ рдЧрдП рдмрдЧ рдХреИрд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ "рдирдорд╕реНрддреЗ".

рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд▓рд┐рдЦреЗ рдлреНрд░рдВрдЯ-рдПрдВрдб рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рд╕реЗрдВрдЯреНрд░реА рдХреЗ рд╕рд╛рде рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА: рднрд╛рдЧ 1

рд╣рдордиреЗ рдПрдХ рдмрдЧ рдкрдХрдбрд╝рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдХреЙрд▓ рд╕реНрдЯреИрдХ рдХреЛ рдкреЙрдк рдЕрдк рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдФрд░ рдЗрд╕рд▓рд┐рдП рдХрдВрд╕реЛрд▓ рдореЗрдВ рдЗрд╕рдХреА рдирд┐рдЧрд░рд╛рдиреА рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЪреВрдБрдХрд┐ рд╣рдо рднреЗрдЬрддреЗ рд╣реИрдВ рдкрд╣рд░реЗрджрд╛рд░ рдмрдЧ рдХреА рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдВ, рд╣рдо рдЖрдкрдХреЗ рдЦрд╛рддреЗ рдореЗрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕рдВрджреЗрд╢ рджреЗрдЦреЗрдВрдЧреЗред

рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд▓рд┐рдЦреЗ рдлреНрд░рдВрдЯ-рдПрдВрдб рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рд╕реЗрдВрдЯреНрд░реА рдХреЗ рд╕рд╛рде рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА: рднрд╛рдЧ 1

рдиреЛрдЯ:

  • рд╣рдо рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рд╕ рдкрдВрдХреНрддрд┐ (24) рдореЗрдВ рдмрдЧ рд╣реИ
  • рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдмреНрд░реЗрдбрдХреНрд░рдВрдм рдЯреНрд░реЗрд▓ рдЙрди рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдирдХреЗ рдХрд╛рд░рдг рддреНрд░реБрдЯрд┐ рд╣реБрдИред

рди рдкрдХрдбрд╝реЗ рдЧрдП рдмрдЧ рдХреИрд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ

рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдирд╛ "рддреНрд░реБрдЯрд┐"ред

рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд▓рд┐рдЦреЗ рдлреНрд░рдВрдЯ-рдПрдВрдб рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рд╕реЗрдВрдЯреНрд░реА рдХреЗ рд╕рд╛рде рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА: рднрд╛рдЧ 1

рдмрдЧ рдХреЙрд▓ рд╕реНрдЯреИрдХ рдХреЛ рдмреБрд▓рдмреБрд▓рд╛ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрдВрд╕реЛрд▓ рдкрд░ рдПрдХ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рдж, рд╕реЗрдВрдЯреНрд░реА рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрдЧ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддрд╛ рд╣реИред

рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд▓рд┐рдЦреЗ рдлреНрд░рдВрдЯ-рдПрдВрдб рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рд╕реЗрдВрдЯреНрд░реА рдХреЗ рд╕рд╛рде рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА: рднрд╛рдЧ 1

рдиреЛрдЯ:

  • рд╣рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рд╕ рдкрдВрдХреНрддрд┐ (30) рдореЗрдВ рдмрдЧ рдЦреЛ рдЧрдпрд╛ рд╣реИ
  • рдХреЛрдИ рдмреНрд░реЗрдбрдХреНрд░рдВрдм рдЯреНрд░реЗрд▓ рдирд╣реАрдВ рд╣реИ (рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рдХрд┐ рдХреНрдпреЛрдВ)

рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реБрд░рдХреНрд╖рд╛ рдХреИрд╕реЗ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ

рдЖрдкрдиреЗ рджреЗрдЦрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рд╣рдо рдХрд┐рд╕ рддрд░рд╣ рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХреМрди рд╕реЗ рдкреЗрдЬ рд╣рдорд╛рд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдкрд╣рд░реЗрджрд╛рд░; рдорджрдж рд╕реЗ рдбреАрдПрд╕рдПрди рдЕрднрд┐рд▓реЗрдЦ. рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЗрдирдкреБрдЯ рдХреЛ рдХреЛрдИ рднреА рд╡реНрдпрдХреНрддрд┐ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рдкреГрд╖реНрда рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб рджреЗрдЦрддрд╛ рд╣реИред

рдЗрд╕рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЙрди рдбреЛрдореЗрди рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рд╣рдорд╛рд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рддреНрд░реБрдЯрд┐ рд░рд┐рдкреЛрд░реНрдЯ рд╕рдмрдорд┐рдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╣рдордиреЗ рдкреНрд░рдпреЛрдЧ рдХрд┐рдпрд╛ рд╕реНрдерд╛рдиреАрдп рд╣реЛрд╕реНрдЯ (рд╕реНрдерд╛рдиреАрдп рд╣реЛрд╕реНрдЯ). рдпрд╣ рд╡рд┐рдХрд▓реНрдк рд╕реЗрдЯрд┐рдВрдЧ рдЯреИрдм рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдкрд╣рд░реЗрджрд╛рд░-рдкрд░рд┐рдпреЛрдЬрдирд╛, рд╕рдВрддрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗрдЯрд┐рдВрдЧ.

рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд▓рд┐рдЦреЗ рдлреНрд░рдВрдЯ-рдПрдВрдб рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рд╕реЗрдВрдЯреНрд░реА рдХреЗ рд╕рд╛рде рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА: рднрд╛рдЧ 1

рд╡рд┐рдЬреНрдЮрдкреНрддрд┐

рдЕрдЧрд░ рдЖрдк рд╕реЛрдЪ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдХреИрд╕реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗрдВ рдкрд╣рд░реЗрджрд╛рд░ рд╣рдорд╛рд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд░реВрдкреЛрдВ рдореЗрдВ, рддреЛ рд╣рдореЗрдВ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рддрдВрддреНрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░реЗрдЧрд╛ред

рдЖрдЦрд╝рд┐рд░рдХрд╛рд░, рд╣рдо рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рдХрд┐ рдЬрд┐рд╕ рдмрдЧ рдХреЛ рд╣рдордиреЗ рдареАрдХ рдХрд┐рдпрд╛ рд╣реИ рд╡рд╣ рджреЛрдмрд╛рд░рд╛ рд╕рд╛рдордиреЗ рдЖрдП, рдФрд░ рд╣рдо рд╕реЛрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдЬреЛ рд╣рдордиреЗ рдареАрдХ рдХрд┐рдпрд╛ рд╡рд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рдпрд╣ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдкреБрд░рд╛рдирд╛, рдХреИрд╢реНрдб рд╕рдВрд╕реНрдХрд░рдг рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рд╣реЛред

рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рджрд░реНрдЬ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рд░рд┐рд╣рд╛рдИ (рд╕рдВрд╕реНрдХрд░рдг) рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдкрд╣рд░реЗрджрд╛рд░.

рд╡реЗрдирд┐рд▓рд╛/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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ