ืฉืืจืืช Sentry ืืืคืฉืจ ืื ืืขืงืื ืืจืืืง ืืืจ ืืืืื ืืืืฉืืืื ืืืืชืืื ืฉื ืืชืื ื JavaScript.
ืื ืกื ืืชืงื ืืขืืืช ืืืืฉืืื ืงืฆื ืขื JavaScript ืืืื ืืืืืช ืืกืืื ืืืืืื ืฉืื ืืงืืจื ืืืคืืคื ืฉื ืืืฉืชืืฉ, ืฉืืขืชืื ืงืจืืืืช ืืื ืื ืืืฉื ืืืื. ืืืจืืช ืืืช, Sentry ืืืคืฉืจ ืื ืืจ ืืจืืืง ืืืืื.
ืื ืฉืฆืจืื
ืื ืืชื ืจืืฆื ืืืฉืชืืฉ ืืืืืืืืช ืืื, ืชืฆืืจื:
Node.js : ืืื ืคืืชืื ืขืฉืืจ ืืชืืื ืืช ืฉืืื ื ืืืง ืืืืคืืืงืฆืื. ืืืจืื ื ืืช ืืจืกืช ื-LTS ืืขืืื ืืช ืืืืชืจ (8.12.0)- Sentry: ืื ืืฉืืื ืืฉืืจืืช Sentry (ืชืืื ืืืงืืื ืขื 10 ืืืฃ ืืืืื ืืืืืฉ ืืืื ื) ืื Sentry ืืงืืื ืืืชืงื -
https://github.com/getsentry/onpremise
ืืชืงื ื ืืฉืจืช ืฉืื
ืืื ืืืชืงืื Sentry On-Premise ืืฉืจืช ืฉืื ืืชื ืืืื ืืืืช ื-2 ืืจืืื
-
ืื ื ืกื"ื ืืืชืงื ืืืชื -
https://habr.com/ru/post/500632/ -
ืืฉืชืืฉ ืืืชืงืื ืืจืฉืื:
ะฃััะฐะฝะพะฒะธัั ะฝะฐ ัะตัะฒะตั docker ะธ docker-compose git clone https://github.com/getsentry/onpremise.git ./install.sh
ืฉืืืืฉ ืจืืื
ืืื ืืืชืืื, ืืืกืฃ ืืื ืืืฉ ืืืชืจ ืืฉืืจืืช Sentry-ืคืจืืืงื ืขืืืจ ืืืืฉืื. ืืืืจ ืืืืจืช ืืฉืคื ืืจืฆืืื, ืชืงืื ืืช ืืชืืขืื ืืืชืืื. ืืืงืจื ืฉืื ื ืืืจื ื JavaScript.
ืืืืืื ืืจืืฉืื ื ืืื ืกืื ืืจืืืช JavaScript. ืืฉ ืืื ืฉื ื ืืคืชืืจืื: "ืฉืืื" (ืฉืืื ื "ืฉืึฐืึดืืึธื" (ืฉืึฐืึดืืึธื).
ืืืืจ ืฉืชืืืฅ ืขื ืืืคืชืืจ "ืฉืืื", ืืืกื ืืืชืื ืืืืกืืื ืื ืกืืช ืืืื ืืืชืคืืก ืืช ืืืื. ืืืืจ ืฉืืืื "ื ืชืคืก", ืืื ืืฉืืืื ื ืฉืื ืืื ืืช ืืฉืืจืืช Sentry.
ืืคืชืืจ "ืฉืืืื" ืืืคืฉืจ ืื ืืืืืช ืืื ืืงืืืช.
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, ืืืื (ืืคืฉืจืืช ืขื ืืฉืืืช ืืืืื) ืืช ืืฉืืจื ืืืื ืืื ืืคืชืื ืืช ืืืชืืืช ืืืคืืคื
ืืืฆื ืืืฆืืื ืืืืื ืฉื ืชืคืกื
ืชืืืื ืืืฅ ืขื ืืืคืชืืจ "ืฉืืื".
ืชืคืกื ื ืืื, ืื ืืื ืื ืืงืคืืฅ ืืช ืขืจืืืช ืืฉืืืืช, ืืืื ืืื ื ืื ืืืจ ืืงืื ืกืืื. ืขื ืืืช, ืืื ืื ืื ื ืฉืืืืื ื Sentry ืืืื ืขื ืืื ืืืืคื ืืื ื, ื ืจืื ืืืืขื ืืืืื ืืืฉืืื ื.
ืืขืจืืช:
- ืื ื ืืืืืื ืืืชืจ ืืืื ืฉืืจื (24) ืืืืื ืืช ืืืื
- ืื ืืกืฃ, ืฉืืื ืคืืจืืจื ืืืื ืืฆืื ืืช ืคืขืืืืช ืืืคืืคื ืฉืืืืืื ืืฉืืืื.
ืืืฆื ืืืฆืืื ืืืืื ืฉืื ื ืชืคืกื
ืืืฅ ืขื ืืืคืชืืจ "ืฉืึฐืึดืืึธื".
ืืืื ืืืขืืข ืืขืจืืืช ืืฉืืืืช ืืื ืืืฆืืช ืืืืขืช ืฉืืืื ืืงืื ืกืืื. ืืืืจ ืืื, Sentry ืขืืงื ืืืจ ืืืื ืืืืคื ืืืืืืื, ืืื ืคืขืืืืช ื ืืกืคืืช.
ืืขืจืืช:
- ืื ื ืืืืืื ืืจืืืช ืืืืื ืฉืืจื (30) ืืืื ืืื
- ืืื ืฉืืื ืคืืจืืจื ืืื (ืื ื ืื ืื ืื ืืืื ืืื)
ืืืฆื ืืืืืื ืืช ืืืืืช ืืคืจืืืงื
ืืืื ืฉืืชื ืื ืืืืคื ืฉืื ืื ื ืฉืืืืื ืืืืื ืืคืื ืืืืืื ืืืืื ืขื ืฉืืืืืช ืืคืจืืืงื ืฉืื ื Sentry; ืขื ืขืืจื dsn ืจืฉืืืืช. ืืืขืื ืืื ืฉืื ืื ืฉืฆืืคื ืืงืื ืืืงืืจ ืฉื ืืืฃ ืฉืื ืืืื ืืจืืืช ืืช ืืงืื.
ืืื ืืืืื ืข ืืื, ืขืืื ื ืืืืืื ืืช ืืกืคืจ ืืืืืืื ืื ืฉืืืืืื ืืฉืืื ืืืืืช ืฉืืืื ืืคืจืืืงื ืฉืื ื. ืืืืืื ืื ืืฉืชืืฉื ื localhost (ืืืจื ืืงืืื). ืืคืฉืจืืช ืื ืืืืืจืช ืืืฉืื ืืช ืืืืืจืืช Sentry-ืคึผืจืึนืึถืงื, ืืืืจืช ืคืจืืืงื Sentry.
ืืฉืืจืจ
ืื ืืชื ืืืฉื ืขื ืืื ืืืฉืชืืฉ Sentry ืืืืจืืืฆืืืช ืฉืื ืืช ืฉื ืืืคืืืงืฆืื ืฉืื ื, ืื ืื ืื ื ืฆืจืืืื ืกืื ืฉื ืื ืื ืื ืฉืืกืื ืฉืืืืืช ืขื ืืกืคืจ ืืจืกื.
ืืืจื ืืื, ืื ืื ื ืื ืจืืฆืื ืฉืืืื ืฉืชืืงื ื ืืฆืืฅ ืฉืื, ืืื ืื ื ืืืฉืืื ืฉืื ืฉืชืืงื ื ืื ืขืื. ืืืชืื ืื ืฉืืืฉืชืืฉ ืืฉืืง ืืจืกื ืืฉื ื ืืืชืจ, ืฉืืืจื ืืืืืื ืฉื ืืืคืืืงืฆืื.
ืืื ืืคืชืืจ ืืช ืืืขืื, ืขืืื ืืืืื ืืช ืืืืื ืฉืืจืืจ (ืืจืกืืืช) ืืขืช ืืืคืขืื Sentry.
vanilla/index.html
...
var RELEASE = '0.1.0';
Sentry.init({
dsn: 'https://[email protected]/1289664',
release: RELEASE,
});
...
ืืืืจ ืืื, ืื ืืฉืืืืืช ืืืืฉืืช ืืกืืื ื ื ืืจืกื (0.1.0), ืืืืืจ, ืื ืืืื ืงืฉืืจืื ืืืจืกื ืื ืืื ื ืฉื ืืงืื.
ืืขืจืืช:
- ืืืืื ื ืืจื ืคืฉืืื ืืืฉืชืืฉ ืืืืืืจืืช
- Sentry ืืืคืฉืจ ืื ืืืฉืชืืฉ ืืืืชืจ
ืืืจืื ืฉืืื ะธัะฟะพะปัะทะพะฒะฐะฝะธะต , ืืฉืจ ืงืฉืืจื ืงืฉืจ ืืืืง ื GitHub. ืคืื ืงืฆืื ืื ืืืคืฉืจืช ืืขืงืื ืืืจ ืืืืื ืืคื ื ืืืฆืืข ืคืขืืืืช ืืกืืืืืช.
ื .ื ืืืืง ืืฉื ื ืืจืื ืืืชืจ, ืื ืื ืืืื ืืคืืกื ื ืคืจื.
ื .ื. ืืืืจื ืฆ'ืื Sentry
ื .ื ืฉืืืชื ืืฆืืื ืฉืื ืชืจืืื ืฉื ืืคืืกื
ืืงืืจ: www.habr.com