教你三步搭建sentry代码异常监控平台

428 阅读1分钟

最近在调研监控系统,听到很多朋友推荐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代码异常监控平台至此就搭建好了~