ubuntu18.04 docker部署sentry服務

一、介紹

  • Sentry 是一個開源的實時錯誤追蹤系統,可以幫助開發者實時監控並修復異常問題。它主要專注於持續集成、提高效率並且提升用戶體驗。Sentry 分爲服務端和客戶端 SDK,前者可以直接使用它家提供的在線服務,也可以本地自行搭建;後者提供了對多種主流語言和框架的支持,包括 React、Angular、Node、Django、RoR、PHP、Laravel、Android、.NET、JAVA 等。同時它可提供了和其他流行服務集成的方案,例如 GitHub、GitLab、bitbuck、heroku、slack、Trello 等。目前公司的項目也都在逐步應用上 Sentry 進行錯誤日誌管理

二、環境準備

  • 添加豆瓣的pip源
 mkdir .pip
tee ~/.pip/pip.conf <<-'EOF'
[install]
use-mirrors = true
mirrors = http://b.pypi.python.org
[global]
index-url = http://pypi.douban.com/simple/
trusted-host = pypi.douban.com
EOF
  • 添加docker鏡像源
 sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://1nj0zren.mirror.aliyuncs.com",
    "https://docker.mirrors.ustc.edu.cn",
    "http://f1361db2.m.daocloud.io",
    "https://registry.docker-cn.com"
  ]
}
EOF
sudo service docker restart

三、根據官方安裝docket-compose

sudo curl -L "https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

$ docker-compose --version
docker-compose version 1.25.4, build 8d51620a

四、安裝Sentry服務

  • Sentry 本身是基於 Django 開發的,使用到zookeepe,kafka,Postgresql、 Redis、Smtp等組件,兩種途徑進行安裝:通過 Docker 或用 Python 搭建。官網下分別有以下的兩個介紹:
Python搭建:https://docs.sentry.io/error-reporting/quickstart/?platform=javascript
docker-compose:https://docs.sentry.io/server/installation/ 
 git clone https://github.com/getsentry/onpremise.git
 cd onpremise
./install.sh
  • 文件說明
    在這裏插入圖片描述
install.sh:執行文件
docker-compose:全局配置和docker服務配置
config.example.yml和sentry.conf.example.py:兩個默認的配置文件
config.yml和sentry.conf.py:執行後從默認例子文件copy過來的,你可以根據你自己需要的配置這兩個文件
config.yml:記錄運行sentry服務全局配置,包括郵件服務、系統設置、文件存儲等
sentry.conf.py:記錄運行Django的web服務配置,包括:數據庫配置、Redis配置、RabbitMQ、端口配置等
  • 拉取docker鏡像
    在這裏插入圖片描述
  • 創建超級用戶,填寫郵箱地址和密碼
  • 啓動Sentry服務
docker-compose up -d
  • 查詢服務運行狀態
    在這裏插入圖片描述
  • 修改配置,重啓Sentry服務
# 停止,建議使用stop,down會刪除掉鏡像,重啓後鏡像ID會變
docker-compose stop
# docker-compose down

# 啓動
docker-compose up -d

在這裏插入圖片描述

五、nginx服務配置

server {
  listen   80;
  server_name sentry.example.com;

  proxy_set_header   Host                 $http_host;
  proxy_set_header   X-Forwarded-Proto    $scheme;
  proxy_set_header   X-Forwarded-For      $remote_addr;
  proxy_redirect     off;

  # keepalive + raven.js is a disaster
  keepalive_timeout 0;

  # use very aggressive timeouts
  proxy_read_timeout 5s;
  proxy_send_timeout 5s;
  send_timeout 5s;
  resolver_timeout 5s;
  client_body_timeout 5s;

  # buffer larger messages
  client_max_body_size 5m;
  client_body_buffer_size 100k;

  location / {
    proxy_pass        http://localhost:9000;

    add_header Strict-Transport-Security "max-age=31536000";
  }
}
  • 用瀏覽器訪問Sentry服務
    在這裏插入圖片描述

六參考

  • https://docs.sentry.io/server/installation/
  • https://github.com/getsentry/onpremise
  • http://sinhub.cn/2019/07/getting-started-guide-of-sentry/
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章