docker下一步步部署sentry


sentry概述

  Sentry是程序的哨兵,它可以監控我們在生產環境中項目的運行狀態,一旦某段代碼運行報錯或者異常,會第一時間把報錯的路由異常文件,請求方式 等一些非常詳細的信息以消息或者郵件給我們,讓我們第一時間知道:程序出錯了,然后我們可以從 Sentry 給我們的詳細的錯誤信息中瞬間找到我們需要處理的代碼,及時解決異常!

官方地址:

https://github.com/getsentry/onpremise     //安裝部署

https://sentry.io

https://github.com/getsentry/sentry

https://github.com/docker-library/docs/tree/master/sentry     //dockerhub官方鏡像 v9.1.2

## Requirements
 
 * Docker 17.05.0+
 * Compose 1.17.0+

## Minimum Hardware Requirements:
 
 * You need at least 3GB RAM
 
env:
centos7.x

sentry架構

注意:當前分析v9.1.2

  Sentry到底是如何實現實時日志監控報警的呢?首先,Sentry是一個C/S架構,我們需要在自己應用中集成Sentry的SDK(支持前后端語言)才能在應用發生錯誤是將錯誤信息發送給Sentry服務端。根據語言和框架的不同,我們可以選擇自動或自定義設置特殊的錯誤類型報告給Sentry服務端。
  Sentry的服務端分為web、cron、worker這幾個部分,應用(客戶端)發生錯誤后將錯誤信息上報給web,web處理后放入消息隊列或Redis內存隊列,worker從隊列中消費數據進行處理,postgresql對數據持久化。

my-sentry:sentry的web服務
sentry-cron:sentry的定時任務,活性檢測
sentry-worker:業務處理,數據持久化,報警

部署docker/docker-compose

docker-ce

docker-compose

部署sentry

拉取鏡像

docker pull sentry       ###目前最新版本9.1.2

docker pull redis

docker pull postgres

啟動服務

docker run -d --name sentry-redis --restart=always redis   ###保證了,異常自動拉起
docker run -d --name sentry-postgres -e POSTGRES_PASSWORD=secret -e POSTGRES_USER=sentry --restart=always postgres

生成sentry秘鑰

docker run --rm sentry config generate-secret-key

n8ntkj(u3z5(o18tm*wprg^sqp2)z%980f@upd7(e86v67g*ut  ###打印出secret-keys

數據庫及賬戶初始化及

注意:過程中需要你創建用戶和密碼
During the upgrade, you will be prompted to create the initial user which will act as the superuser.

docker run -it --rm -e SENTRY_SECRET_KEY='n8ntkj(u3z5(o18tm*wprg^sqp2)z%980f@upd7(e86v67g*ut' --link sentry-postgres:postgres --link sentry-redis:redis sentry upgrade

啟動sentry的web服務

The web interface needs to expose port 9000 into the container. This can just be done with –publish 9000:9000:
You should now be able to test the web service by visiting http://localhost:9000/

docker run -d -p 9000:9000 --name my-sentry -e SENTRY_SECRET_KEY='n8ntkj(u3z5(o18tm*wprg^sqp2)z%980f@upd7(e86v67g*ut' --link sentry-redis:redis --link sentry-postgres:postgres --restart=always sentry

啟動sentry-cron/work服務

docker run -d --name sentry-cron -e SENTRY_SECRET_KEY='n8ntkj(u3z5(o18tm*wprg^sqp2)z%980f@upd7(e86v67g*ut' --link sentry-postgres:postgres --link sentry-redis:redis sentry run cron

docker run -d --name sentry-worker-1 -e SENTRY_SECRET_KEY='n8ntkj(u3z5(o18tm*wprg^sqp2)z%980f@upd7(e86v67g*ut' --link sentry-postgres:postgres --link sentry-redis:redis sentry run worker

登錄測試效果

http://ip:9000/  

注意:認證賬戶就是初始化的郵箱及密碼

reference:

https://www.cnblogs.com/watchslowly/p/11309052.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM