Awọn aṣiṣe Abojuto pẹlu Sentry ni Awọn ohun elo Iwaju-Ipari Ti a kọ sinu JavaScript: Apá 1

iṣẹ Sentry gba ọ laaye lati ṣe atẹle awọn idun latọna jijin ni awọn ohun elo ipari-iwaju ti a kọ sinu JavaScript.

Awọn aṣiṣe Abojuto pẹlu Sentry ni Awọn ohun elo Iwaju-Ipari Ti a kọ sinu JavaScript: Apá 1

Gbiyanju lati ṣatunṣe awọn iṣoro ni awọn ohun elo iwaju-opin lori JavaScript le jẹ ẹtan nitori pe wọn ti wa ninu ẹrọ aṣawakiri olumulo, eyiti o nigbagbogbo ko ni iwọle si. Sibẹsibẹ, Sentry mu ki o ṣee ṣe lati latọna jijin bojuto awọn idun.

o ti wa ni O le ṣe igbasilẹ awọn ojutu ti a jiroro ninu nkan yii.

Ohun ti o jẹ dandan

Ti o ba fẹ lo awọn apẹẹrẹ wọnyi, iwọ yoo nilo:

  • Node.js: Ohun elo idagbasoke ọlọrọ ẹya-ara ti kii ṣe apakan ohun elo naa. A ṣe igbasilẹ ẹya tuntun LTS (8.12.0)
  • Sentry: Boya akọọlẹ kan ninu iṣẹ Sentry (o le ṣe igbasilẹ to awọn idun 10 ẹgbẹrun fun oṣu kan fun ọfẹ) tabi Sentry agbegbe ti o fi sii - https://github.com/getsentry/onpremise

Fifi sori ẹrọ lori olupin rẹ

Lati fi sori ẹrọ Sentry On-Premise lori olupin rẹ o le lọ ni awọn ọna meji

  1. Kọ rpm ki o fi wọn sii - https://habr.com/ru/post/500632/

  2. Lo olupilẹṣẹ osise:

    Установить на сервер docker и docker-compose
    git clone https://github.com/getsentry/onpremise.git
    ./install.sh

Standard Lilo

Lati bẹrẹ, ṣafikun ọkan tuntun lati oju opo wẹẹbu iṣẹ naa Sentry-ise agbese fun ohun elo. Lẹhin yiyan ede ti o fẹ, iwọ yoo gba iwe ti o baamu. Ninu ọran wa a yan JavaScript.

Ni igba akọkọ ti apẹẹrẹ ni boṣewa JavaScript. Awọn bọtini meji wa nibi: "Pẹlẹ o" (Hello) ati "Aṣiṣe" (Aṣiṣe).

Lẹhin ti o tẹ bọtini naa "Pẹlẹ o", iboju yoo atunbere ati awọn Àkọsílẹ gbiyanju yoo rii ati mu kokoro naa. Lẹhin ti kokoro ti “mu”, ijabọ aṣiṣe ni a fi ranṣẹ si iṣẹ naa pẹlu ọwọ Sentry.

Bọtini “Aṣiṣe” n gba ọ laaye lati rii kokoro ni irọrun.

fanila/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>

Awọn akọsilẹ:

  • Sentry ti fi sori ẹrọ lati CDN kan ati ki o farahan bi oniyipada agbaye
  • Ni diẹ sẹyin a ṣe ifilọlẹ Sentry ni JavaScript wa

Lati ṣe idanwo apẹẹrẹ yii, a le lo iru ẹrọ olupin wẹẹbu aimi kan Node.js: olupin http. Lọ si folda nibiti o ti fipamọ faili naa index.html, ki o si tẹ (aṣayan pẹlu disables caching) laini atẹle lati ṣii adirẹsi ninu ẹrọ aṣawakiri http://localhost:8080.

Bawo ni awọn idun ti a mu ṣe han

Akọkọ tẹ bọtini naa "Pẹlẹ o".

Awọn aṣiṣe Abojuto pẹlu Sentry ni Awọn ohun elo Iwaju-Ipari Ti a kọ sinu JavaScript: Apá 1

A mu kokoro kan, nitorinaa kii yoo gbejade soke akopọ ipe, ati nitorinaa ko ṣe abojuto ni console. Sibẹsibẹ, niwon a firanṣẹ si Sentry jabo kokoro pẹlu ọwọ, a yoo rii ifiranṣẹ kan nipa rẹ ninu akọọlẹ rẹ.

Awọn aṣiṣe Abojuto pẹlu Sentry ni Awọn ohun elo Iwaju-Ipari Ti a kọ sinu JavaScript: Apá 1

Awọn akọsilẹ:

  • A le wa kakiri ila (24) ti o ni kokoro naa ninu
  • Ni afikun, itọpa breadcrumb ṣe afihan awọn iṣe aṣawakiri ti o yori si aṣiṣe naa.

Bawo ni awọn idun ti a ko mu ṣe han

Tẹ bọtini naa "Aṣiṣe".

Awọn aṣiṣe Abojuto pẹlu Sentry ni Awọn ohun elo Iwaju-Ipari Ti a kọ sinu JavaScript: Apá 1

Kokoro naa nyọ soke akopọ ipe ati nitorinaa ifiranṣẹ aṣiṣe kan ti han lori console. Lẹhin eyi, Sentry ṣe abojuto kokoro laifọwọyi, laisi awọn iṣe afikun eyikeyi.

Awọn aṣiṣe Abojuto pẹlu Sentry ni Awọn ohun elo Iwaju-Ipari Ti a kọ sinu JavaScript: Apá 1

Awọn akọsilẹ:

  • A le rii ninu ila wo (30) kokoro ti sọnu
  • Ko si itọpa akara (Emi ko loye idi)

Bii o ṣe le rii daju aabo iṣẹ akanṣe

O le ti ṣe akiyesi ọna ti a ṣakoso awọn oju-iwe wo le jabo awọn aṣiṣe si iṣẹ akanṣe wa Sentry; pẹlu iranlọwọ dsn awọn igbasilẹ. Iṣoro naa ni pe titẹ sii le rii nipasẹ ẹnikẹni ti o wo koodu orisun ti oju-iwe rẹ.

Lati yago fun eyi, a nilo lati ṣe idinwo nọmba awọn ibugbe ti o le fi awọn ijabọ aṣiṣe silẹ si iṣẹ akanṣe wa. Ninu apẹẹrẹ yii a lo localhost (alejo agbegbe). Aṣayan yii jẹ tunto ni awọn eto taabu Sentry- ise agbese, Sentry Project Eto.

Awọn aṣiṣe Abojuto pẹlu Sentry ni Awọn ohun elo Iwaju-Ipari Ti a kọ sinu JavaScript: Apá 1

Awọn idasilẹ

Ti o ba ronu nipa bi o ṣe le lo Sentry ni awọn iyatọ oriṣiriṣi ti ohun elo wa, lẹhinna a nilo iru ẹrọ kan ti yoo samisi awọn aṣiṣe pẹlu nọmba ẹya kan.

Lẹhinna, a ko fẹ ki kokoro ti a ṣatunṣe lati tun jade lẹẹkansi, ati pe a ro pe ohun ti a ṣe ko ṣiṣẹ. O tun le jẹ pe olumulo ṣe ifilọlẹ ẹya ti o dagba, ti ipamọ ti ohun elo naa.

Lati yanju iṣoro naa, o nilo lati tẹ idanimọ naa sii itusilẹ (awọn ẹya) ni ibẹrẹ Sentry.

fanila/index.html

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

Lẹhin eyi, gbogbo awọn aṣiṣe tuntun yoo jẹ samisi bi idasilẹ (0.1.0), iyẹn ni, wọn yoo so mọ ẹya ti o pe ti koodu naa.

Awọn aṣiṣe Abojuto pẹlu Sentry ni Awọn ohun elo Iwaju-Ipari Ti a kọ sinu JavaScript: Apá 1

Awọn akọsilẹ:

  • A ti pinnu ọna ti o rọrun lati lo awọn idasilẹ
  • Sentry gba ọ laaye lati lo diẹ sii eka ati bẹbẹ lọ lilo, eyi ti o ni ibatan si GitHub. Iṣẹ yii jẹ ki o ṣee ṣe lati tọpinpin awọn idun ṣaaju ṣiṣe awọn iṣẹ kan.

PS Apa keji gun, nitorinaa yoo wa ni ifiweranṣẹ lọtọ.

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

PS Mo gbagbe lati fihan pe eyi jẹ itumọ ti ifiweranṣẹ naa https://codeburst.io/sentry-error-reporting-by-example-part-1-999b2df11556

orisun: www.habr.com

Fi ọrọìwòye kun