Sentry 是什么
通常我们所说的 Sentry 是指 Sentry 的后端服务,由 Django 编写。8.0 版本使用了 React.js 构建前端 UI。使用 Sentry 前还需要在自己的应用中配置 Sentry 的 SDK —— 通常在各语言的包管理工具中叫做 Raven。
当然,Sentry 还可以是其公司所提供的 Sentry SaaS 服务。
DSN(Data Source Name)
Sentry 服务支持多用户、多团队、多应用管理,每个应用都对应一个 PROJECT_ID,以及用于身份认证的PUBLIC_KEY和SECRET_KEY。由此组成一个这样的DSN`:
'{PROTOCOL}://{PUBLIC_KEY}:{SECRET_KEY}@{HOST}/{PATH}{PROJECT_ID}'
PROTOCOL 通常会是 http 或者 https,HOST 为 Sentry 服务的主机名和端口,PATH 通常为空。
安装
地址:https://github.com/getsentry/onpremise
需要提前安装好 Docker 和 docker-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
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/,即可看到sentry的Web界面。登录之后建立一个项目,然后即可配置客户端。 对于使用django框架的项目,客户端可以如下配置:
$ sudo pip install raven       # 如果项目和sentry位于不同服务器,可能需要安装raven
打开django的settings.py,加入:
SENTRY_DSN = 'xxxxxxx'         # 在sentry的Web界面中建立项目后即可查看
                               # for django的配置文档,从中可以找到`SENTRY_DSN`的值
INSTALLED_APPS = {
    ....
    'raven.contrib.django',    # 加入这一行
    ....
}
这样django项目中产生的异常就都会集中到sentry服务器上了。












网友评论