社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
Sentry 是一个开源的实时错误追踪系统,可以帮助开发者实时监控并修复异常问题。它主要专注于持续集成、提高效率并且提升用户体验。Sentry 分为服务端和客户端 SDK,前者可以直接使用它家提供的在线服务,也可以本地自行搭建;后者提供了对多种主流语言和框架的支持,包括 React、Angular、Node、Django、RoR、PHP、Laravel、Android、.NET、JAVA 等。同时它可提供了和其他流行服务集成的方案,例如 GitHub、GitLab、bitbuck、heroku、slack、Trello 等。目前公司的项目也都在逐步应用上 Sentry 进行错误日志管理。
sudo curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://6616fe43.m.daocloud.io
systemctl restart docker.service
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复制到下面四行的单引号中)
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小时制.
以上是使用docker部署,下面给出docker-compose文件,需要本地装有compse:
container_name: sentry-v1-redis
container_name: sentry-v1-postgres
- /data/sentry/postgresdb:/var/lib/postgresql/data
SENTRY_SECRET_KEY: 's(hb+zd5zgz@f)i!z&^o275g)i&)%_95-hfshpgch2tyj5u=q0'
SENTRY_POSTGRES_HOST: postgres
SENTRY_SECRET_KEY: 's(hb+zd5zgz@f)i!z&^o275g)i&)%_95-hfshpgch2tyj5u=q0'
SENTRY_POSTGRES_HOST: postgres
SENTRY_SECRET_KEY: 's(hb+zd5zgz@f)i!z&^o275g)i&)%_95-hfshpgch2tyj5u=q0'
SENTRY_POSTGRES_HOST: postgres
启动docker-ompse up -d 之后看下sentry的id,并且执行下面语句:
docker exec -it 1afbd19c716c sentry upgrade // 过程中需要输入邮箱和密码
今天又试了一遍那个compose,发现有问题,第一次一定要使用单独的docker在命令行启动,之后再去使用compose 来启动了,原因是第一次启动的时候需要设置邮箱 密码 token等,需要持久化到数据框库中
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!