zoukankan      html  css  js  c++  java
  • 阿里云ubuntu搭建sentry服务

    1. 安装docker


    首先先确定你的Ubuntu是否符合安装Docker的前提下。如果没有问题,你可以通过下边的方式来安装Docker: 

    查看是否安装了wget 

    which wget

    如果wget没有安装,先升级包管理器,然后再安装他。 

    sudo apt-get update $ sudo apt-get install wget

    获取最新版本的Docker安装包 

    wget -qO- https://get.docker.com/ | sh

    通过 docker --version 可以查看版本号并确认是否安装成功。 

    由于某种神秘原因国内无法直接从 docker 官方库直接获取镜像 这里我们使用 Docker 加速器 运行下面命令即可。

    curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://4031ebb7.m.daocloud.io

    2. 安装 docker-compose 


    推荐使用python的pip管理工具来安装docker-compose 

    sudo pip install -U docker-compose

    到这里安装就结束了;Compose 已经安装完成。你可以使用 docker-compose --version 来进行测试

    3. 正是搭建sentry


    做完了准备工作,就可以开始搭建 sentry 了。

    从 GitHub 上面获取最新的 sentry

    git clone https://github.com/getsentry/onpremise.git

    获取到本地之后,就可以根据他的 README.md 开始着手搭建了,整个过程还是比较顺利的。

    进入 clone 下来的 onpremise 目录依次执行

    1. 创建对应的目录

    mkdir -p data/{sentry,postgres} 

    2. 创建env配置文件

    cp -n .env.example .env

    3. 构建和标记Docker服务 

    docker-compose build

    4. 生成密钥。将其添加.envSENTRY_SECRET_KEY

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

    添加key到.env中

    [dy@iz2zeacp86oa3ile21ueg2z onpremise]$ vi .env
    
    # Run `docker-compose run web config generate-secret-key`
    # to get the SENTRY_SECRET_KEY value.
    SENTRY_SECRET_KEY= 'e@lcae#hd&g6p4)qzkmfi8iu#n(&j@vzx4*hkt0zm+n^o-4k37'  # 此处要写自己生成的key

    5. 构建数据库。使用交互式提示创建用户帐户 

    docker-compose run --rm web upgrade

    异常情况一:如果在执行上图红框第5步时,没有提示创建超用户!!!!

    解决方法:

    1. 打开一个终端,进入sentry的web的shell里面,其实就是一个python端

    docker-compose run --rm web shell

    2. 输入以下命令进行初始化数据

    from sentry.models import Project
    from sentry.receivers.core import create_default_projects
    create_default_projects([Project])

    3. 退出shell,创建自己的用户

    docker-compose run --rm web createuser

    4. 重新启动sentry服务 

    $ docker-compose down      # 停止
    $ docker-compose up -d      # 启动

    异常情况二:安装完成后无法登录(请求超时)!!!!

    解决方法:重新执行安装步骤中的3~4,重新生成key,并重新生成数据表,如下图:

    异常情况三:sentry面板不显示新建的项目,或者不显示接收到异常信息,但是统计中有记录!!!!

    统计中有数据:

    解决方法:

    1. 执行这个命令进入 postgres docker

      docker exec -it onpremise_postgres_1 bash
    2. 进入postgre database

      psql -h 127.0.0.1 -d postgres -U postgres
      View Code
    3. 执行这段代码: 

       1 create or replace function sentry_increment_project_counter(
       2 
       3             project bigint, delta int) returns int as $$
       4 
       5         declare
       6 
       7           new_val int;
       8 
       9         begin
      10 
      11           loop
      12 
      13             update sentry_projectcounter set value = value + delta
      14 
      15              where project_id = project
      16 
      17                returning value into new_val;
      18 
      19             if found then
      20 
      21               return new_val;
      22 
      23             end if;
      24 
      25             begin
      26 
      27               insert into sentry_projectcounter(project_id, value)
      28 
      29                    values (project, delta)
      30 
      31                 returning value into new_val;
      32 
      33               return new_val;
      34 
      35             exception when unique_violation then
      36 
      37             end;
      38 
      39           end loop;
      40 
      41         end
      42 
      43         $$ language plpgsql;
      View Code

    4.配置邮箱发送


    1. 打开docker-compose.yml文件(在git clone 的目录onpremise下)

    vim docker-compose.yml

    2. 复制以下几行到docker-compose.yml文件 

     开始的时候我用的是网易的,但是邮件死活发不出去,后来换了qq邮箱就好了

    SENTRY_EMAIL_HOST: 'smtp.sina.com'
    SENTRY_EMAIL_USER: 'dongyang***@sina.com'
    SENTRY_EMAIL_PASSWORD: '*****'   # 填写自己的密码
    SENTRY_SERVER_EMAIL: 'dongyang***@sina.com'
    SENTRY_EMAIL_PORT: 587        # 阿里云必须写这一项
    SENTRY_EMAIL_USE_TLS: 'true'   # 阿里云必须写这一项

    3. 重新启动sentry服务

    docker-compose down      # 停止
    docker-compose up -d      # 启动

    4. 如下图可以测试邮件是否可以发送 

    进入用户设置

    ip:9000/account/settings/
  • 相关阅读:
    微信小程序 单选按钮 最佳
    微信小程序 单选按钮的实现
    微信小程序 单选框实现
    Java Code To Create Pyramid and Pattern
    Java language
    npm Err! Unexpected end of JSON input while parsing near
    Node.js Express FrameWork Tutorial
    Higher-Order Function Examples
    Create First HTTP Web Server in Node.js: Complete Tutorial
    Node.js NPM Tutorial: Create, Publish, Extend & Manage
  • 原文地址:https://www.cnblogs.com/qybk/p/11053113.html
Copyright © 2011-2022 走看看