本文記錄下部署sentry和其中遇到的問題
Sentry 是一款基于 Django實(shí)現(xiàn)的錯(cuò)誤日志收集和聚合的平臺(tái)稿辙,它是 Python 實(shí)現(xiàn)的岁忘,但是其日志監(jiān)控功能卻不局限于python谆棱,對諸如 Node.js, php,ruby, C#,java 等語言的項(xiàng)目都可以做到無縫集成楞艾,甚至可以用來對iOS, Android 移動(dòng)客戶端以及 Web前端異常進(jìn)行跟蹤诅愚。我們可以在程序中捕獲異常李破,并發(fā)送到 Sentry服務(wù)端進(jìn)行聚合統(tǒng)計(jì)、展示和報(bào)警垫蛆。
環(huán)境安裝
- 請先安裝 Docker 1.10+
yum install docker
- 請先安裝 docker-compose
yum install python-pip
pip install docker-compose
sentry安裝
- 首先拉取配置和構(gòu)建文件倉庫:
git clone https://github.com/getsentry/onpremise.git
- 然后進(jìn)入onpremise目錄
mkdir -p data/{sentry,postgres}
-
這一步很重要 刪除掉requirements.txt文件,不然下面一步會(huì)出錯(cuò)
- 生成秘鑰
docker-compose run --rm web config generate-secret-key
#有可能會(huì)出來如下警告信息
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`.
#執(zhí)行下docker-compose build就好了
#這一步會(huì)產(chǎn)生一個(gè)秘鑰禽最,復(fù)制它到 docker-compose.yml 文件的 SENTRY_SECRET_KEY 項(xiàng),并取消 SENTRY_SECRET_KEY 項(xiàng)的注釋
- 創(chuàng)建相關(guān)數(shù)據(jù)庫和賬號(hào)
docker-compose run --rm web upgrade
這一步會(huì)要求你填寫一個(gè)賬號(hào)密碼月褥,用于安裝完成之后登錄后臺(tái)的管理員賬號(hào)弛随,請?zhí)顚懖⒂涗?
- 啟動(dòng)容器
[root@localhost onpremise]#docker-compose up -d
#查看容器狀態(tài)
[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,使用開始自己填寫的管理員賬號(hào)就可以登錄后臺(tái)宁赤。