docker安装部署sentry实时错误追踪系统 - Go语言中文社区

docker安装部署sentry实时错误追踪系统


Sentry 是一个开源的实时错误追踪系统,可以帮助开发者实时监控并修复异常问题。它主要专注于持续集成、提高效率并且提升用户体验。Sentry 分为服务端和客户端 SDK,前者可以直接使用它家提供的在线服务,也可以本地自行搭建;后者提供了对多种主流语言和框架的支持,包括 React、Angular、Node、Django、RoR、PHP、Laravel、Android、.NET、JAVA 等。同时它可提供了和其他流行服务集成的方案,例如 GitHub、GitLab、bitbuck、heroku、slack、Trello 等。目前公司的项目也都在逐步应用上 Sentry 进行错误日志管理。

docker换源

sudo curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://6616fe43.m.daocloud.io         

重启docker

 systemctl restart docker.service

docker拉取sentry和依赖

 docker pull redis

 docker pull postgres

 docker pull sentry

启动sentry和依赖

 docker run -d --name sentry-redis redis

 docker run -d --name sentry-postgres -e POSTGRES_PASSWORD=secret -e POSTGRES_USER=sentry postgres

 docker run --rm sentry config generate-secret-key

启动sentry(上一行得到secret-key,然后把key复制到下面四行的单引号中)

secret_key=''

 docker run -it --rm -e SENTRY_SECRET_KEY='"$secret_key"' --link sentry-postgres:postgres --link sentry-redis:redis sentry upgrade(这一步会提示输入邮箱和密码,  如果没出来肯定不对)

 docker run -d -p 9000:9000 --name my-sentry -e SENTRY_SECRET_KEY='"$secret_key"'    --link sentry-redis:redis --link sentry-postgres:postgres sentry

(如果9000端口已经占用了,开启9002端口的话,改成-p 9002:9000 即可.内网ip还用9000要不会报502) 

 docker run -d --name sentry-cron -e SENTRY_SECRET_KEY='"$secret_key"'    --link sentry-postgres:postgres --link sentry-redis:redis sentry run cron

 docker run -d --name sentry-worker-1 -e SENTRY_SECRET_KEY='"$secret_key"'  --link sentry-postgres:postgres --link sentry-redis:redis sentry run worker

如果哪一步报错了,不能再次run  -d了,报错某个container已存在了.解决方案是比如 docker stop my-sentry 然后docker rm my-sentry再执行docker run -d即可.

之后打开9000端口访问,记得去左下角点击将外观改成简体中文,时区改成上海时间,24小时制.

点击Email 发送邮件去验证.

以上是使用docker部署,下面给出docker-compose文件,需要本地装有compse:

  1. cat docker-compose.yaml

version: '3'

services:

    redis:

        image: redis:latest

        container_name: sentry-v1-redis

        restart: always

 

    postgres:

        image: postgres:latest

        container_name: sentry-v1-postgres

        restart: always

        environment:

         - POSTGRES_USER=sentry

         - POSTGRES_PASSWORD=sentry

         - POSTGRES_DBNAME=sentry

         - POSTGRES_DBUSER=sentry

         - POSTGRES_DBPASS=sentry

        volumes:

         - /data/sentry/postgresdb:/var/lib/postgresql/data

 

    sentry:

        image: sentry:latest

        links:

         - redis

         - postgres

        ports:

         - 9000:9000

        environment:

         SENTRY_SECRET_KEY: 's(hb+zd5zgz@f)i!z&^o275g)i&)%_95-hfshpgch2tyj5u=q0'

         SENTRY_POSTGRES_HOST: postgres

         SENTRY_DB_USER: sentry

         SENTRY_DB_PASSWORD: sentry

         SENTRY_REDIS_HOST: redis

 

    cron:

        image: sentry:latest

        links:

         - redis

         - postgres

        command: "sentry run cron"

        environment:

         SENTRY_SECRET_KEY: 's(hb+zd5zgz@f)i!z&^o275g)i&)%_95-hfshpgch2tyj5u=q0'

         SENTRY_POSTGRES_HOST: postgres

         SENTRY_DB_USER: sentry

         SENTRY_DB_PASSWORD: sentry

         SENTRY_REDIS_HOST: redis

 

    worker:

        image: sentry:latest

        links:

         - redis

         - postgres

        command: "sentry run worker"

        environment:

         SENTRY_SECRET_KEY: 's(hb+zd5zgz@f)i!z&^o275g)i&)%_95-hfshpgch2tyj5u=q0'

         SENTRY_POSTGRES_HOST: postgres

         SENTRY_DB_USER: sentry

         SENTRY_DB_PASSWORD: sentry

         SENTRY_REDIS_HOST: redis

 

启动docker-ompse up -d 之后看下sentry的id,并且执行下面语句:

docker exec -it 1afbd19c716c sentry upgrade   // 过程中需要输入邮箱和密码

 此时sentry就可以正常的启动了。。

 

今天又试了一遍那个compose,发现有问题,第一次一定要使用单独的docker在命令行启动,之后再去使用compose 来启动了,原因是第一次启动的时候需要设置邮箱 密码 token等,需要持久化到数据框库中

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/yaodunlin/article/details/108471747
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢