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

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.
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)
- : Kas Sentry teenuses konto (kuni 10 tuhat viga kuus saab tasuta salvestada) vĂ”i installitud kohalik Sentry â
- SentryPaigaldamine teie serverisse
Sentry On-Premise paigaldamiseks oma serverisse on kaks teed
Koostada rpm ja installida need â
Kasutage ametlikku installerit:
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 .
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.

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

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».

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.

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.

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.

MĂ€rkused:
- Me tutvustasime lihtsat viisi vÀljalaskmise kasutamiseks.
- Sentry vÔimaldab rakendada komplekse , 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
P.S. Unustasin mainida, et see on postituse tÔlge.
Allikas: habr.com
