Ubuntu 18.04 LTS에서 Docker를 사용하여 Sentry 오류 추적 시스템을 설치하는 방법
이 페이지에서
- 요구 사항\n
- 시작하기\n
- Docker CE 설치
- 센트리 설치
Sentry는 실시간으로 문제를 식별하는 데 사용할 수 있는 무료 오픈 소스 오류 추적 애플리케이션입니다. 이 튜토리얼에서는 Ubuntu 18.04 서버에 Docker와 함께 Sentry를 설치하는 방법을 설명합니다.
요구 사항
- 4GB RAM으로 Ubuntu 18.04를 실행하는 서버.\n
- 서버에 루트 암호가 구성되어 있습니다.\n
시작하기
시작하기 전에 시스템을 최신 버전으로 업데이트하는 것이 좋습니다. 다음 명령으로 수행할 수 있습니다.
apt-get update -y
apt-get upgrade -y
시스템이 업데이트되면 시스템을 다시 시작하여 모든 변경 사항을 적용하십시오.
도커 CE 설치
다음으로 최신 버전의 Docker CE를 시스템에 설치해야 합니다. 기본적으로 Docker의 최신 버전은 Ubuntu 18.04 기본 리포지토리에서 사용할 수 없습니다. 따라서 저장소를 추가해야 합니다.
먼저 다음 명령을 사용하여 필요한 패키지를 설치합니다.
apt-get install curl git build-essential apt-transport-https ca-certificates curl software-properties-common -y
그런 다음 다음 명령을 사용하여 GPG 키를 다운로드하고 추가합니다.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
다음으로 다음 명령을 사용하여 Docker CE 리포지토리를 추가합니다.
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
그런 다음 리포지토리를 업데이트하고 다음 명령을 사용하여 Docker CE를 설치합니다.
apt-get update -y
apt-get install docker-ce -y
Docker가 설치되면 다음 명령을 사용하여 Docker의 상태를 확인할 수 있습니다.
systemctl status docker
다음 출력이 표시되어야 합니다.
? docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2019-07-03 12:34:40 UTC; 22s ago Docs: https://docs.docker.com Main PID: 4683 (dockerd) Tasks: 8 CGroup: /system.slice/docker.service ??4683 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock Jul 03 12:34:37 ubuntu1804 dockerd[4683]: time="2019-07-03T12:34:37.685945390Z" level=warning msg="Your kernel does not support swap memory lim Jul 03 12:34:37 ubuntu1804 dockerd[4683]: time="2019-07-03T12:34:37.686904854Z" level=warning msg="Your kernel does not support cgroup rt perio Jul 03 12:34:37 ubuntu1804 dockerd[4683]: time="2019-07-03T12:34:37.687422213Z" level=warning msg="Your kernel does not support cgroup rt runti Jul 03 12:34:37 ubuntu1804 dockerd[4683]: time="2019-07-03T12:34:37.697386605Z" level=info msg="Loading containers: start." Jul 03 12:34:38 ubuntu1804 dockerd[4683]: time="2019-07-03T12:34:38.896641657Z" level=info msg="Default bridge (docker0) is assigned with an IP Jul 03 12:34:39 ubuntu1804 dockerd[4683]: time="2019-07-03T12:34:39.508555810Z" level=info msg="Loading containers: done." Jul 03 12:34:39 ubuntu1804 dockerd[4683]: time="2019-07-03T12:34:39.939899550Z" level=info msg="Docker daemon" commit=2d0083d graphdriver(s)=ov Jul 03 12:34:39 ubuntu1804 dockerd[4683]: time="2019-07-03T12:34:39.947534196Z" level=info msg="Daemon has completed initialization" Jul 03 12:34:40 ubuntu1804 systemd[1]: Started Docker Application Container Engine. Jul 03 12:34:40 ubuntu1804 dockerd[4683]: time="2019-07-03T12:34:40.230411944Z" level=info msg="API listen on /var/run/docker.sock"
센트리 설치
먼저 Github 저장소에서 최신 버전의 sentry를 다운로드해야 합니다. 다음 명령으로 다운로드할 수 있습니다.
git clone https://github.com/getsentry/onpremise
다운로드가 완료되면 다음 출력이 표시됩니다.
Cloning into 'onpremise'... remote: Enumerating objects: 13, done. remote: Counting objects: 100% (13/13), done. remote: Compressing objects: 100% (11/11), done. remote: Total 228 (delta 3), reused 6 (delta 2), pack-reused 215 Receiving objects: 100% (228/228), 55.14 KiB | 275.00 KiB/s, done. Resolving deltas: 100% (106/106), done.
다음으로 다음 명령을 사용하여 로컬 사용자 지정 이미지를 빌드합니다.
cd ~/onpremise
make build
다음으로 센트리 서비스 스크립트를 만들어야 합니다. 다음 명령으로 만들 수 있습니다.
nano sentry_services.sh
다음 줄을 추가합니다.
#! /bin/bash clear docker run --detach --name sentry-redis redis:3.2-alpine docker run --detach --name sentry-postgres --env POSTGRES_PASSWORD=secret --env POSTGRES_USER=sentry postgres:9.5 docker run --detach --name sentry-smtp tianon/exim4 docker run --rm sentry-onpremise --help docker run --rm sentry-onpremise config generate-secret-key
완료되면 파일을 저장하고 닫습니다. 그런 다음 다음 명령을 사용하여 스크립트를 실행합니다.
. sentry_services.sh
다음 출력이 표시되어야 합니다.
0kvhow&i+k#rjkkc0wvo*n=45=uuua8)51li8)cdjuld6e(2wa
다음으로 위의 키를 SENTRY_SECRET_KEY 변수에 저장해야 합니다. 다음 명령으로 이 작업을 수행할 수 있습니다.
echo 'export SENTRY_SECRET_KEY="0kvhow&i+k#rjkkc0wvo*n=45=uuua8)51li8)cdjuld6e(2wa"' >> ~/.bashrc
source ~/.bashrc
그런 다음 다음 명령을 사용하여 마이그레이션 프로세스를 시작합니다.
docker run --link sentry-redis:redis --link sentry-postgres:postgres --link sentry-smtp:smtp --env SENTRY_SECRET_KEY=${SENTRY_SECRET_KEY} --rm -it sentry-onpremise upgrade
마이그레이션 프로세스가 성공적으로 완료되면 다음 명령을 사용하여 Sentry 앱을 시작합니다.
docker run --detach --name sentry-web-01 --publish 9000:9000 --link sentry-redis:redis --link sentry-postgres:postgres --link sentry-smtp:smtp --env SENTRY_SECRET_KEY=${SENTRY_SECRET_KEY} sentry-onpremise run web
다음으로 다음 명령을 사용하여 백그라운드 작업자를 시작합니다.
docker run --detach --name sentry-worker-01 --link sentry-redis:redis --link sentry-postgres:postgres --link sentry-smtp:smtp --env SENTRY_SECRET_KEY=${SENTRY_SECRET_KEY} sentry-onpremise run worker
다음으로 다음 명령을 사용하여 cron 프로세스를 시작합니다.
docker run --detach --name sentry-cron --link sentry-redis:redis --link sentry-postgres:postgres --link sentry-smtp:smtp --env SENTRY_SECRET_KEY=${SENTRY_SECRET_KEY} sentry-onpremise run cron
이제 Sentry가 구성되고 포트 9000에서 수신 대기합니다. URL http://yourserverip:9000을 방문하여 Sentry 웹 인터페이스에 액세스할 수 있습니다.
축하합니다! Ubuntu 18.04 서버에서 Docker로 Sentry를 성공적으로 설치하고 구성했습니다.