[译] 使用Docker安装Sentry(一个错误记录和聚合平台)

Sentry 是一个错误记录和聚合的平台。本指南将指导您在Docker中部署设置自己的内部Sentry。

依赖

  • Docker version 1.10+

构建容器镜像

首先cloneforkinggetsentry/onpremise。这将成为您自己自定义Sentry的基础。 在这个仓库里面,我们有一个sentry.conf.py和config.yml可以自定义。 最重要的是,我们有一个用于安装插件的requirements.txt文件。 现在我们需要构建自定义的镜像。根据您的环境,我们有两种方法可以做到这一点。

  1. 如果你有一个私有容器镜像服务,你将需要推送到: REPOSITORY=reg.example.com/sentry make build push
  2. 如果没有,你可以在本地构建: make build 如果您计划在Docker中运行依赖服务,则我们支持链接容器。

运行相关服务

Redis

docker run \
  --detach \
  --name sentry-redis \
  redis:3.2-alpine
复制代码

PostgreSQL

docker run \
  --detach \
  --name sentry-postgres \
  --env POSTGRES_PASSWORD=secret \
  --env POSTGRES_USER=sentry \
  postgres:9.5
复制代码

Outbound Email

docker run \
  --detach \
  --name sentry-smtp \
  tianon/exim4
复制代码

运行Sentry服务

构建的镜像充当Sentry应用程序的所有运行部件的入口点,并且必须为所有容器使用相同的图像 ${REPOSITORY}对应于在上一步中构建镜像时使用的名称。如果没有指定,默认值是sentry-onpremise。要测试镜像是否正常工作,您可以执行以下操作:

docker run \
  --rm ${REPOSITORY} \
  --help
复制代码

你应该看到Sentry的帮助输出。 此时,您需要生成一个secret-key值。你可以这样做:

docker run \
  --rm ${REPOSITORY} \
  config generate-secret-key
复制代码

这个值可以放到你的config.yml中,或者作为一个环境变量SENTRY_SECRET_KEY。如果放入config.yml,你必须重建你的镜像。

对于所有下面的Sentry命令调用,您必须具有所有必需的容器链接,装载的卷和相同的环境变量。

如果不同的组件运行不同的配置,Sentry可能会有意想不到的行为。 运行命令的基础如下所示:

docker run \
  --detach \
  --link sentry-redis:redis \
  --link sentry-postgres:postgres \
  --link sentry-smtp:smtp \
  --env SENTRY_SECRET_KEY=${SENTRY_SECRET_KEY} \
  ${REPOSITORY} \
  <command>
复制代码

为简洁起见,以下文档内容不会提及容器链接或环境变量,但如果使用链接的容器,则所有实例都需要它们,并且${REPOSITORY}将被引用为sentry-onpremise。

初始化(升级)

docker run --rm -it sentry-onpremise upgrade 在初始化过程中,系统会提示您创建将作为超级用户的初始用户。 所有模式更改和数据库升级均通过升级命令处理,这是升级到未来版本的Sentry时要运行的第一件事。

启动Web服务

Web界面需要将端口9000暴露到容器中。这可以通过-publish 9000:9000完成:

docker run \
  --detach \
  --name sentry-web-01 \
  --publish 9000:9000 \
  ${REPOSITORY} \
  run web
复制代码

您现在应该可以通过访问http://localhost:9000/来测试Web服务。

启动后台工作人员

大量的sentry’s工作通过后台工作人员进行管理:

docker run \
  --detach \
  --name sentry-worker-01 \
  ${REPOSITORY} \
  run worker
复制代码

有关配置工作人员的详细信息,请参阅异步工作人

启动Cron进程

Sentry还需要一个cron进程:

docker run \
  --detach \
  --name sentry-cron \
  ${REPOSITORY} \
  run cron
复制代码

建议此时只运行其中一个,否则会看到不必要的额外任务被推入队列,但如果运行多个节拍进程,系统仍然会按照预期运行。这可以用来实现高可用性。

下一步是什么?

在这一点上,你应该有一个全功能的Sentry安装。您可能想要探索各种可用的插件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值