最近在调研监控系统,听到很多朋友推荐sentry,特意的去看了下。sentry是一个开源的监控系统,能支持服务端与客户端的监控,还有个强大的后台错误分析、报警平台。 我们采用官方推荐的docker方式安装,docker及docker-compose环境自行百度。
第一步,生成秘钥
docker run --rm sentry config generate-secret-key
获得 SENTRY_SECRET_KEY
第二步,编写docker-compose.yaml
version: "3.7"
services:
redis:
image: redis:5.0.13
container_name: "sentry-redis"
volumes:
- ./redis/data:/data
command: redis-server --appendonly yes
restart: always
postgres:
image: postgres:13.4
container_name: "sentry-postgres"
privileged: true
ports:
- "5432:5432"
volumes:
- ./postgres/data:/var/lib/postgresql/data
environment:
POSTGRES_DB: "sentry"
POSTGRES_USER: "sentry"
POSTGRES_PASSWORD: "sentry"
restart: always
sentry:
image: sentry:9.1.2
container_name: "sentry"
depends_on:
- redis
- postgres
ports:
- "9000:9000"
volumes:
- ./sentry/files:/var/lib/sentry/files
environment:
SENTRY_SECRET_KEY: "第一步生成的SENTRY_SECRET_KEY"
SENTRY_REDIS_HOST: "redis"
SENTRY_REDIS_PORT: 6379
SENTRY_REDIS_DB: 0
SENTRY_POSTGRES_HOST: "postgres"
SENTRY_POSTGRES_PORT: 5432
SENTRY_DB_NAME: "sentry"
SENTRY_DB_USER: "sentry"
SENTRY_DB_PASSWORD: "sentry"
restart: always
sentry-cron:
image: sentry:9.1.2
container_name: "sentry-cron"
depends_on:
- redis
- postgres
environment:
SENTRY_SECRET_KEY: "第一步生成的SENTRY_SECRET_KEY"
SENTRY_REDIS_HOST: "redis"
SENTRY_REDIS_PORT: 6379
SENTRY_REDIS_DB: 0
SENTRY_POSTGRES_HOST: "postgres"
SENTRY_POSTGRES_PORT: 5432
SENTRY_DB_NAME: "sentry"
SENTRY_DB_USER: "sentry"
SENTRY_DB_PASSWORD: "sentry"
command: sentry run cron
restart: always
sentry-worker:
image: sentry:9.1.2
container_name: "sentry-worker"
depends_on:
- redis
- postgres
environment:
SENTRY_SECRET_KEY: "第一步生成的SENTRY_SECRET_KEY"
SENTRY_REDIS_HOST: "redis"
SENTRY_REDIS_PORT: 6379
SENTRY_REDIS_DB: 0
SENTRY_POSTGRES_HOST: "postgres"
SENTRY_POSTGRES_PORT: 5432
SENTRY_DB_NAME: "sentry"
SENTRY_DB_USER: "sentry"
SENTRY_DB_PASSWORD: "sentry"
command: sentry run worker
restart: always
第三步,初始化数据库,并生成超级管理员账号
docker exec -it sentry sentry upgrade
中途会让你填写邮箱和密码
(∩_∩),好了,sentry代码异常监控平台至此就搭建好了~