基于docker本地搭建Sentry日志管理系统

sentry概述

是一个实时事件日志记录和聚合平台。它专门用于监视错误和提取执行适当的事后操作所需的所有信息, 而无需使用标准用户反馈循环的任何麻烦

官方地址:

https://github.com/getsentry/onpremise

https://sentry.io

https://github.com/getsentry/sentry

https://github.com/docker-library/docs/tree/master/sentry

Docker 17.05.0+
Compose 1.23.0+

Minimum Hardware Requirements:

You need at least 2400MB RAM

sentry架构

Sentry到底是如何实现实时日志监控报警的呢?首先,Sentry是一个C/S架构,我们需要在自己应用中集成Sentry的SDK(支持前后端语言)才能在应用发生错误是将错误信息发送给Sentry服务端。根据语言和框架的不同,我们可以选择自动或自定义设置特殊的错误类型报告给Sentry服务端。
  Sentry的服务端分为web、cron、worker这几个部分,应用(客户端)发生错误后将错误信息上报给web,web处理后放入消息队列或Redis内存队列,worker从队列中消费数据进行处理,postgresql对数据持久化。

my-sentry:sentry的web服务
sentry-cron:sentry的定时任务,活性检测
sentry-worker:业务处理,数据持久化,报警

在这里插入图片描述

拉取镜像

docker pull sentry      

docker pull redis

docker pull postgres

启动服务

docker run -d --name sentry-redis --restart=always redis   ###保证了,异常自动拉起
docker run -d --name sentry-postgres -e POSTGRES_PASSWORD=secret -e POSTGRES_USER=sentry --restart=always postgres

生成sentry秘钥

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

数据库及账户初始化及

过程中需要你创建用户和密码
docker run -it --rm -e SENTRY_SECRET_KEY='<key>' --link sentry-postgres:postgres --link sentry-redis:redis sentry upgrade

启动sentry的web服务

docker run -d -p 9000:9000 --name my-sentry -e SENTRY_SECRET_KEY='<key>' --link sentry-redis:redis --link sentry-postgres:postgres --restart=always sentry

启动sentry-cron/work服务

docker run -d --name sentry-cron -e SENTRY_SECRET_KEY='<key>' --link sentry-postgres:postgres --link sentry-redis:redis sentry run cron

docker run -d --name sentry-worker-1 -e SENTRY_SECRET_KEY='<key>' --link sentry-postgres:postgres --link sentry-redis:redis sentry run worker

测试登录

在这里插入图片描述

或者拉取github上sentry的docker配置文件

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

使用所有默认值,只需克隆存储库并./install.sh在本地结帐中运行即可。

常见问题

ERROR: for symbolicator docker-credential-wincred not installed or not available in PATH
在这里插入图片描述

解决方法

删除rm -rf ~/.docker/config.json文件

猜你喜欢

转载自blog.csdn.net/github_38281308/article/details/105989575