Kev soj ntsuam qhov yuam kev nrog Sentry hauv Cov Ntawv Siv Ua Ntej-End Sau hauv JavaScript: Ntu 1

kev pab cuam Xyuam Xais tso cai rau koj los saib xyuas cov kab mob nyob rau hauv pem hauv ntej-kawg daim ntawv sau npe JavaScript.

Kev soj ntsuam qhov yuam kev nrog Sentry hauv Cov Ntawv Siv Ua Ntej-End Sau hauv JavaScript: Ntu 1

Sim txhim kho cov teeb meem hauv daim ntawv thov pem hauv ntej JavaScript tuaj yeem ua kom yuam kev vim tias lawv pib los ntawm tus neeg siv lub browser, uas koj feem ntau tsis muaj kev nkag mus. Txawm li cas los xij, Xyuam Xais ua rau nws muaj peev xwm los saib xyuas cov kab laum.

nws yog Koj tuaj yeem rub tawm cov kev daws teeb meem uas tau tham hauv kab lus no.

Dab tsi yog qhov tsim nyog

Yog tias koj xav siv cov piv txwv no, koj yuav xav tau:

  • node.js: Cov cuab yeej tsim kho muaj txiaj ntsig zoo uas tsis yog ib feem ntawm daim ntawv thov. Peb rub tawm qhov tseeb LTS version (8.12.0)
  • Xyuam Xais: Ib qho Account hauv Sentry kev pabcuam (koj tuaj yeem sau txog li 10 txhiab kab hauv ib hlis dawb) lossis ib qho kev teeb tsa hauv zos Sentry - https://github.com/getsentry/onpremise

Installation ntawm koj lub server

Txhawm rau nruab Sentry On-Premise ntawm koj lub server koj tuaj yeem mus hauv 2 txoj hauv kev

  1. Tsim rpm thiab nruab lawv - https://habr.com/ru/post/500632/

  2. Siv lub official installer:

    Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½Π° сСрвСр docker ΠΈ docker-compose
    git clone https://github.com/getsentry/onpremise.git
    ./install.sh

Txuj siv

Txhawm rau pib, ntxiv ib qho tshiab los ntawm qhov kev pabcuam lub vev xaib Xyuam Xais- project rau daim ntawv thov. Tom qab xaiv hom lus xav tau, koj yuav tau txais cov ntaub ntawv sib raug. Hauv peb qhov xwm txheej peb xaiv JavaScript.

Thawj qhov piv txwv yog tus qauv JavaScript. Muaj ob lub khawm ntawm no: "Nyob Zoo" (Nyob zoo) thiab "Yuam kev" ( yuam kev).

Tom qab koj nias lub pob "Nyob Zoo", qhov screen yuav reboot thiab thaiv sim yuav ntes thiab ntes cov kab laum. Tom qab tus kab mob "cuaj", daim ntawv qhia kev ua yuam kev raug xa mus rau qhov kev pabcuam Xyuam Xais.

Nyem "Yuam kev" khawm tso cai rau koj kom pom cov kab laum yooj yim.

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>

Sau ntawv:

  • Sentry tau teeb tsa los ntawm CDN thiab nthuav tawm raws li qhov hloov pauv thoob ntiaj teb
  • Ib me ntsis ua ntej peb pib Sentry hauv peb JavaScript

Txhawm rau ntsuas qhov piv txwv no, peb tuaj yeem siv lub vev xaib zoo li qub server platform node.js: http server. Mus rau lub nplaub tshev uas cov ntaub ntawv khaws cia index.html, thiab nkag mus (xaiv nrog disables caching) cov kab hauv qab no los qhib qhov chaw nyob hauv browser http://localhost:8080.

Yuav ua li cas ntes tau kab yog tso tawm

Thawj nias lub pob "Nyob Zoo".

Kev soj ntsuam qhov yuam kev nrog Sentry hauv Cov Ntawv Siv Ua Ntej-End Sau hauv JavaScript: Ntu 1

Peb ntes tau kab laum, yog li nws yuav tsis pop tuaj rau pawg hu, thiab yog li tsis saib xyuas hauv console. Txawm li cas los, txij li thaum peb xa mus Xyuam Xais qhia txog kab mob manually, peb yuav pom cov lus hais txog nws hauv koj tus account.

Kev soj ntsuam qhov yuam kev nrog Sentry hauv Cov Ntawv Siv Ua Ntej-End Sau hauv JavaScript: Ntu 1

Sau ntawv:

  • Peb tuaj yeem taug qab kab twg (24) muaj kab laum
  • Tsis tas li ntawd, txoj kev breadcrumb qhia txog qhov browser ua haujlwm uas coj mus rau qhov yuam kev.

Yuav ua li cas uncaught kab mob tshwm sim

Nyem lub khawm "Yuam kev".

Kev soj ntsuam qhov yuam kev nrog Sentry hauv Cov Ntawv Siv Ua Ntej-End Sau hauv JavaScript: Ntu 1

Cov kab npuas ua rau hu rau pawg thiab yog li cov lus yuam kev tau tshwm sim ntawm lub console. Tom qab no, Sentry cia li saib xyuas cov kab laum, yam tsis muaj kev nqis tes ua ntxiv.

Kev soj ntsuam qhov yuam kev nrog Sentry hauv Cov Ntawv Siv Ua Ntej-End Sau hauv JavaScript: Ntu 1

Sau ntawv:

  • Peb tuaj yeem pom hauv kab twg (30) kab laum ploj
  • Tsis muaj txoj kev breadcrumb (Kuv tsis nkag siab tias yog vim li cas)

Yuav ua li cas kom ntseeg tau qhov project ruaj ntseg

Tej zaum koj yuav tau pom txoj hauv kev uas peb tswj cov nplooj ntawv twg tuaj yeem tshaj tawm qhov yuam kev rau peb qhov project Xyuam Xais; nrog kev pab dsn ua cov ntaub ntawv. Qhov teeb meem yog tias cov tswv yim tuaj yeem pom los ntawm txhua tus neeg uas saib qhov chaws ntawm koj nplooj ntawv.

Txhawm rau zam qhov no, peb yuav tsum txwv tus naj npawb ntawm cov npe uas tuaj yeem xa cov ntawv ceeb toom yuam kev rau peb qhov project. Hauv qhov piv txwv no peb siv localhost (local host). Qhov kev xaiv no tau teeb tsa hauv qhov chaw tab Xyuam Xais- qhov project, Sentry Project Setting.

Kev soj ntsuam qhov yuam kev nrog Sentry hauv Cov Ntawv Siv Ua Ntej-End Sau hauv JavaScript: Ntu 1

Tso tawm

Yog koj xav txog yuav siv li cas Xyuam Xais nyob rau hauv sib txawv variations ntawm peb daim ntawv thov, ces peb xav tau ib yam ntawm cov mechanism uas yuav cim tsis raug nrog ib tug version tooj.

Tom qab tag nrho, peb tsis xav kom cov kab uas peb kho kom rov tshwm sim dua, thiab peb xav tias qhov peb kho tsis ua haujlwm. Nws kuj tseem yuav yog tias tus neeg siv tau pib ua qhov qub, cached version ntawm daim ntawv thov.

Txhawm rau daws qhov teeb meem, koj yuav tsum nkag mus rau tus lej cim tso tawm (versions) thaum pib Xyuam Xais.

vanilla/index.html

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

Tom qab no, tag nrho cov tshiab yuam kev yuav raug cim raws li tso tawm (0.1.0), uas yog, lawv yuav raug khi rau qhov tseeb version ntawm txoj cai.

Kev soj ntsuam qhov yuam kev nrog Sentry hauv Cov Ntawv Siv Ua Ntej-End Sau hauv JavaScript: Ntu 1

Sau ntawv:

  • Peb tau pom ib txoj hauv kev yooj yim los siv kev tshaj tawm
  • Sentry tso cai rau koj siv ntau dua complex lawv kev siv cov, uas yog ze ze rau GitHub. Txoj haujlwm no ua rau nws muaj peev xwm taug qab cov kab ua ntej ua qee yam haujlwm.

PS Qhov thib ob yog ntev dua, yog li nws yuav nyob rau hauv ib qho kev sib cais.

PS Telegram tham Sentry https://t.me/sentry_ru

PS Kuv tsis nco qab qhia tias qhov no yog kev txhais lus ntawm tus ncej https://codeburst.io/sentry-error-reporting-by-example-part-1-999b2df11556

Tau qhov twg los: www.hab.com

Ntxiv ib saib