Sentry错误日志监控使用方法解析


Posted in Python onNovember 12, 2020

无论作为新手还是老手程序员在程序的开发过程中,代码运行时难免会抛出异常,而且项目在部署到测试、生产环境后,我们便不可能像在开发时那样容易的及时发现处理错误了。一般我们都是在错误发生一段时间后,错误信息才会传递到开发人员那里,然后一顿操作查看程序运行的日志,就熟练使用awk和grep去分析日志,但是往往我们会因为日志中缺少上下文关系,导致很难分析真正的错误是什么。

Sentry由此应运而生成为了解决这个问题的一个很好的工具,设计了诸多特性帮助开发者更快、更方面、更直观的监控错误信息。

关于日志管理

随着不断的开发应用变得越来越复杂,输出日志五花八门,有print的,有写stdout的,有写stderr的, 有写logging的,也有自定义xxx.log的。那么这将导致平台应用日志分布在各个地方,无法统一管理。而且可能用的还不止一种开发语言,想规范和统一日志不是一件容易的事。所以这也是我们为什么使用Sentry的原因,

Sentry的优点

  • Sentry是一个集中式日志管理系统。它具备以下优点:
  • 多项目,多用户
  • 界面友好
  • 可以配置异常触发规则,例如监控到程序出现异常后发送邮件
  • 支持主流语言接口,本篇博客值介绍在python中的应用,其他语言自行阅读官方文档

Sentry目前支持的语言众多,下面展示一部分:

Sentry错误日志监控使用方法解析

安装和使用

Sentry支持部署到本地服务器,本博文不做过多介绍,可参照官方文档进行部署:

本地部署官方文档

对于大所属个人和小型企业推荐使用Sentry官方提供的云服务,进行快速搭建属于自己的错误日志监控系统,只需要去官网进行注册一个Sentry账号即可

1、注册新账号

官网地址

注册新账号地址

Sentry错误日志监控使用方法解析

Sentry免费版可用功能:

  • 每月10k 错误日志上限
  • 支持所有平台和语言,功能无缩水
  • 无限项目数量,仅单用户访问,不提供团队功能

如果想享受更多功能和服务可以看这里:付费版价格策略

2、安装SDK

Sentry通过在应用程序运行时中使用SDK来捕获数据。这些是特定于平台的,允许Sentry深入了解您的应用程序的工作方式。

使用pip以下命令安装Python SDK:

pip install --upgrade sentry-sdk==0.10.2

3、配置SDK

在Sentry中完成项目设置后,您将获得一个我们称之为DSN或数据源名称的值。它看起来很像标准URL,但它实际上只是Sentry SDK所需配置的表示。它由几部分组成,包括协议,公钥,服务器地址和项目标识符。

在应用程序的设置中尽早导入并初始化Sentry SDK:

import sentry_sdk
sentry_sdk.init("https://ae5f2eaff8404dbdb2e0d75f7466449d@sentry.io/我的") # 注册账号后在文档中自动生成

4、捕捉你的第一个异常

您可以通过在应用程序中插入除以零表达式来导致Python错误:

division_by_zero = 1 / 0

在云监控系统中显示的错误信息:

Sentry错误日志监控使用方法解析

5、在django中的使用

安装:sentry-sdk

pip install --upgrade 'sentry-sdk==0.10.2'

要配置SDK,请在settings.py文件中使用Django集成对其进行初始化:

import sentry_sdk
from sentry_sdk.integrations.django import DjangoIntegration

sentry_sdk.init(
  dsn="https://ae5f2eaff8404dbdb2e0d75f7466449d@sentry.io/我的",
  integrations=[DjangoIntegration()]
)

您可以通过创建触发错误的路由轻松验证Sentry安装:

from django.urls import path

def trigger_error(request):
  division_by_zero = 1 / 0

urlpatterns = [
  path('sentry-debug/', trigger_error),
  # ...
]

访问此路由将触发程序将捕获的错误。

一旦你完成上面的配置,以后系统发生的所有错误异常都会被自动记录到Sentry,通过错误日志监控平台就可以看到对应的日常,并且一旦发生异常会发送邮件到你的邮箱,同样可以看到异常的错误描述信息,更多详细使用教程你请参照官网文档。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用Python对Csv文件操作实例代码
May 12 Python
Python入门之三角函数sin()函数实例详解
Nov 08 Python
python生成每日报表数据(Excel)并邮件发送的实例
Feb 03 Python
详解python的四种内置数据结构
Mar 19 Python
Python3+Pycharm+PyQt5环境搭建步骤图文详解
May 29 Python
python 杀死自身进程的实现方法
Jul 01 Python
matplotlib命令与格式之tick坐标轴日期格式(设置日期主副刻度)
Aug 06 Python
pygame实现打字游戏
Feb 19 Python
在Python中通过threshold创建mask方式
Feb 19 Python
浅谈selenium如何应对网页内容需要鼠标滚动加载的问题
Mar 14 Python
PyTorch加载自己的数据集实例详解
Mar 18 Python
解决导入django_filters不成功问题No module named 'django_filter'
Jul 15 Python
python 利用opencv实现图像网络传输
Nov 12 #Python
Anaconda详细安装步骤图文教程
Nov 12 #Python
Jupyter Notebook安装及使用方法解析
Nov 12 #Python
利用Python发送邮件或发带附件的邮件
Nov 12 #Python
Python如何使用ConfigParser读取配置文件
Nov 12 #Python
Python使用windows设置定时执行脚本
Nov 12 #Python
Django restful framework生成API文档过程详解
Nov 12 #Python
You might like
使用PHP实现Mysql读写分离
2013/06/28 PHP
什么是OneThink oneThink后台添加插件步骤
2016/04/13 PHP
利用javascript实现web页面中指定区域打印
2013/10/30 Javascript
js截取字符串的两种方法及区别详解
2013/11/05 Javascript
JavaScript创建一个object对象并操作对象属性的用法
2015/03/23 Javascript
javascript使用shift+click实现选择和反选checkbox的方法
2015/05/04 Javascript
实例解析JS布尔对象的toString()方法和valueOf()方法
2015/10/25 Javascript
js实现跨域的4种实用方法原理分析
2015/10/29 Javascript
NodeJS仿WebApi路由示例
2017/02/28 NodeJs
nodejs搭建本地http服务器教程
2017/03/13 NodeJs
整理关于Bootstrap列表组的慕课笔记
2017/03/29 Javascript
vue路由事件beforeRouteLeave及组件内定时器的清除方法
2018/09/29 Javascript
详解vue的数据劫持以及操作数组的坑
2019/04/18 Javascript
使用axios发送post请求,将JSON数据改为form类型的示例
2019/10/31 Javascript
jquery将信息遍历到界面上实例代码
2020/01/21 jQuery
vue项目打包后提交到git上为什么没有dist这个文件的解决方法
2020/09/16 Javascript
通过实例解析json与jsonp原理及使用方法
2020/09/27 Javascript
jquery插件实现轮播图效果
2020/10/19 jQuery
Python随机生成一个6位的验证码代码分享
2015/03/24 Python
Python中Selenium模拟JQuery滑动解锁实例
2017/07/26 Python
Python3 获取一大段文本之间两个关键字之间的内容方法
2018/10/11 Python
Anaconda配置pytorch-gpu虚拟环境的图文教程
2020/04/16 Python
pycharm 使用tab跳出正在编辑的括号(){}{}等问题
2021/02/26 Python
详解css3中dispaly的Grid布局与Flex布局
2020/09/11 HTML / CSS
德国高端单身人士交友网站:ElitePartner
2018/12/02 全球购物
Mankind美国/加拿大:英国领先的男士美容护发用品公司
2018/12/05 全球购物
美国在线医疗分销商:MedEx Supply
2020/02/04 全球购物
大学生大二自我鉴定
2013/10/28 职场文书
房产销售经理职责
2013/12/20 职场文书
创业计划书六个要素
2013/12/26 职场文书
初婚初育证明
2014/01/14 职场文书
殡葬服务心得体会
2014/09/11 职场文书
校长新学期寄语2016
2015/12/04 职场文书
python爬虫请求库httpx和parsel解析库的使用测评
2021/05/10 Python
SpringCloud超详细讲解Feign声明式服务调用
2022/06/21 Java/Android
python pandas 解析(读取、写入)CSV 文件的操作方法
2022/12/24 Python