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服务器发送错误日志
网友评论