sentry 服務的搭建
一、環境
在Mac環境下進行的搭建。安裝需要docker的環境,可以點擊下面文本進行下載
docker的下載地址
安裝完畢之後,可以在下面網站中申請一個dockerid
dockerid申請地址
申請的時候需要翻牆,否則點擊“註冊”按鈕都一直是無法點擊的。(注)
查看版本
$docker --version
Docker version 19.03.4, build 9013bf5
$docker-compose --version
docker-compose version 1.24.1, build 4667896b
$docker-machine --version
docker-machine version 0.16.2, build bd45ab13
到這裏,那就說明docker安裝已經完成了。
一、獲取sentry
1、我們可以通過命令,克隆sentry對應git地址中,進行獲取
git clone https://github.com/getsentry/onpremise.git
進入onpremise目錄:
cd onpremise
2、手動創建docker數據卷
docker volume create --name=sentry-data && docker volume create --name=sentry-postgres
3、創建虛擬環境的配置文件
cp -n .env.example .env
4、更新後,構建服務
docker-compose build
5、生成對應的密鑰
docker-compose run --rm web config generate-secret-key
然後把執行完畢之後,最後生成的密鑰文件粘貼到docker-compose.yml文件中,如下圖所示:
填寫的時間主要格式有空格(注)
6、執行新的改變
docker-compose run --rm web upgrade
7、重新創建服務
docker-compose up -d
8.查看sentry頁面,輸入localhost:9000,如下圖所示:
9、使用你創建有戶名和密碼進行登錄,調轉到如下頁面:
10、登錄進去可以對組織名進行設置,如下面所示:
二、郵件設置
1、配置文件修改
vi .env
下面配置,以qq郵箱爲例,修改內容如下所示:
# smtp_setting
SENTRY_SERVER_EMAIL=*********@qq.com
SENTRY_EMAIL_HOST=smtp.qq.com
SENTRY_EMAIL_USER=*********@qq.com
SENTRY_EMAIL_PASSWORD=*******
SENTRY_EMAIL_PORT=587
SENTRY_EMAIL_USE_TLS=true
SENTRY_SERVER_EMAIL(自己的郵箱地址)
SENTRY_EMAIL_HOST(qq的SMTP地址)
SENTRY_EMAIL_USER(郵箱用戶名)
SENTRY_EMAIL_PASSWORD(郵箱密碼)
SENTRY_EMAIL_PORT(郵箱端口)
SENTRY_EMAIL_USE_TLS(用戶郵箱是否開啓TSL)
2、修改配置文件docker-compose.yml,
註釋掉當前當前配置,否則當前配置文件內容會覆蓋.env文件的內容。
3、重啓docker
docker-compose build
docker-compose run --rm web upgrade
docker-compose up -d
4、在頁面中,先點擊自己登陸的用戶,然後再點擊“郵件”,然後可以看到此前更改的內容,最後可以在測試設置部分,向自己的郵箱發送一個測試郵件,如下圖所示:
測試結果,如下圖所示:
三、創建項目
1、點擊右上角,創建項目
2、以VUE項目爲例,選擇Vue
創建完畢之後,選擇當前的項目,如下所示:
可以查看對應安裝指引,來進行Vue項目的集成:
三、前端項目的集成
1、通過yarn 進行安裝
yarn add @sentry/browser
yarn add @sentry/integrations
2、在Vue項目中進行集成。
import Vue from 'vue'
import * as Sentry from '@sentry/browser';
import * as Integrations from '@sentry/integrations';
Sentry.init({
dsn: 'http://d347def73f7e4179a3079b5c21e8686d@localhost:9000/2',
integrations: [new Integrations.Vue({Vue, attachProps: true})],
});
在設置中找到當前項目對應的dsn,如下圖所示:
3、報錯信息因爲打包之後報的,所以不能精確到具體哪一行報錯,可以通過sentry-webpack-plugin,自動將生成的js map文件上傳到服務器
安裝對應的插件依賴:
npm i @sentry/webpack-plugin -D
在webpack配置文件中,進行如下配置:
const SentryCliPlugin = require('@sentry/webpack-plugin');
const config = {
plugins: [
new SentryCliPlugin({
include: '.',
ignoreFile: '.sentrycliignore',
ignore: ['node_modules', 'webpack.config.js'],
configFile: 'sentry.properties',
}),
],
};
sentry.properties 配置文件可以參考官網一下地址:
sentry.properties 配置文件
四、鏡像加速
1、鑑於國內網絡問題,後續拉取 Docker 鏡像十分緩慢,我們可以需要配置加速器來解決。
在任務欄點擊 Docker for mac 應用圖標 -> Perferences… -> Daemon -> Registry mirrors。在列表中填寫加速器地址即可。可以填寫一下地址(http://141e5461.m.daocloud.io/)修改完成之後,點擊 Apply & Restart 按鈕,Docker 就會重啓並應用配置的鏡像地址了。