天天看點

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還有很多功能,就不一一贅叙了,可以去看它的文檔