記一次Sentry部署過程

前言


Sentry 是一個開源的實時錯誤報告工具,支持前后端、其他后端語言以及主流框架等。既然是開源,那么我們可以在自己的服務器上搭建,本文記錄搭建的過程以及搭建過程中遇到的一些問題,也可以跟著這個教程來搭建一遍

部署環境


Ubuntu 16.04

官網提供了兩種部署方式

1、 docker

2、 python

這里我使用的是 docker 的方式來安裝,比較快捷

先更新下 apt-get包(這個過程可能需要點時間)

apt-get update && apt-get upgrade
復制代碼

1、安裝docker


wget -qO- https://get.docker.com/ | sh// 查看 docker 是否安裝成功
docker -v
// Docker version 18.09.5
證明docker安裝成功
復制代碼

由于 docker鏡像都在國外,因此下載會比較慢,這里用 Docker加速器 運行下面命令即可

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://4031ebb7.m.daocloud.io
復制代碼

2、安裝 pip


執行下面命令安裝(注意沒有安裝 python 的話需要安裝)

wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate # 下載文件 python get-pip.py #執行安裝 pip -V #查看pip版本
// pip 19.0.3 from /usr/local/lib/python3.5/dist-packages/pip (python 3.5)
復制代碼

3、安裝 docker-compose


這里使用 pip 管理工具來安裝 docker-compose

sudo pip install docker-composedocker-compose --version // 查看版本是否安裝成功
復制代碼

上述步驟之后就可以著手搭建 sentry

4、 搭建 sentry


首先從github上拉取 sentry,運行

git clone https://github.com/getsentry/onpremise.git
復制代碼

拉取下來后,進入目錄 onpremise,可以看到里面有份README.MD,按照這份說明文檔步驟安裝就行(這份當時拉下來的操作文檔,具體有更新的話以拉取下來的最新說明文檔為準)

  1. docker volume create --name=sentry-data && docker volume create --name=sentry-postgres - Make our local database and sentry volumes Docker volumes have to be created manually, as they are declared as external to be more durable.
  2. cp -n .env.example .env - create env config file
  3. docker-compose build - Build and tag the Docker services
  4. docker-compose run --rm web config generate-secret-key - Generate a secret key. Add it to .env as SENTRY_SECRET_KEY.
  5. docker-compose run --rm web upgrade - Build the database. Use the interactive prompts to create a user account.
  6. docker-compose up -d - Lift all services (detached/background mode).
  7. Access your instance at localhost:9000!

5、 實踐


搭建完成之后打開 localhost:9000 端口,可以看到登錄界面,輸入上面搭建時候設置的郵箱和密碼

注意!!!!

輸入賬號密碼登錄之后,會進入一個初始化的界面,要填寫 ROOT URL,如果遇到填寫完成之后點擊保存一直提示 保存錯誤 的時候,按照下面方法來操作就可以解決

編輯文件 config.yml,添加下面這一段

auth.allow-registration: false
beacon.anonymous: true
mail.from: ""
mail.host: ""
mail.password: ""
mail.port: 465
mail.use-tls: true
mail.username: ""
system.admin-email: ""
system.url-prefix: ""
復制代碼

然后設置下 sentry 的版本,如下命令,CONTAINER 換成你 docker 容器里面 web 的 name,可以使用 docker ps 命令看下,我的是 onpremise_web_1

docker exec CONTAINER sentry config set sentry:version-configured '9.1.0'
復制代碼

執行第一次的時候我情況是報錯了,再執行一次就行

這時候刷新下頁面,你可能會發現還是停留在了這個初始化設置頁面,一般等一兩個小時再刷新下就進去了,具體原因我也不清楚,好像是因為 docker 運行緩存問題?

打開進入之后可以點擊右上角添加新的項目 add project,選擇語言或者框架

6、 遇到問題

按照客戶端教程下載相關庫之后需要填 DSN ,在項目的 settings 里面找到 DSN 發現是空的并且不能填,然后上網找了下發現 DSN 是由下面格式組成的

http://pubilckey:secretkey@localhost:9000/<project>
復制代碼

按照這個格式填寫到客戶端的 DSN 之后嘗試下觸發錯誤,可以看到界面會顯示具體的錯誤詳細信息

7、 小結

搭建完后按照教程集成到 vueflask 中,發現效果還不錯,觸發錯誤后可以看到具體的錯誤詳細信息,具體到哪一行,觸發這個錯誤的終端的詳細信息,但 vue 目前大部分是混淆壓縮過的,因此得上傳 sourcemap 才可以看到具體錯誤在那個組件,這個我還在研究當中。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/275318.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/275318.shtml
英文地址,請注明出處:http://en.pswp.cn/news/275318.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

效率神器!UI 稿智能轉換成前端代碼

做前端&#xff0c;不搬磚大家好&#xff0c;我是若川。從事前端五年之久&#xff0c;也算見證了前端數次變革&#xff0c;從到DW&#xff08;Dreamweaver&#xff09;到H5C3、從JQuery到MVC框架&#xff0c;無數前端大佬在為打造前端完整生態做出努力&#xff0c;由于他們的努…

$.when.apply_When2Meet vs.LettuceMeet:UI和美學方面的案例研究

$.when.apply并非所有計劃應用程序都是一樣創建的。 (Not all scheduling apps are created equal.) As any college student will tell you, we use When2Meet almost religiously. Between classes, extracurriculars, work, and simply living, When2Meet is the scheduling…

BZOJ4825: [Hnoi2017]單旋(Splay)

題面 傳送門 題解 調了好幾個小時……指針太難寫了…… 因為只單旋最值&#xff0c;我們以單旋\(\min\)為例&#xff0c;那么\(\min\)是沒有左子樹的&#xff0c;而它旋到根之后&#xff0c;它的深度變為\(1\)&#xff0c;它的右子樹里所有節點深度不變&#xff0c;其它所有節點…

前端不容你褻瀆

大家好&#xff0c;我是若川&#xff0c;點此加我微信進源碼群&#xff0c;一起學習源碼。同時可以進群免費看Vue專場直播&#xff0c;有尤雨溪分享「Vue3 生態現狀以及展望」背景最近我在公眾號的后臺收到一條留言&#xff1a;言語里充滿了對前端的不屑和鄙夷&#xff0c;但仔…

用jquery阻止事件起泡

jquery使用過程中阻止事件起泡實例 1、通過返回false來取消默認的行為并阻止事件起泡。jQuery 代碼:$("form").bind("submit", function() { return false; })2、通過使用 preventDefault() 方法只取消默認的行為。jQuery 代碼:$("form").bind(…

利益相關者軟件工程_如何向利益相關者解釋用戶體驗的重要性

利益相關者軟件工程With the ever increasing popularity of user experience (UX) design there is a growing need for good designers. However, there’s a problem for designers here as well. How can you show the importance of UX to your stakeholders and convince…

云棲大會上,阿里巴巴重磅發布前端知識圖譜!

大家好&#xff0c;我是若川&#xff0c;點此加我微信進源碼群&#xff0c;一起學習源碼。同時可以進群免費看Vue專場直播&#xff0c;有尤雨溪分享「Vue3 生態現狀以及展望」阿里巴巴前端知識圖譜&#xff0c;由大阿里眾多前端技術專家團歷經1年時間精心整理&#xff0c;從 初…

Linux下“/”和“~”的區別

在linux中&#xff0c;”/“代表根目錄&#xff0c;”~“是代表目錄。Linux存儲是以掛載的方式&#xff0c;相當于是樹狀的&#xff0c;源頭就是”/“&#xff0c;也就是根目錄。 而每個用戶都有”家“目錄&#xff0c;也就是用戶的個人目錄&#xff0c;比如root用戶的”家“目…

在當今移動互聯網時代_誰在提供當今最好的電子郵件體驗?

在當今移動互聯網時代Hey, a new email service from the makers of Basecamp was recently launched. The Verge calls it a “genuinely original take on messaging”, and it indeed features some refreshing ideas for the sometimes painful exercise we call inbox man…

插件式開發小記

在做插件開發時&#xff0c;小記一下&#xff0c;用來備忘&#xff1a; 1.DEV8.2的XtraTabControl控件如何獲得當前打開的子窗體&#xff1a;XtraForm frm (XtraForm)xtraTabControl1.SelectedTabPage.Controls[0];2.插件開發的底層標準最好是抽象類&#xff0c;這樣擴展性好。…

linux運維工程師學習路線

一、學習路線&#xff1a; 1.青銅&#xff1a; 1、Linux基礎知識、基本命令&#xff08;起源、組成、常用命令如cp、ls、file、mkdir等常見操作命令&#xff09; 2、Linux用戶及權限基礎 3、Linux系統進程管理進階 4、linux高效文本、文件處理命令&#xff08;vim、grep、sed、…

React 全新文檔上線!

大家好&#xff0c;我是若川&#xff0c;點此加我微信進源碼群&#xff0c;一起學習源碼。同時可以進群免費看明天的Vue專場直播&#xff0c;有尤雨溪分享「Vue3 生態現狀以及展望」&#xff0c;還可以領取50場錄播視頻和PPT。React 官方文檔改版耗時 1 年&#xff0c;今天已完…

POJ2392

題意:奶牛們要用K個不同類型的石頭建太空電梯.每一種石頭的高度為Hi&#xff0c;數量為Ci,且不能放在高于Ai的地方,求最高能建多高的太空電梯. 分析:多重背包,數組標記.顯然將ai小的放在下面會更優.所以先排序. code: const maxh41000; var cnt:array[0..maxh] of longint;h,…

網絡低俗詞_從“低俗小說”中汲取7堂課,以創建有影響力的作品集

網絡低俗詞重點 (Top highlight)Design portfolios and blockbuster movies had become more and more generic. On the design side, I blame all the portfolio reviews and articles shared by “experienced” designers that repeat the same pieces of advice regardless…

Vue多個組件映射到同一個組件,頁面不刷新?

問題 在做項目的過程中,有這么一個場景&#xff1a;多個組件通過配置路由,都跳轉到同一個組件,他們之間的區別就是,傳入的參數不同.請看router對象&#xff1a; userCenterLike: {name: user-center,params: {index: 0}},userCenterHistory: {name: user-center,params: {index…

尤雨溪寫的100多行的“玩具 vite”,十分有助于理解 vite 原理

1. 前言大家好&#xff0c;我是若川。最近組織了源碼共讀活動&#xff0c;感興趣的可以加我微信 ruochuan12想學源碼&#xff0c;極力推薦之前我寫的《學習源碼整體架構系列》jQuery、underscore、lodash、vuex、sentry、axios、redux、koa、vue-devtools、vuex4、koa-compose、…

webflow如何使用_我如何使用Webflow構建輔助項目以幫助設計人員進行連接

webflow如何使用I launched Designer Slack Communities a while ago, aiming to help designers to connect with likeminded people. By sharing my website with the world, I’ve connected with so many designers. The whole experience is a first time for me, so I wa…

atmega8 例程:T1定時器 CTC模式 方波輸出

/******************************************************************* * 函數庫說明&#xff1a;ATMEGA8 T1定時器 CTC模式 方波輸出 * 版本&#xff1a; v1.00 * 修改&#xff1a; 龐輝 蕪湖聯大飛思卡爾工作室…

antd的table進行列篩選時,更新dataSource,為什么table顯示暫無數據?

我想當然地認為只要dataSource改變&#xff0c;那么<Table>組件就會重新渲染&#xff0c;但是有一種特殊情況例外&#xff1a;在onFilter()中不寫篩選條件&#xff0c;在調用filterDropdown進行列篩選的時候&#xff0c;通過handleSearch改變/保存dataSource的狀態&#…

重新構想原子化 CSS

感謝印記中文的 QC-L[1] 對本文進行翻譯&#xff0c;英文原文: English Version[2]。本文會比往期文章相對長些。這是我個人的一個重大的工具發布&#xff0c;有許多內容我想談論。如果你能花些時間讀完&#xff0c;不勝感激&#xff0c;希望能對你有所幫助 :)推薦訪問 https:/…