• 阿里云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/
  • 相关阅读:
    JUnit中的设计模式:组合模式 Composite
    Activity在屏幕显示的方向切换
    Jenkins插件之有用
    Jenkins插件之Dashboard和wall display
    python技巧32[常用技巧集]
    Jenkins插件之构建与MSBuild
    Jenkins插件之Publish Over SSH/CIFS/FTP
    使用devenv/MSBuild在命令行编译单个project
    Jenkins中执行batch和Python
    python翻译[排序高级]
  • 原文地址:https://www.cnblogs.com/qybk/p/11053113.html
Copyright © 2020-2023  润新知