ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Sentry] Docker 를 이용하여 local 에 Sentry 설치하기
    Open Source 2022. 1. 13. 19:11
    반응형

    sentry 를 이용해서 프로그램을 모니터링 하고 있는데, sentry 에서 기본 제공하는 플랜 은 매달 금액도 나가고 transaction limit 을 넘어 버리면 아예 모니터링이 불가능한 경우가 발생했다.

     

    Application Monitoring and Error Tracking Software

    Self-hosted and cloud-based application monitoring that helps software teams see clearer, solve quicker, & learn continuously.

    sentry.io

     

    위의 단점을 보완하기 위해 local 에 sentry 를 직접 설치 하였다.

     

    self-hosted sentry 문서 를 읽으며 설치를 진행 하였다.

     

    1. 설치하기 및 초기화 하기

    git clone https://github.com/getsentry/self-hosted.git
    SENTRY_SELF_HOSTED_HOME=`pwd`/self-hosted
    cd $SENTRY_SELF_HOSTED_HOME
    ./install.sh
    """output
    ...
    Would you like to create a user account now? [Y/n]: y
    Email: admin 이메일 입력
    Password: 패스워드 입력
    Repeat for confirmation: 패스워드 한 번 더 입력
    ...
    """

     

    2. sentry cluster 실행하기

    cd $SENTRY_SELF_HOSTED_HOME
    
    # sentry 설정 수정하기
    cp .env .env.custom
    vi .env.custom
    """ 수정하기
    SENTRY_BIND=9000 <- 원래 9000 으로 세팅이 되어 있는데, 다른 포트 사용하고 싶으면 변경해야 한다.
    """
    
    # sentry cluster 실행하기
    docker-compose --env-file .env.custom up -d

     

    3. sentry cluster 종료하기

    cd $SENTRY_SELF_HOSTED_HOME
    docker-compose down

     

    참고 문서

    - self-hosted sentry github 

    - self-hosted sentry document


    아래 내용은 Deprecated 버전(v9.x) 인지 모르고 설치를 하였었네요... (현재 버전은 21.12 버전...)
    docker-compose 를 구성하는 방법만 참고하면 되겠습니다...

     

    docker 이미지와 docker-compose 를 이용해서 설치하였다.

     

    sentry cluster 의 구성은

    1. 데이터 저장을 위한 PostgreSQL 과 Redis 서버가 있고,

    2. sentry 동작을 위한 sentry cron 과 sentry worker 로 구성하였다.

     

    - docker-compose.yml

    version: "3.9"
    services:
      redis:
        image: redis
    
      postgres:
        image: postgres
        environment:
          POSTGRES_USER: ${SENTRY_DB_USER}
          POSTGRES_PASSWORD: ${SENTRY_DB_PASSWORD}
          POSTGRES_DB: ${SENTRY_DB_NAME}
          PGDATA: /var/lib/postgresql/data/pgdata
        volumes:
          - ./sentry:/var/lib/postgresql/data/pgdata
    
      sentry:
        image: sentry
        links:
          - redis
          - postgres
        ports:
          - 9999:9000
        environment:
          SENTRY_SECRET_KEY: ${SENTRY_SECRET_KEY}
          SENTRY_POSTGRES_HOST: postgres
          SENTRY_POSTGRES_PORT: 5432
          SENTRY_DB_USER: ${SENTRY_DB_USER}
          SENTRY_DB_PASSWORD: ${SENTRY_DB_PASSWORD}
          SENTRY_DB_NAME: ${SENTRY_DB_NAME}
          SENTRY_REDIS_HOST: redis
          SENTRY_REDIS_PORT: 6379
    
      cron:
        image: sentry
        links:
          - redis
          - postgres
        command: "sentry run cron"
        environment:
          SENTRY_SECRET_KEY: ${SENTRY_SECRET_KEY}
          SENTRY_POSTGRES_HOST: postgres
          SENTRY_POSTGRES_PORT: 5432
          SENTRY_DB_USER: ${SENTRY_DB_USER}
          SENTRY_DB_PASSWORD: ${SENTRY_DB_PASSWORD}
          SENTRY_DB_NAME: ${SENTRY_DB_NAME}
          SENTRY_REDIS_HOST: redis
          SENTRY_REDIS_PORT: 6379
    
      worker:
        image: sentry
        links:
          - redis
          - postgres
        command: "sentry run worker"
        environment:
          SENTRY_SECRET_KEY: ${SENTRY_SECRET_KEY}
          SENTRY_POSTGRES_HOST: postgres
          SENTRY_POSTGRES_PORT: 5432
          SENTRY_DB_USER: ${SENTRY_DB_USER}
          SENTRY_DB_PASSWORD: ${SENTRY_DB_PASSWORD}
          SENTRY_DB_NAME: ${SENTRY_DB_NAME}
          SENTRY_REDIS_HOST: redis
          SENTRY_REDIS_PORT: 6379
    
    ...

     

    참고

    - docker hub 의 sentry 이미지

    - docker-compose 문서

     

    소스코드

    https://github.com/fwani/Sentry-Docker-Compose

     

    GitHub - fwani/Sentry-Docker-Compose: docker compose 를 이용한 sentry 설치 스크립트

    docker compose 를 이용한 sentry 설치 스크립트. Contribute to fwani/Sentry-Docker-Compose development by creating an account on GitHub.

    github.com

    반응형

    'Open Source' 카테고리의 다른 글

    RPC / gRPC 와 예제 코드 with Go, Python  (0) 2021.11.08

    댓글

Designed by Tistory.