Springboot整合Sentry

2021-05-23  本文已影响0人  丛轶群

1.使用docker-compose安装Sentry服务

docker-compose.yml:

version: '3'

volumes:

  pgdb:

services:

  redis:

    image: redis

  postgres:

    image: postgres

    environment:

      POSTGRES_USER: sentry

      POSTGRES_PASSWORD: sentry

      POSTGRES_DBNAME: sentry

      POSTGRES_DBUSER: sentry

      POSTGRES_DBPASS: sentry

    volumes:

    - pgdb:/var/lib/postgresql/data

  sentry:

    image: sentry

    links:

    - redis

    - postgres

    ports:

    - "9000:9000"

    environment:

      SENTRY_SECRET_KEY: '!!!SECRET!!!'

      SENTRY_POSTGRES_HOST: postgres

      SENTRY_DB_USER: sentry

      SENTRY_DB_PASSWORD: sentry

      SENTRY_REDIS_HOST: redis

  cron:

    image: sentry

    links:

    - redis

    - postgres

    command: "sentry run cron"

    environment:

      SENTRY_SECRET_KEY: '!!!SECRET!!!'

      SENTRY_POSTGRES_HOST: postgres

      SENTRY_DB_USER: sentry

      SENTRY_DB_PASSWORD: sentry

      SENTRY_REDIS_HOST: redis

  worker:

    image: sentry

    links:

    - redis

    - postgres

    command: "sentry run worker"

    environment:

      SENTRY_SECRET_KEY: '!!!SECRET!!!'

      SENTRY_POSTGRES_HOST: postgres

      SENTRY_DB_USER: sentry

      SENTRY_DB_PASSWORD: sentry

      SENTRY_REDIS_HOST: redis


构建镜像并以后台方式启动容器:

docker-compose up -d

容器启动后迁移数据库 (该过程中会提示设置邮箱和密码):

docker exec -it 【worker容器】sentry upgrade

开放宿主机9000端口:

firewall-cmd --zone=public --add-port=9000/tcp --permanent

至此Serntry服务安装完毕,http://ip:9000访问web界面


2.Springboot整合Sentry(logback方式):

通过Sentry web界面创建项目,获取maven依赖、logback.xml、dsn

配置文件配置dsn: 

sentry:

    dsn: 【web界面项目的DSN】

Sentry配置类,初始化Sentry:

@Configuration

public class SentryConf {

@Value("${sentry.dsn}")

private Stringdsn;

    @PostConstruct

    public void init() {

System.out.println("加载sentry-dsn: " +dsn);

        Sentry.init(dsn);

    }

}


使用lombok @Slf4j

log.error("【日志】");

即会向Sentry服务器发送错误日志


参考:https://segmentfault.com/a/1190000009571903

上一篇 下一篇

猜你喜欢

热点阅读