Veaparav kaamid Sentry abil JavaScripti pÔhiste frontend rakenduste vigade jÀlgimiseks: Osa 1

Teenuseid Sentry vÔimaldab kaugtasandil jÀlgida vigu veebirakendustes, mis on kirjutatud JavaScript.

Veaparav kaamid Sentry abil JavaScripti pÔhiste frontend rakenduste vigade jÀlgimiseks: Osa 1

Probleemide lahendamine veebirakendustes vÔib olla keeruline, kuna need ilmnevad kasutaja brauseris, millele teil sageli puudub juurdepÀÀs. Siiski JavaScript annab vÔimaluse kaugtasandil jÀlgida vigu. Sentry saate alla laadida lahendused, mida selles artiklis kÀsitleti.

Siin Mida on vaja

Kui soovite neid nÀiteid kasutada, vajate:

: Multifunktsionaalne arendustööriist, mis ei kuulu rakenduse alla. Me laadisime alla viimase LTS-versiooni (8.12.0)

Sentry On-Premise paigaldamiseks oma serverisse on kaks teed

Koostada rpm ja installida need —

  1. Kasutage ametlikku installerit: https://habr.com/ru/post/500632/

  2. Installeerida serverisse docker ja docker-compose git clone https://github.com/getsentry/onpremise.git ./install.sh

    Standardsed kasutusviisid

Alustamiseks lisage teenuse veebisaidilt uus

-projekt rakendusele. PĂ€rast vajaliku keele valimist saate vastava dokumentatsiooni. Meie juhul valisime SentryEsimene nĂ€ide — standardne JavaScript.

. Siin on kaks nuppu: JavaScript„Tere” (Hello) ja „Viga” (Error). PĂ€rast nuppu klĂ”psamist

, ekraan laaditakse uuesti ja plokk (Hello) jatugevdab ja pĂŒĂŒab vea. PĂ€rast vea „pĂŒĂŒdmist” saadetakse vea aruanne hoolikalt Sentry teenusesse proovige Nupp „Viga” vĂ”imaldab lihtsalt tuvastada vea. Sentry.

vanilla / index.html

Sentry installitakse CDN-ist ja kuvatakse kui globaalne muutuja

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Vanilla</title>
</head>
<body>
  <button id="hello">Tere</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://b5bf359072254626aba8e64368e77b7d@sentry.io/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>

MĂ€rkused:

  • Veidi varem kĂ€ivitasime Sentry oma JavaScriptis
  • Selle nĂ€ite testimiseks vĂ”ime kasutada staatilist veebiserveri platvormi

http-server. Node.js: Siseneme kausta, kus fail asub, ja sisestame (valik hĂ€irib vahemĂ€lu) jĂ€rgmise rea, et avada brauseris aadress index.htmlKuidas kuvatakse pĂŒĂŒtud vead http://localhost:8080.

Esmalt klÔpsame nuppu

Me pĂŒĂŒdsime vea, seega ei ilmu see ĂŒlemisse virnasse, mistĂ”ttu seda ka ei jĂ€lgita konsoolis. Siiski, kuna saadame (Hello) ja.

Veaparav kaamid Sentry abil JavaScripti pÔhiste frontend rakenduste vigade jÀlgimiseks: Osa 1

vea aruande kÀsitsi, nÀeme teavet sellest oma kontol. Sentry Saame jÀlgida, millises ridu (24) see viga asub

Veaparav kaamid Sentry abil JavaScripti pÔhiste frontend rakenduste vigade jÀlgimiseks: Osa 1

MĂ€rkused:

  • Lisaks nĂ€itab navigeerimise ahel brauseri tegevusi, mis viisid veani.
  • Kuidas kuvatakse pĂŒĂŒdmatud vead

Kuidas kuvatakse pĂŒĂŒdmatud vead

KlÔpsame nuppu «Viga».

Veaparav kaamid Sentry abil JavaScripti pÔhiste frontend rakenduste vigade jÀlgimiseks: Osa 1

Bugi tÔuseb tagasi kutsumise tÔukide kaudu ja seega kuvatakse veateade konsoolis. PÀrast seda jÀlgib Sentry automaatselt viga, ilma et oleks vaja tÀiendavaid toiminguid.

Veaparav kaamid Sentry abil JavaScripti pÔhiste frontend rakenduste vigade jÀlgimiseks: Osa 1

MĂ€rkused:

  • Me saame nĂ€ha, millises reas (30) viga kaotas.
  • Navigatsiooniahelat pole ette nĂ€htud (ma ei saa pĂ€ris aru, miks).

Kuidas tagada projekti turvalisus

Olete ehk tĂ€hele pannud, kuidas me kontrollime lehti, mis vĂ”ivad meie projekti veateateid saata. Sentry; selle abil dsn kirjed. Probleem on selles, et igaĂŒks, kes vaatab lehe lĂ€htekoodi, saab seda nĂ€ha.

Selle vÀltimiseks tuleb piirata domeenide arvu, mis saavad meie projekti veateateid saata. Sellisel juhul kasutasime localhost (kohalik host). See valik seadistatakse projektide seadete vahekaartidel. Sentry-projekt, Sentry Projekti Seadistus.

Veaparav kaamid Sentry abil JavaScripti pÔhiste frontend rakenduste vigade jÀlgimiseks: Osa 1

VĂ€ljalaske

Kui mÔelda, kuidas kasutada Sentry meie rakenduse erinevates variatsioonides, on vajalik mehhanism, mis tÀhistab vead versiooninumbriga.

Me ei taha, et meie parandatud viga ilmuks uuesti ja me arvaksime, et see, mida me fikseerisime, ei töötanud. On vÔimalik, et kasutaja kÀivitas vanema, vahemÀlus oleva rakenduse versiooni.

Probleemi lahendamiseks tuleb kÀivitamisel kirjutada vÀljalaske (versioon) identifikaator Sentry.

Sentry installitakse CDN-ist ja kuvatakse kui globaalne muutuja

...
var RELEASE = '0.1.0';
Sentry.init({
  dsn: 'https://b5bf359072254626aba8e64368e77b7d@sentry.io/1289664',
  release: RELEASE,
});
...

PÀrast seda mÀrgitakse kÔik uued vead kui vÀljalase (0.1.0), see tÀhendab, et need seotakse Ôige koodi versiooniga.

Veaparav kaamid Sentry abil JavaScripti pÔhiste frontend rakenduste vigade jÀlgimiseks: Osa 1

MĂ€rkused:

  • Me tutvustasime lihtsat viisi vĂ€ljalaskmise kasutamiseks.
  • Sentry vĂ”imaldab rakendada komplekse keerukamaid nende omandi resize., mis on tihedalt seotud GitHub. Selline funktsioon vĂ”imaldab jĂ€lgida vigu enne teatud toimingute tegemist.

P.S. Teine osa on pikem, seega on see eraldi postitus.

P.S Sentry Telegrami vestlus https://t.me/sentry_ru

P.S. Unustasin mainida, et see on postituse tÔlge. https://codeburst.io/sentry-error-reporting-by-example-part-1-999b2df11556

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster