当前位置: 代码迷 >> 综合 >> ubuntu 部署 sentry 及简单应用
  详细解决方案

ubuntu 部署 sentry 及简单应用

热度:97   发布时间:2023-12-19 07:51:29.0

1 安装docker

开始安装
  • 由于apt官方库里的docker版本可能比较旧,所以先卸载可能存在的旧版本:
$ sudo apt-get remove docker docker-engine docker-ce docker.io
  • 更新apt包索引:
$ sudo apt-get update
  • 安装以下包以使apt可以通过HTTPS使用存储库(repository):
$ sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
  • 添加Docker官方的GPG密钥:
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  • 使用下面的命令来设置stable存储库:
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
  • 再更新一下apt包索引:
$ sudo apt-get update
  • 安装最新版本的Docker CE:
$ sudo apt-get install -y docker-ce
  • 在生产系统上,可能会需要应该安装一个特定版本的Docker CE,而不是总是使用最新版本:

列出可用的版本:

$ apt-cache madison docker-ce

选择要安装的特定版本,第二列是版本字符串,第三列是存储库名称,它指示包来自哪个存储库,以及扩展它的稳定性级别。要安装一个特定的版本,将版本字符串附加到包名中,并通过等号(=)分隔它们:

$ sudo apt-get install docker-ce=<VERSION> # 随意选择一个版本即可 
验证docker
  • 查看docker服务是否启动:
$ systemctl status docker
  • 若未启动,则启动docker服务:
$ sudo systemctl start docker
  • 经典的hello world:
$ sudo docker run hello-world
安装docker-compose

如果没有pip 先安装pip

sudo apt-get install python-pip

sudo pip install docker-compose

2.sentry部署

(1)构建容器
$ sudo apt-get install git
$ git clone https://github.com/getsentry/onpremise.git
$ cd onpremise
(2)cd onpremise,执行命令生成key

注意:以下所有的目录,都是要在onpremise下执行的

docker-compose run --rm web config generate-secret-key

在这里可能会报错,如下所示

ERROR: Couldn’t connect to Docker daemon at http://localhost:4243 - is it running?

解决方法如下:

  • 配置/lib/systemd/system/docker.service

sudo vim /lib/systemd/system/docker.service

这里的0.0.0.0根据自己的需求配置是否只需要配置本地

ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:4243

  • 配置/etc/default/docker

sudo vim /etc/default/docker

DOCKER_OPTS=”-H tcp://localhost:4243 -H unix:///var/run/docker.sock

  • DOCKER_HOST的环境变量设置

sudo vim /etc/profile 或者 sudo vim ~/.bashrc

export DOCKER_HOST=tcp://localhost:4243

  • 重启docker

systemctl daemon-reload

sudo service docker restart

  • 然后重新执行

docker-compose run –rm web config generate-secret-key

然后就是等待,时间比较长,大概半小时.

执行完后会生成一个key,复制这个key

(3)将key添加到docker-compose文件里

sudo vim docker-compose.yml

# 取消SENTRY_SECRET_KEY的注释,并把刚刚复制的字符串插入其中,类似如下:
version: '2'
services:base:restart: unless-stoppedbuild: .environment:# Run `docker-compose run web config generate-secret-key`# to get the SENTRY_SECRET_KEY value.SENTRY_SECRET_KEY: '8kn@wvg)qcm5ufg9sanfdada6qn)-0rd^%8j)@m4h=kxn(t)sv'SENTRY_MEMCACHED_HOST: memcachedSENTRY_REDIS_HOST: redisSENTRY_POSTGRES_HOST: postgresSENTRY_EMAIL_HOST: smtp
(4)重建数据库,并创建sentry超级管理员用户

docker-compose run –rm web upgrade

这里会持续大概半小时

快结束时,会创建用户,sentry新建的时候需要一个超级管理员用户:

566.png

(5)启动所有服务

docker-compose up -d

(6)访问sentry

打开浏览器,输入url: ipaddress:9000

访问之前可以检查下容器和端口情况:

docker ps看下当前运行的容器:

wKioL1gZqaKiPlY7AAJc5MOnRi0369.png-wh_50

netstat -ant 查看端口打开情况:

wKioL1gZqhqAw9TEAAE2XDH4f8g685.png-wh_50

登陆界面,这里会提示你的Root URL,如果不想更改继续下一步即可完成:

6o0.png

页面展示:

wKiom1gZqw-zJZg8AADqkoNCxKI808.png-wh_50

至此sentry搭建完成!

3.简单应用

在这里,我以django项目为例,做个示范
- 新建一个项目
1531136157(1).png

微信图片编辑_20180709193827.jpg

微信图片编辑_20180709194133.jpg

这样创建就完成了,这里我们将上面这个字符串复制下来,接下来回用到

  • django中的配置

pip install raven #先安装raven库

#settings文件INSTALLED_APPS = [.....'raven.contrib.django.raven_compat'
]# 将字符串写入
RAVEN_CONFIG = {'dsn': 'http://5ca2ee80314c4749adf65f8f580c3330saodhoiadahid',
}

这样就配置完成了.
项目跑起来,出现bug后,可以在sentry中实时看到,当然sentry还有很多功能,就不一一赘叙了,可以去看它的文档