天天看点

ubuntu 部署 sentry 及简单应用

1 安装docker

开始安装

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

列出可用的版本:

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

验证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下执行的

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

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-stopped
    build: .
    environment:
      # Run `docker-compose run web config generate-secret-key`
      # to get the SENTRY_SECRET_KEY value.
      SENTRY_SECRET_KEY: '[email protected])qcm5ufg9sanfdada6qn)-0rd^%8j)@m4h=kxn(t)sv'
      SENTRY_MEMCACHED_HOST: memcached
      SENTRY_REDIS_HOST: redis
      SENTRY_POSTGRES_HOST: postgres
      SENTRY_EMAIL_HOST: smtp
           

(4)重建数据库,并创建sentry超级管理员用户

docker-compose run –rm web upgrade

这里会持续大概半小时

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

ubuntu 部署 sentry 及简单应用

(5)启动所有服务

docker-compose up -d

(6)访问sentry

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

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

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

ubuntu 部署 sentry 及简单应用

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

ubuntu 部署 sentry 及简单应用

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

ubuntu 部署 sentry 及简单应用

页面展示:

ubuntu 部署 sentry 及简单应用

至此sentry搭建完成!

3.简单应用

在这里,我以django项目为例,做个示范

- 新建一个项目

ubuntu 部署 sentry 及简单应用
ubuntu 部署 sentry 及简单应用
ubuntu 部署 sentry 及简单应用

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

  • django中的配置
pip install raven #先安装raven库
#settings文件

INSTALLED_APPS = [
    .....
    'raven.contrib.django.raven_compat'
]


# 将字符串写入
RAVEN_CONFIG = {
    'dsn': 'http://5ca2ee80314c4749adf65f8f580c3330saodhoiadahid',
}
           

这样就配置完成了.

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