웹사이트 검색

Ubuntu 18.04 LTS에서 Docker를 사용하여 Sentry 오류 추적 시스템을 설치하는 방법


이 페이지에서

  1. 요구 사항\n
  2. 시작하기\n
  3. Docker CE 설치
  4. 센트리 설치

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를 성공적으로 설치하고 구성했습니다.