用 Docker 部署 Sentry Bug 日志收集服务

零落 2021-1-22 16:17:26 显示全部楼层 阅读模式
本帖最后由 零落 于 2021-1-22 16:29 编辑

文章来源:乐聚机器人王松博士的《用Docker部署Sentry Bug日志收集服务》

图片



Sentry 是一个日志收集和统计平台, 由客户端和服务端组成,目前支持大部分主流的编程语言,并提供 SDK,当程序出现异常就向服务端发送消息,服务端将消息记录到数据库中并提供一个 Web 端显示。


FFFFE8B5BBD1527F91CE220AB5C6CBBF.jpg


下面演示如何使用 Docker 快速部署 Sentry 服务,并自定义一些配置。


系统环境


1  >> uname -a
2  Linux sentry 4.18.0-1018-azure #18~18.04.1-Ubuntu SMP Tue May 7 18:09:35 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux


安装 Docker

1  >> sudo apt install docker.io
2  >> sudo apt  install docker-compose
3  >> docker -v
4
5  Docker version 18.09.2, build 6247962


部署 Docker 服务


Clone 代码



1  >> git clone https://github.com/getsentry/onpremise.git
2  >> cd onpremise


挂载本地路径

为了方便数据迁移,挂载本地路径到 Docker 镜像

  • mkdir sentry-data: 创建 Sentry 数据文件目录

  • mkdir sentry-postgres: 创建 Sentry 数据库目录

  • config.yml: Sentry 用户自定义配置文件


配置邮箱与域名前缀

这里需要同时改动两个文件,config.yml 和 docker-compose.yml


配置 config.yml 

1  mail.backend: smtp  # Use dummy if you want to disable email entirely
2  mail.host: smtp.exmail.qq.com
3  mail.port: 587
4  mail.username: name@email.com
5  mail.password: yourpassword
6  mail.use-tls: true
7  mail.from: name@email.com
8  system.url-prefix: http://your_domain.com


配置 docker-compose.yml 

 1  x-defaults: &defaults
2    restart: unless-stopped
3    build: .
4    depends_on:
5      - redis
6      - postgres
7      - memcached
8      - smtp
9    env_file: .env
10    environment:
11      SENTRY_MEMCACHED_HOST: memcached
12      SENTRY_REDIS_HOST: redis
13      SENTRY_POSTGRES_HOST: postgres
14      SENTRY_SERVER_EMAIL: name@email.com
15      SENTRY_EMAIL_HOST: smtp.exmail.qq.com
16      SENTRY_EMAIL_PORT: 587
17      SENTRY_EMAIL_USER: name@email.com
18      SENTRY_EMAIL_PASSWORD: yourpassword
19      SENTRY_EMAIL_USE_TLS: true
20      SENTRY_URL_PREFIX: http://your_domain.com


注意


  • 邮箱端口腾讯企业邮箱的设置 SMTP 的端口是 465,但 sentry 只支持 tls ,所以使 tls 将端口改587。

  • 腾讯企业邮箱 mail.from 必须要和 mail.username 一致



启动 Docker 服务

参考官方文档(https://github.com/getsentry/onpremise/blob/master/README.md)

  • cp -n .env.example .env 创建环境配置文件
  • docker-compose build 构建 Docker 服务
  • docker-compose run --rm web config generate-secret-key 生成密钥,并将密钥添加至 .env
  • docker-compose run --rm web upgrade,构建数据库,过程中需要输入管理员信息
  • docker-compose up -d 在后台启动,docker-compose.yml 默认端口为 9000
  • 浏览器打开 http://localhost:9000,部署成功。



回复

使用道具 评分 举报

您需要登录后才可以回帖 登录 | 立即注册

  • 1 关注
  • 1 粉丝
  • 48 帖子