RΠRΞΌSΠRΠRΡSΠ ααααΆαα α’αα»ααααΆαα±ααα’ααααααα½ααα·αα·αααααΈα ααααΆαααΌαααα α»ααα αααα»ααααααα·ααΈαααααααΆααα»ααααααΆαααααααα αααα»α 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) αααβααΆαβααα α»α
- ααΎαααΈαααααα ααααΌααα breadcrumb αααα αΆααααααααΆααααααααααα·ααΈαα»αααααΆαα’ααΈαααΊαα·ααααααΆαα±ααααΆαααα α»αα
αααααααααα α»αααααα·αααΆαα αΆααααααΌαααΆααααα αΆα
α α»α αααΌαα»α "ααα α»α" α
ααα α»αβααααβααα»αβα‘αΎαβααΎβααΆαβα α βααΌααααα α αΎαβααΌα ααααβααΆαβααα α»αβααααΌαβααΆαβαααα αΆαβαα βααΎβαα»αααΌαβα αααααΆααααΈααα 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 chat Sentry
PS αααα»αβααααα
βαααααΆααβααΆβαααβααΆβααΆαβααβααααβααααβααΆαβαααα αα
ααααα: www.habr.com