用 Docker 十分钟搭建出 Sentry 私服

Sentry 是什么

通常我们所说的 Sentry 是指 Sentry 的后端服务,由 Django 编写。8.0 版本使用了 React.js 构建前端 UI。使用 Sentry 前还需要在自己的应用中配置 SentrySDK —— 通常在各语言的包管理工具中叫做 Raven

当然,Sentry 还可以是其公司所提供的 Sentry SaaS 服务。

DSN(Data Source Name)

Sentry 服务支持多用户、多团队、多应用管理,每个应用都对应一个 PROJECT_ID,以及用于身份认证的PUBLIC_KEYSECRET_KEY。由此组成一个这样的DSN`:

'{PROTOCOL}://{PUBLIC_KEY}:{SECRET_KEY}@{HOST}/{PATH}{PROJECT_ID}'

PROTOCOL 通常会是 http 或者 httpsHOSTSentry 服务的主机名和端口,PATH 通常为空。

安装

地址:https://github.com/getsentry/onpremise

需要提前安装好 Dockerdocker-compose ,没有安装的请先去安装。

1. clone 安装源码

git clone https://github.com/getsentry/onpremise.git

cd onpremise

ls
Dockerfile         Makefile           README.md          config.yml         docker-compose.yml requirements.txt   sentry.conf.py

2. 通过命令生成 secret key

docker-compose run --rm web config generate-secret-key

3. 将生成的 SENTRY_SECRET_KEY 添加到 docker-compose.yml

vim docker-compose.yml
用 Docker 十分钟搭建出 Sentry 私服_第1张图片
image.png

4. 更新配置

docker-compose run --rm web upgrade
docker-compose up -d

启动和停止

docker-compose up -d  # 启动
docker-compose stop
docker-compose down  # 停止并删除容器

访问

localhost:9000

使用

用浏览器访问 http://localhost:9000/,即可看到sentryWeb界面。登录之后建立一个项目,然后即可配置客户端。 对于使用django框架的项目,客户端可以如下配置:

$ sudo pip install raven       # 如果项目和sentry位于不同服务器,可能需要安装raven

打开djangosettings.py,加入:

SENTRY_DSN = 'xxxxxxx'         # 在sentry的Web界面中建立项目后即可查看
                               # for django的配置文档,从中可以找到`SENTRY_DSN`的值
INSTALLED_APPS = {
    ....
    'raven.contrib.django',    # 加入这一行
    ....
}

这样django项目中产生的异常就都会集中到sentry服务器上了。

你可能感兴趣的:(用 Docker 十分钟搭建出 Sentry 私服)