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/ 
  • 使用Python安装可以参考之前文章
  • 官方推荐使用docker-compose安装
 git clone https://github.com/getsentry/onpremise.git
 cd onpremise
./install.sh
  • 文件说明
    ubuntu18.04 docker部署sentry服务_第1张图片
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镜像
    ubuntu18.04 docker部署sentry服务_第2张图片
  • 创建超级用户,填写邮箱地址和密码
  • 启动Sentry服务
docker-compose up -d
  • 查询服务运行状态
    ubuntu18.04 docker部署sentry服务_第3张图片
  • 修改配置,重启Sentry服务
# 停止,建议使用stop,down会删除掉镜像,重启后镜像ID会变
docker-compose stop
# docker-compose down

# 启动
docker-compose up -d

ubuntu18.04 docker部署sentry服务_第4张图片

五、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服务
    ubuntu18.04 docker部署sentry服务_第5张图片

六参考

  • https://docs.sentry.io/server/installation/
  • https://github.com/getsentry/onpremise
  • http://sinhub.cn/2019/07/getting-started-guide-of-sentry/

你可能感兴趣的:(运维,linux,sentry)