在Ubuntu 16.04上,通过Docker安装Sentry
Tianye
・4 分钟阅读
使用不同的系统?
介绍
sentinel是一个用于错误跟踪的开源解决方案,Sentry跟踪日志文件的应用程序中的异常和其他有用消息,有一个用户友好的界面。
前提条件
- 新部署的运行Ubuntu 16.04的实例,
- 一个sudo用户 ,
- 已安装Docker CE ,
安装
更新软件包索引列表:
sudo apt-get update
安装开发工具包:
sudo apt-get install build-essential -y
从源克隆getsentry/onpremise :
git clone https://github.com/getsentry/onpremise
输入onpremise
文件夹,并且生成本地自定义镜像:
cd ~/onpremise
sudo make build
创建一个名为sentry_services.sh
的脚本:
sudo nano sentry_services.sh
将以下终端命令添加到sentry_services.sh
脚本文件中:
#! /bin/bash
clear
sudo docker run
--detach
--name sentry-redis
redis:3.2-alpine
sudo docker run
--detach
--name sentry-postgres
--env POSTGRES_PASSWORD=secret
--env POSTGRES_USER=sentry
postgres:9.5
sudo docker run
--detach
--name sentry-smtp
tianon/exim4
sudo docker run
--rm sentry-onpremise
--help
sudo docker run
--rm sentry-onpremise
config generate-secret-key
保存并退出,然后执行脚本:
. sentry_services.sh
执行脚本的输出将生成一个密钥,我们必须在调用它的环境变量中保存: SENTRY_SECRET_KEY
,我们还必须存储在~/.bashrc
文件中,因此如果SSH会话过期且必须重新登录,SENTRY_SECRET_KEY
变量始终相同:
echo 'export SENTRY_SECRET_KEY="_secret_key_here_"' >> ~/.bashrc
source ~/.bashrc
echo $SENTRY_SECRET_KEY
运行迁移:
sudo docker run
--link sentry-redis:redis
--link sentry-postgres:postgres
--link sentry-smtp:smtp
--env SENTRY_SECRET_KEY=${SENTRY_SECRET_KEY}
--rm -it sentry-onpremise upgrade
迁移完成后,将Sentry应用程序作为网络服务启动:
sudo docker run
--detach
--name sentry-web-01
--publish 9000:9000
--link sentry-redis:redis
--link sentry-postgres:postgres
--link sentry-smtp:smtp
--env SENTRY_SECRET_KEY=${SENTRY_SECRET_KEY}
sentry-onpremise
run web
启动后台worker:
sudo docker run
--detach
--name sentry-worker-01
--link sentry-redis:redis
--link sentry-postgres:postgres
--link sentry-smtp:smtp
--env SENTRY_SECRET_KEY=${SENTRY_SECRET_KEY}
sentry-onpremise
run worker
启动cron进程:
sudo docker run
--detach
--name sentry-cron
--link sentry-redis:redis
--link sentry-postgres:postgres
--link sentry-smtp:smtp
--env SENTRY_SECRET_KEY=${SENTRY_SECRET_KEY}
sentry-onpremise
run cron
现在在本地的端口9000
中配置和侦听Sentry,访问http://you_server_ip:9000
。