本文記錄下部署sentry和其中遇到的問題
Sentry 是一款基於 Django實現的錯誤日志收集和聚合的平台,它是 Python 實現的,但是其日志監控功能卻不局限於python,對諸如 Node.js, php,ruby, C#,java 等語言的項目都可以做到無縫集成,甚至可以用來對iOS, Android 移動客戶端以及 Web前端異常進行跟蹤。我們可以在程序中捕獲異常,並發送到 Sentry服務端進行聚合統計、展示和報警。
環境安裝
- 請先安裝 Docker 1.10+
yum install docker
- 請先安裝 docker-compose
yum install python-pip
pip install docker-compose
sentry安裝
- 首先拉取配置和構建文件倉庫:
git clone https://github.com/getsentry/onpremise.git
- 然后進入onpremise目錄
mkdir -p data/{sentry,postgres}
-
這一步很重要 刪除掉requirements.txt文件,不然下面一步會出錯

-
生成秘鑰
docker-compose run --rm web config generate-secret-key
#有可能會出來如下警告信息
WARNING: Image for service web was built because it did not already exist. To rebuild this image you must use `docker-compose build` or `docker-compose up --build`.
#執行下docker-compose build就好了
#這一步會產生一個秘鑰,復制它到 docker-compose.yml 文件的 SENTRY_SECRET_KEY 項,並取消 SENTRY_SECRET_KEY 項的注釋
- 創建相關數據庫和賬號
docker-compose run --rm web upgrade
這一步會要求你填寫一個賬號密碼,用於安裝完成之后登錄后台的管理員賬號,請填寫並記錄
- 啟動容器
[root@localhost onpremise]#docker-compose up -d
#查看容器狀態
[root@localhost onpremise]# docker-compose ps
Name Command State Ports
---------------------------------------------------------------------------------------
onpremise_base_1 /entrypoint.sh run web Up 9000/tcp
onpremise_cron_1 /entrypoint.sh run cron Up 9000/tcp
onpremise_memcached_1 docker-entrypoint.sh memcached Up 11211/tcp
onpremise_postgres_1 docker-entrypoint.sh postgres Up 5432/tcp
onpremise_redis_1 docker-entrypoint.sh redis ... Up 6379/tcp
onpremise_smtp_1 docker-entrypoint.sh tini ... Up 25/tcp
onpremise_web_1 /entrypoint.sh run web Up 0.0.0.0:9000->9000/tcp
onpremise_worker_1 /entrypoint.sh run worker Up 9000/tcp
- 瀏覽器訪問
使用瀏覽器訪問 {ip}:9000,使用開始自己填寫的管理員賬號就可以登錄后台。

