-
[Sentry] Docker 를 이용하여 local 에 Sentry 설치하기Open Source 2022. 1. 13. 19:11반응형
sentry 를 이용해서 프로그램을 모니터링 하고 있는데, sentry 에서 기본 제공하는 플랜 은 매달 금액도 나가고 transaction limit 을 넘어 버리면 아예 모니터링이 불가능한 경우가 발생했다.
위의 단점을 보완하기 위해 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
참고 문서
아래 내용은 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 ...
참고
소스코드
반응형'Open Source' 카테고리의 다른 글
RPC / gRPC 와 예제 코드 with Go, Python (0) 2021.11.08