ΠΠ±ΡΠ»ΡΠΆΠ²Π°Π½Π΅ ΠΠ°ΡΠ°ΡΠ» Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ΠΎ Π΄Π° Π½Π°Π±Π»ΡΠ΄Π°Π²Π°ΡΠ΅ Π±ΡΠ³ΠΎΠ²Π΅ Π² ΠΏΡΠ΅Π΄Π½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ Π² JavaScript.
ΠΠΏΠΈΡΠ²Π°ΠΌ ΡΠ΅ Π΄Π° ΠΎΡΡΡΡΠ°Π½Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Π² ΠΏΡΠ΅Π΄Π½ΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° JavaScript ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΡΡΡΠ΄Π½ΠΈ, Π·Π°ΡΠΎΡΠΎ ΠΏΡΠΎΠΈΠ·Ρ ΠΎΠΆΠ΄Π°Ρ ΠΎΡ Π±ΡΠ°ΡΠ·ΡΡΠ° Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ, Π΄ΠΎ ΠΊΠΎΠΉΡΠΎ ΡΠ΅ΡΡΠΎ Π½ΡΠΌΠ°ΡΠ΅ Π΄ΠΎΡΡΡΠΏ. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, ΠΠ°ΡΠ°ΡΠ» Π΄Π°Π²Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ.
ΠΠ°ΠΊΠ²ΠΎΡΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ
ΠΠΊΠΎ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΡΠ΅Π·ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΈ, ΡΠ΅ Π²ΠΈ ΡΡΡΠ±Π²Π°:
Node.js : Π±ΠΎΠ³Π°Ρ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°, ΠΊΠΎΠΉΡΠΎ Π½Π΅ Π΅ ΡΠ°ΡΡ ΠΎΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ. ΠΠ·ΡΠ΅Π³Π»ΠΈΡ ΠΌΠ΅ Π½Π°ΠΉ-Π½ΠΎΠ²Π°ΡΠ° LTS Π²Π΅ΡΡΠΈΡ (8.12.0)- ΠΠ°ΡΠ°ΡΠ»: ΠΠ»ΠΈ Π°ΠΊΠ°ΡΠ½Ρ Π² ΡΡΠ»ΡΠ³Π°ΡΠ° Sentry (ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π·Π°ΠΏΠΈΡΠ²Π°ΡΠ΅ Π΄ΠΎ 10 Ρ
ΠΈΠ»ΡΠ΄ΠΈ Π³ΡΠ΅ΡΠΊΠΈ Π½Π° ΠΌΠ΅ΡΠ΅Ρ Π±Π΅Π·ΠΏΠ»Π°ΡΠ½ΠΎ) ΠΈΠ»ΠΈ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ Π»ΠΎΠΊΠ°Π»Π΅Π½ Sentry -
https://github.com/getsentry/onpremise
ΠΠ½ΡΡΠ°Π»Π°ΡΠΈΡ Π½Π° Π²Π°ΡΠΈΡ ΡΡΡΠ²ΡΡ
ΠΠ° Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ Sentry On-Premise Π½Π° Π²Π°ΡΠΈΡ ΡΡΡΠ²ΡΡ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΎΡΠΈΠ΄Π΅ΡΠ΅ ΠΏΠΎ 2 Π½Π°ΡΠΈΠ½Π°
-
Π‘ΡΠ·Π΄Π°ΠΉΡΠ΅ rpm ΠΈ Π³ΠΈ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΉΡΠ΅ -
https://habr.com/ru/post/500632/ -
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΠΎΡΠΈΡΠΈΠ°Π»Π½ΠΈΡ ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΎΡ:
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ docker ΠΈ docker-compose git clone https://github.com/getsentry/onpremise.git ./install.sh
Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½Π° ΡΠΏΠΎΡΡΠ΅Π±Π°
ΠΠ° Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ΡΠ΅, Π΄ΠΎΠ±Π°Π²Π΅ΡΠ΅ Π½ΠΎΠ² ΠΎΡ ΡΠ΅Π±ΡΠ°ΠΉΡΠ° Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ° ΠΠ°ΡΠ°ΡΠ»-ΠΏΡΠΎΠ΅ΠΊΡ Π·Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ. Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ ΠΆΠ΅Π»Π°Π½ΠΈΡ Π΅Π·ΠΈΠΊ, ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΡΠΎΡΠ²Π΅ΡΠ½Π°ΡΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ. Π Π½Π°ΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉ Π½ΠΈΠ΅ ΠΈΠ·Π±ΡΠ°Ρ ΠΌΠ΅ JavaScript.
ΠΡΡΠ²ΠΈΡΡ ΠΏΡΠΈΠΌΠ΅Ρ Π΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ΅Π½ JavaScript. Π’ΡΠΊ ΠΈΠΌΠ° Π΄Π²Π° Π±ΡΡΠΎΠ½Π°: "ΠΠ΄ΡΠ°Π²Π΅ΠΉΡΠ΅" (ΠΠ΄ΡΠ°Π²Π΅ΠΉ) ΠΈ "ΠΡΠ΅ΡΠΊΠ°" (ΠΡΠ΅ΡΠΊΠ°).
Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΡΡΠ°ΠΊΠ½Π΅ΡΠ΅ Π²ΡΡΡ Ρ Π±ΡΡΠΎΠ½Π° "ΠΠ΄ΡΠ°Π²Π΅ΠΉΡΠ΅", Π΅ΠΊΡΠ°Π½ΡΡ ΡΠ΅ ΡΠ΅ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ° ΠΈ Π±Π»ΠΎΠΊΡΡ ΠΎΠΏΠΈΡΠ²Π°ΠΌ ΡΠ΅ ΠΎΡΠΊΡΠΈΠ΅ ΠΈ Ρ Π²Π°Π½Π΅ Π³ΡΠ΅ΡΠΊΠ°ΡΠ°. Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ Π³ΡΠ΅ΡΠΊΠ°ΡΠ° Π±ΡΠ΄Π΅ βΡΠ»ΠΎΠ²Π΅Π½Π°β, Π΄ΠΎΠΊΠ»Π°Π΄ΡΡ Π·Π° Π³ΡΠ΅ΡΠΊΠ° ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ° ΡΡΡΠ½ΠΎ Π΄ΠΎ ΡΡΠ»ΡΠ³Π°ΡΠ° ΠΠ°ΡΠ°ΡΠ».
ΠΡΡΠΎΠ½ΡΡ βΠΡΠ΅ΡΠΊΠ°β Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π»Π΅ΡΠ½ΠΎ Π΄Π° ΠΎΡΠΊΡΠΈΠ΅ΡΠ΅ Π³ΡΠ΅ΡΠΊΠ°.
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>
ΠΠ°Π±Π΅Π»Π΅ΠΆΠΊΠΈ:
- Sentry ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ° ΠΎΡ CDN ΠΈ ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΊΠ°ΡΠΎ Π³Π»ΠΎΠ±Π°Π»Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°
- ΠΠ°Π»ΠΊΠΎ ΠΏΠΎ-ΡΠ°Π½ΠΎ ΡΡΠ°ΡΡΠΈΡΠ°Ρ ΠΌΠ΅ Sentry Π² Π½Π°ΡΠΈΡ JavaScript
ΠΠ° Π΄Π° ΡΠ΅ΡΡΠ²Π°ΠΌΠ΅ ΡΠΎΠ·ΠΈ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π·Π° ΡΡΠ°ΡΠΈΡΠ΅Π½ ΡΠ΅Π± ΡΡΡΠ²ΡΡ Node.js: http ΡΡΡΠ²ΡΡ. ΠΡΠΈΠ΄Π΅ΡΠ΅ Π΄ΠΎ ΠΏΠ°ΠΏΠΊΠ°ΡΠ°, ΠΊΡΠ΄Π΅ΡΠΎ ΡΠ΅ ΡΡΡ
ΡΠ°Π½ΡΠ²Π° ΡΠ°ΠΉΠ»ΡΡ index.htmlΠΈ Π²ΡΠ²Π΅Π΄Π΅ΡΠ΅ (ΠΎΠΏΡΠΈΡ Ρ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ΡΠΎ) Π½Π° ΡΠ»Π΅Π΄Π½ΠΈΡ ΡΠ΅Π΄, Π·Π° Π΄Π° ΠΎΡΠ²ΠΎΡΠΈΡΠ΅ Π°Π΄ΡΠ΅ΡΠ° Π² Π±ΡΠ°ΡΠ·ΡΡΠ°
ΠΠ°ΠΊ ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ ΡΠ»ΠΎΠ²Π΅Π½ΠΈΡΠ΅ Π³ΡΠ΅ΡΠΊΠΈ
ΠΡΡΠ²ΠΎ ΡΡΠ°ΠΊΠ½Π΅ΡΠ΅ Π²ΡΡΡ Ρ Π±ΡΡΠΎΠ½Π° "ΠΠ΄ΡΠ°Π²Π΅ΠΉΡΠ΅".
Π₯Π²Π°Π½Π°Ρ ΠΌΠ΅ Π³ΡΠ΅ΡΠΊΠ°, ΡΠ°ΠΊΠ° ΡΠ΅ Π½ΡΠΌΠ° Π΄Π° ΠΈΠ·ΡΠΊΠΎΡΠΈ ΡΡΠ΅ΠΊΠ° Π·Π° ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ Π½Π΅ ΡΠ΅ Π½Π°Π±Π»ΡΠ΄Π°Π²Π° Π² ΠΊΠΎΠ½Π·ΠΎΠ»Π°ΡΠ°. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠ°ΠΌΠ΅ Π΄ΠΎ ΠΠ°ΡΠ°ΡΠ» Π΄ΠΎΠΊΠ»Π°Π΄Π²Π°ΠΉΡΠ΅ Π·Π° Π³ΡΠ΅ΡΠΊΠ° ΡΡΡΠ½ΠΎ, ΡΠ΅ Π²ΠΈΠ΄ΠΈΠΌ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π·Π° ΡΠΎΠ²Π° Π²ΡΠ² Π²Π°ΡΠΈΡ Π°ΠΊΠ°ΡΠ½Ρ.
ΠΠ°Π±Π΅Π»Π΅ΠΆΠΊΠΈ:
- ΠΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΠΈΠΌ ΠΊΠΎΠΉ ΡΠ΅Π΄ (24) ΡΡΠ΄ΡΡΠΆΠ° Π³ΡΠ΅ΡΠΊΠ°ΡΠ°
- ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΎΠ½Π½Π°ΡΠ° ΠΏΡΡΠ΅ΠΊΠ° ΠΏΠΎΠΊΠ°Π·Π²Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡΡΠ° Π½Π° Π±ΡΠ°ΡΠ·ΡΡΠ°, Π΄ΠΎΠ²Π΅Π»ΠΈ Π΄ΠΎ Π³ΡΠ΅ΡΠΊΠ°ΡΠ°.
ΠΠ°ΠΊ ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ Π½Π΅ΡΠ»ΠΎΠ²Π΅Π½ΠΈΡΠ΅ Π³ΡΠ΅ΡΠΊΠΈ
Π©ΡΠ°ΠΊΠ²Π°Π½Π΅ Π²ΡΡΡ Ρ Π±ΡΡΠΎΠ½Π° "ΠΡΠ΅ΡΠΊΠ°".
ΠΡΠ΅ΡΠΊΠ°ΡΠ° ΠΈΠ·Π±ΡΡ Π²Π° Π² ΡΡΠ΅ΠΊΠ° Π½Π° ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡΡΠ° ΠΈ ΠΏΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ Π½Π° ΠΊΠΎΠ½Π·ΠΎΠ»Π°ΡΠ° ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π²Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π·Π° Π³ΡΠ΅ΡΠΊΠ°. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° Sentry Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΠ»Π΅Π΄ΠΈ Π³ΡΠ΅ΡΠΊΠ°ΡΠ°, Π±Π΅Π· Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ.
ΠΠ°Π±Π΅Π»Π΅ΠΆΠΊΠΈ:
- ΠΠΎΠΆΠ΅ΠΌ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ Π² ΠΊΠΎΠΉ ΡΠ΅Π΄ (30) ΡΠ΅ Π³ΡΠ±ΠΈ Π³ΡΠ΅ΡΠΊΠ°ΡΠ°
- ΠΡΠΌΠ° ΠΏΡΡΠ΅ΠΊΠ° Π·Π° Π½Π°Π²ΠΈΠ³Π°ΡΠΈΡ (Π½Π΅ ΡΠ°Π·Π±ΠΈΡΠ°ΠΌ ΡΡΠ²ΡΠ΅ΠΌ Π·Π°ΡΠΎ)
ΠΠ°ΠΊ Π΄Π° Π³Π°ΡΠ°Π½ΡΠΈΡΠ°ΠΌΠ΅ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°
ΠΠΎΠΆΠ΅ Π±ΠΈ ΡΡΠ΅ Π·Π°Π±Π΅Π»ΡΠ·Π°Π»ΠΈ Π½Π°ΡΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΠΉΡΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°ΠΌΠ΅ ΠΊΠΎΠΈ ΡΡΡΠ°Π½ΠΈΡΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΡΠΎΠ±ΡΠ°Π²Π°Ρ Π·Π° Π³ΡΠ΅ΡΠΊΠΈ Π² Π½Π°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡ ΠΠ°ΡΠ°ΡΠ»; Ρ ΠΏΠΎΠΌΠΎΡ DSn Π·Π°ΠΏΠΈΡΠΈ. ΠΡΠΎΠ±Π»Π΅ΠΌΡΡ Π΅, ΡΠ΅ Π²ΡΠ²Π΅Π΄Π΅Π½ΠΎΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π²ΠΈΠ΄ΡΠ½ΠΎ ΠΎΡ Π²ΡΠ΅ΠΊΠΈ, ΠΊΠΎΠΉΡΠΎ Π²ΠΈΠ΄ΠΈ ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡ ΠΊΠΎΠ΄ Π½Π° Π²Π°ΡΠ°ΡΠ° ΡΡΡΠ°Π½ΠΈΡΠ°.
ΠΠ° Π΄Π° ΠΈΠ·Π±Π΅Π³Π½Π΅ΠΌ ΡΠΎΠ²Π°, ΡΡΡΠ±Π²Π° Π΄Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠΌ Π±ΡΠΎΡ Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ Π΄ΠΎΠΊΠ»Π°Π΄ΠΈ Π·Π° Π³ΡΠ΅ΡΠΊΠΈ ΠΊΡΠΌ Π½Π°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡ. Π ΡΠΎΠ·ΠΈ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΌΠ΅ Localhost (ΠΌΠ΅ΡΡΠ΅Π½ Ρ ΠΎΡΡ). Π’Π°Π·ΠΈ ΠΎΠΏΡΠΈΡ Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π° Π² ΡΠ°Π·Π΄Π΅Π»Π° Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΠ°ΡΠ°ΡΠ»-ΠΏΡΠΎΠ΅ΠΊΡ, ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Sentry.
ΠΠ·Π΄Π°Π½ΠΈΡ
ΠΠΊΠΎ ΠΌΠΈΡΠ»ΠΈΡΠ΅ ΠΊΠ°ΠΊ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΠ°ΡΠ°ΡΠ» Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π²Π°ΡΠΈΠ°Π½ΡΠΈ Π½Π° Π½Π°ΡΠ΅ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠΎΠ³Π°Π²Π° ΡΠ΅ Π½ΡΠΆΠ΄Π°Π΅ΠΌ ΠΎΡ Π½ΡΠΊΠ°ΠΊΡΠ² ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΌΠ°ΡΠΊΠΈΡΠ° Π³ΡΠ΅ΡΠΊΠΈ Ρ Π½ΠΎΠΌΠ΅Ρ Π½Π° Π²Π΅ΡΡΠΈΡ.
Π ΠΊΡΠ°Ρ Π½Π° ΠΊΡΠ°ΠΈΡΠ°ΡΠ°, Π½ΠΈΠ΅ Π½Π΅ ΠΈΡΠΊΠ°ΠΌΠ΅ Π³ΡΠ΅ΡΠΊΠ°ΡΠ°, ΠΊΠΎΡΡΠΎ ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°Ρ ΠΌΠ΅, Π΄Π° ΠΈΠ·ΡΠΊΠΎΡΠΈ ΠΎΡΠ½ΠΎΠ²ΠΎ ΠΈ ΡΠΌΡΡΠ°ΠΌΠ΅, ΡΠ΅ ΡΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°Ρ ΠΌΠ΅, Π½Π΅ ΡΠ°Π±ΠΎΡΠΈ. ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ ΡΡΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΡ Π΄Π° Π΅ ΡΡΠ°ΡΡΠΈΡΠ°Π» ΠΏΠΎ-ΡΡΠ°ΡΠ°, ΠΊΠ΅ΡΠΈΡΠ°Π½Π° Π²Π΅ΡΡΠΈΡ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ.
ΠΠ° Π΄Π° ΡΠ°Π·ΡΠ΅ΡΠΈΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΡΡΡΠ±Π²Π° Π΄Π° Π²ΡΠ²Π΅Π΄Π΅ΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΠΏΡΡΠΊΠ°Π½Π΅ (Π²Π΅ΡΡΠΈΠΈ) ΠΏΡΠΈ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ ΠΠ°ΡΠ°ΡΠ».
vanilla/index.html
...
var RELEASE = '0.1.0';
Sentry.init({
dsn: 'https://[email protected]/1289664',
release: RELEASE,
});
...
Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° Π²ΡΠΈΡΠΊΠΈ Π½ΠΎΠ²ΠΈ Π³ΡΠ΅ΡΠΊΠΈ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΌΠ°ΡΠΊΠΈΡΠ°Π½ΠΈ ΠΊΠ°ΡΠΎ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π²Π°Π½Π΅ (0.1.0), ΡΠΎΠ΅ΡΡ ΡΠ΅ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΎΠ±Π²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΏΡΠ°Π²ΠΈΠ»Π½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° ΠΊΠΎΠ΄Π°.
ΠΠ°Π±Π΅Π»Π΅ΠΆΠΊΠΈ:
- ΠΠ·ΠΌΠΈΡΠ»ΠΈΡ ΠΌΠ΅ Π»Π΅ΡΠ΅Π½ Π½Π°ΡΠΈΠ½ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π²Π΅ΡΡΠΈΠΈΡΠ΅
- Sentry Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅
ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ ΡΠ΅Ρ Π΅Π½ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° , ΠΊΠΎΠ΅ΡΠΎ Π΅ ΡΡΡΠ½ΠΎ ΡΠ²ΡΡΠ·Π°Π½ΠΎ Ρ GitHub. Π’Π°Π·ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π°Π²Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ ΠΏΡΠ΅Π΄ΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ.
PS ΠΡΠΎΡΠ°ΡΠ° ΡΠ°ΡΡ Π΅ ΠΏΠΎ-Π΄ΡΠ»Π³Π°, ΡΠ°ΠΊΠ° ΡΠ΅ ΡΠ΅ Π±ΡΠ΄Π΅ Π² ΠΎΡΠ΄Π΅Π»Π΅Π½ ΠΏΠΎΡΡ.
PS Telegram ΡΠ°Ρ Sentry
PS ΠΠ°Π±ΡΠ°Π²ΠΈΡ
Π΄Π° ΠΎΡΠ±Π΅Π»Π΅ΠΆΠ°, ΡΠ΅ ΡΠΎΠ²Π° Π΅ ΠΏΡΠ΅Π²ΠΎΠ΄ Π½Π° ΠΏΠΎΡΡΠ°
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com