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