背景:
咱們在完成系統的設計或者業務的迭代上線後,除了須要關注業務數據、系統運行情況,每每還須要對系統業務異常進行監控,來避免有些邊緣場景在開發或測試中沒有判斷到位,致使線上業務系統運行異常或者崩潰的情況,因此這正是咱們須要使用Sentry這樣的異常日誌監控工具的緣由。nginx
關於Sentry的介紹:git
Sentry 是一個開源的實時錯誤報告工具,支持 web 先後端、移動應用以及遊戲,支持 Python、OC、Java、Go、Node.js、Django、RoR 等主流編程語言和框架 ,還提供了 GitHub、Slack、Trello 等常見開發工具的集成。
反正總結起來就是一個支持多種語言的異常監控工具,並且免費 開源 好用github
Docker極速鏡像:https://get.daocloud.io/#inst...web
1.Docker安裝docker
curl -sSL https://get.daocloud.io/docker | sh
2.Docker Compose 安裝編程
curl -L https://get.daocloud.io/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose
3.安裝成功後端
root@sentry:~# docker -v Docker version 19.03.1, build 74b1e89 root@sentry:~# docker-compose -v docker-compose version 1.24.1, build 4667896b
1.拉取onpremise框架
git clone https://github.com/getsentry/onpremise.git
2.建立項目目錄dom
cd onpremise && mkdir -p data/{sentry,postgres}
3.複製相應的環境配置文件curl
cp .env.example .env
4.生成secret key
在此步驟安裝遇到問題,請跳到步驟10查看常看法決方案.
docker-compose run --rm web config generate-secret-key
5.執行完成後會得到密匙,填寫環境密匙
SENTRY_SECRET_KEY=tu!+5dwv5box8pm*1-=idgik%5=@odaot=wi9q^6!d&d&9*uee SENTRY_IMAGE=sentry:9.1.2
6.更新配置及建立超級管理員用戶
docker-compose run --rm web upgrade
7.啓動服務運行
docker-compose up -d
8.添加郵件配置到.env文件中
SENTRY_EMAIL_HOST=smtp.mailgun.org SENTRY_EMAIL_PORT=587 //端口 SENTRY_SERVER_EMAIL=你的郵箱地址 SENTRY_EMAIL_USER=郵箱帳號 SENTRY_EMAIL_PASSWORD=郵箱密碼 SENTRY_EMAIL_USE_TLS=true //啓動TLS傳輸
9.更改須要重啓docker
docker-compose down && docker-compose up -d
10.安裝期間遇到場景問題及解決方案
若是安裝期間出現如下這樣的錯誤的話,記得手動執行該命令建立
ERROR: Volume sentry-data declared as external, but could not be found. Please create the volume manually using `docker volume create --name=sentry-data` and try again 執行:docker volume create --name=sentry-data ERROR: Volume sentry-postgres declared as external, but could not be found. Please create the volume manually using `docker volume create --name=sentry-postgres` and try again. 執行:docker volume create --name=sentry-postgres
若是執行到最後出現該錯誤
ERROR: Service 'web' failed to build: invalid reference format
請在你的.env環境文件中添加
SENTRY_IMAGE=sentry:9.1.2
12.nginx反向代理端口轉發
server { listen 80; server_name yourdomain.com location / { proxy_pass http://127.0.0.1:9000; } }
最終搭建完善的效果:
異常監控:
郵箱提醒:
以上就是Sentry部署的教程了,全程環境使用Ubuntu+Docker進行部署完成的,若是各位同窗對這個有興趣能夠一塊兒溝通哦。