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集成完成,可以进入项目查看相关配置的级别日志;

posted @ 2020-03-12 14:17  faylinn  阅读(3673)  评论(0编辑  收藏  举报
、、、