zoukankan      html  css  js  c++  java
  • DRF 商城项目

    logging  模块

    logging 模块是最基本的日志处理模块

    缺陷

    但是拥有一些很致命的缺陷

    • 要求用户主动查询,
    • 需要登录到服务器才可以查看日志文件
    • 自带的报错外部通知也没办法判断同类取舍,
    • 短时间内的高并发报错会导致大量邮件的发出
    • 不具备集中 bug 管理,以及 bug 处理分配等

    因此不推荐使用 logging 模块进行日志管理

    常言道,别人的轮子又大又圆

    sentry 安装

    sentry 提供了完整的商业日志解决方案

    日志涉及到敏感信息操作不推荐使用官方的解决方案最好自行搭建

    小型项目则无所谓了.直接可以套用官方提供的服务

    docker 方式

    docker 方式要求拥有一定程度的 docker经验

    卸载旧版本

    docker 在 2017年进行过一次更新,如果有存在旧版则需要卸载重装

    yum remove docker  docker-common  docker-selinux  docker-engine

    安装依赖包

    sudo yum insatll -y yum-utils device-mapper-persistent-data lvm2

    添加稳定的源

    yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

    更新 yum 包

    sudo yum makecache fast

    安装 docker

    yum -y install docker-ce

    启动 docker

    systemctl start docker

    测试 docker

    docker run hello-world
    docker --version

    安装依赖

    需要用到git,docker-compose,pip等组件

    yum install epel-release
    yum  install -y python-pip
    pip  install docker-compose
    yum install git

    安装 sentry

    通过镜像安装

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

    点击  这里

    创建卷

    docker volume create --name=sentry-data && docker volume create --name=sentry-postgres

    创建环境配置文件

    cd onpremise
    cp -n .env.example .env

    构建docker服务并打上tag

    docker-compose build

    生成密钥

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

    修改.env文件

    将刚刚生成的秘钥复制到这里

    # Run `docker-compose run web config generate-secret-key`
    # to get the SENTRY_SECRET_KEY value.
    SENTRY_SECRET_KEY='qxc0zw(tgu_e-0s8fnopv++u@7u6vk4xortt(k20r2)i6*h36%'

    创建数据库和账号

    docker-compose run --rm web upgrade

    启动并设置后台运行

    docker-compose up -d

    验证运行

    docker ps
    访问  localhost:9000

    sentry 使用

    登录

    安装好后通过访问 localhost:9000 可以进入 web 界面进行相关的操作, 点击红圈会允许所有的用户进行注册

    创建项目

    进入创建界面

    通过之前创建的用户登录后进入初始界面后点击新项目

     创建 DSN

     

    简单使用

    官方文档

     选择 Python 方式, 打开相关的操作说明, 根据指引安装 raven 模块,然后做一个简单的测试脚本 dsn 替换为创建项目的 dsn即可进行测试

    脚本代码

    dsn = ""
    
    from raven import Client
    
    client = Client(dsn)
    
    try:
        1 / 0
    except ZeroDivisionError:
        client.captureExceptions()

    测试现象

    运行测试脚本

    可见报错信息为sentry提供的相关的指引

    确实捕获到了错误日志, 以及相关的错误栈

    重复报错测试

     多次刷新脚本操作来模拟重复报错,只会引起数量变化而不会重复报错

     

    bug管理测试

    以及一些的bug相关的操作管理,分配负责人, bug状态修改删除等操作

    忽略bug测试

    排序, 筛选测试

    筛选可以基于 tag, 分配人, 以及状态等进行分类

    项目设置

     

    team 

    项目的人员分组,  django 的权限管理的部分就有 组 的概念. 并将映射在这里可供选择

    电子邮件

    配置系列的邮件名以及定制邮件发送前缀等

    客户端安全性

    配置允许发送的域名

    警报

    在警报中可以设置bug通知的发送邮件规则等

    功能集成

    bug通知不仅仅可以是发送邮件, 还可以集成到其他支持的服务比如 gitgub,gitlab 中等

  • 相关阅读:
    久违的问候-----eclipse中搭建maven项目2016年
    jdbc在mysql下一次执行多条sql脚本
    Oracle客户端连接远程Oracle服务中文乱码问题
    Hibernate 3.3.2 文档翻译 Day01
    Linux学习之Exam系统发布
    js封装用户选项传递给Servlet之考试系统二
    MySQL中的全文索引
    60分钟Python快速学习(给发哥一个交代)
    优化MySchool数据库设计之【巅峰对决】
    微冷的雨Java基础学习手记(一)
  • 原文地址:https://www.cnblogs.com/shijieli/p/10793166.html
Copyright © 2011-2022 走看看