如何在 Ubuntu 18.04 LTS 上使用 Docker 安装 Sentry 错误跟踪系统
在此页
- 要求
- 开始
- 安装 Docker CE
- 安装哨兵
Sentry 是一个免费的开源错误跟踪应用程序,可用于实时识别问题。在本教程中,我们将解释如何在 Ubuntu 18.04 服务器上使用 Docker 安装 Sentry。
要求
- 一台运行 Ubuntu 18.04 且配备 4 GB RAM 的服务器。
- 在您的服务器上配置了根密码。
入门
在开始之前,建议使用最新版本更新您的系统。您可以使用以下命令执行此操作:
apt-get update -y
apt-get upgrade -y
系统更新后,重新启动它以应用所有更改。
安装 Docker 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 存储库下载最新版本的哨兵。您可以使用以下命令下载它:
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 Web 界面。
恭喜!您已经在 Ubuntu 18.04 服务器上成功安装并配置了带有 Docker 的 Sentry。