如何在Ubuntu 18.04 LTS上安装带Docker的Sentry错误跟踪系统
如何在Ubuntu 18.04 LTS上安装带Docker的Sentry错误跟踪系统
Sentry是一个免费的开源错误跟踪应用程序,可用于实时识别问题。在本教程中,我们将解释如何在Ubuntu 18.04服务器上安装带有Docker的Sentry。
要求
- 运行Ubuntu 18.04且内存为4 GB的服务器。
- 您的服务器上配置了root密码。
入门
在开始之前,建议使用最新版本更新系统。您可以使用以下命令执行此操作:
apt-get update -y
apt-get upgrade -y
系统更新后,重新启动它以应用所有更改。
安装Docker CE
接下来,您需要在系统上安装最新版本的Docker CE。默认情况下,Ubuntu 18.04默认存储库中不提供最新版本的Docker。因此,您需要为此添加存储库。
首先,使用以下命令安装所需的包:
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"
安装Sentry
首先,您需要从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 Web界面。
恭喜您已在Ubuntu 18.04服务器上成功安装并配置了带有Docker的Sentry。