17ns
  • 169

异常监控-Sentry服务部署教程

背景:
我们在完成系统的设计或者业务的迭代上线后,除了需要关注业务数据、系统运行状况,往往还需要对系统业务异常进行监控,来避免有些边缘场景在开发或测试中没有判断到位,导致线上业务系统运行异常或者崩溃的状况,所以这正是我们需要使用Sentry这样的异常日志监控工具的原因。

关于Sentry的介绍:

Sentry 是一个开源的实时错误报告工具,支持 web 前后端、移动应用以及游戏,支持 Python、OC、Java、Go、Node.js、Django、RoR 等主流编程语言和框架 ,还提供了 GitHub、Slack、Trello 等常见开发工具的集成。

反正总结起来就是一个支持多种语言的异常监控工具,而且免费 开源 好用

(一)、Docker安装及准备

Docker极速镜像:https://get.daocloud.io/#inst...

1.Docker安装

curl -sSL https://get.daocloud.io/docker | sh

2.Docker Compose 安装

curl -L https://get.daocloud.io/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

3.安装成功

root@sentry:~# docker -v
Docker version 19.03.1, build 74b1e89
root@sentry:~# docker-compose -v
docker-compose version 1.24.1, build 4667896b

image

(二)、Sentry安装

1.拉取onpremise

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

2.创建项目目录

cd onpremise && mkdir -p data/{sentry,postgres} 

3.复制相应的环境配置文件

cp .env.example .env

4.生成secret key

在此步骤安装遇到问题,请跳到步骤10查看常见解决方案.

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

5.执行完成后会获得密匙,填写环境密匙

SENTRY_SECRET_KEY=tu!+5dwv5box8pm*1-=idgik%5=@odaot=wi9q^6!d&d&9*uee
SENTRY_IMAGE=sentry:9.1.2

6.更新配置及创建超级管理员用户

docker-compose run --rm web upgrade

7.启动服务运行

docker-compose up -d

8.添加邮件配置到.env文件中

SENTRY_EMAIL_HOST=smtp.mailgun.org
SENTRY_EMAIL_PORT=587   //端口
SENTRY_SERVER_EMAIL=你的邮箱地址
SENTRY_EMAIL_USER=邮箱账号
SENTRY_EMAIL_PASSWORD=邮箱密码
SENTRY_EMAIL_USE_TLS=true   //启动TLS传输

9.更改需要重启docker

docker-compose down && docker-compose up -d

10.安装期间遇到场景问题及解决方案

如果安装期间出现以下这样的错误的话,记得手动执行该命令创建

ERROR: Volume sentry-data declared as external, but could not be found. Please create the volume manually using `docker volume create --name=sentry-data` and try again

执行:docker volume create --name=sentry-data

ERROR: Volume sentry-postgres declared as external, but could not be found. Please create the volume manually using `docker volume create --name=sentry-postgres` and try again.

执行:docker volume create --name=sentry-postgres

如果执行到最后出现该错误

ERROR: Service 'web' failed to build: invalid reference format

请在你的.env环境文件中添加

SENTRY_IMAGE=sentry:9.1.2

12.nginx反向代理端口转发

server {
        listen       80;
        server_name  yourdomain.com
        location / {
            proxy_pass   http://127.0.0.1:9000;
        }
}

最终搭建完善的效果:

image

异常监控:

image

邮箱提醒:

image

以上就是Sentry部署的教程了,全程环境使用Ubuntu+Docker进行部署完成的,如果各位同学对这个有兴趣可以一起沟通哦。

阅读 3.5k

推荐阅读