Sentry(日志监控系统)搭建与集成
Sentry 是一个开源的实时错误追踪系统,可以帮助开发者实时监控并修复异常问题
本文采用在docker中安装sentry服务端
- sentry依赖redis、Postgre
- 安装redis并启动
docker run -d --name sentry-redis redis
- 安装Postgre并启动
docker run -d --name sentry-postgres -e POSTGRES_PASSWORD=secret -e POSTGRES_USER=sentry postgres
- 安装sentry并生成一个密钥,用于在后面所有sentry容器之间握手
docker run --rm sentry config generate-secret-key
*** 此处生成的密钥需要记录下后续使用
- 连接Redis、Postgres和Sentry,运行后会自动执行初始化操作
docker run -it --rm -e SENTRY_SECRET_KEY='此处为密钥' --link sentry-postgres:postgres --link sentry-redis:redis sentry upgrade
- 启动 Sentry Server,同时添加端口映射
docker run -d --name my-sentry -p 9000:9000 -e SENTRY_SECRET_KEY='此处为密钥' --link sentry-redis:redis --link sentry-postgres:postgres sentry
- 默认配置中需要Celery,因此启动一个Celery 主节点
docker run -d --name sentry-cron -e SENTRY_SECRET_KEY='o2+e6yq-7&f()to7mm*3__8%ql)nm4)4!!a5t0uc4p8s8xi==k' --link sentry-postgres:postgres --link sentry-redis:redis sentry run cron
- 启动执行节点(worker节点可按需多启几个)
docker run -d --name sentry-worker-1 -e SENTRY_SECRET_KEY='o2+e6yq-7&f()to7mm*3__8%ql)nm4)4!!a5t0uc4p8s8xi==k' --link sentry-postgres:postgres --link sentry-redis:redis sentry run worker
以上便完成了sentry的搭建,检验是否安装成功,可以访问sentry页面 http://ip:9000
- 注册进入主页面后,点击项目并新建项目,选择Java输入任意项目名并创建;
- 创建完成后进入项目点击设置,选择DSN查看如下图:
- 复制DSN地址配置客户端时使用
客户端集成
- pom.xml引入
<dependency>
<groupId>io.sentry</groupId>
<artifactId>sentry-spring</artifactId>
<version>1.7.27</version>
</dependency>
<dependency>
<groupId>io.sentry</groupId>
<artifactId>sentry-logback</artifactId>
<version>1.7.5</version>
</dependency>
- logback添加依赖:
<appender name="Sentry" class="io.sentry.logback.SentryAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>
</appender>
<root level="INFO">
<!-- 新增sentry -->
<appender-ref ref="Sentry"/>
</root>
- 配置中添加dsn秘钥sentry.dsn之前复制的,启动项目;
至此sentry集成完成,可以进入项目查看相关配置的级别日志;
时在中春,阳和方起