Sentry错误日志监控你会用了吗?

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

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

关于日志管理

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

Sentry的优点

Sentry是一个集中式日志管理系统。它具备以下优点:

  1. 多项目,多用户
  2. 界面友好
  3. 可以配置异常触发规则,例如监控到程序出现异常后发送邮件
  4. 支持主流语言接口,本篇博客值介绍在python中的应用,其他语言自行阅读官方文档

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

安装和使用

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

本地部署官方文档

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

1、注册新账号

官网地址

注册新账号地址

Sentry免费版可用功能:

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

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

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://[email protected]/我的")  # 注册账号后在文档中自动生成

4、捕捉你的第一个异常

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

division_by_zero = 1 / 0

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

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://[email protected]/我的",
    integrations=[DjangoIntegration()]
)

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

from django.urls import path

def trigger_error(request):
    division_by_zero = 1 / 0

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

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

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

原文地址:https://www.cnblogs.com/sui776265233/p/11348169.html

时间: 2024-08-09 22:44:59

Sentry错误日志监控你会用了吗?的相关文章

Docker手动搭建sentry错误日志系统

Sentry介绍 在开发过程中,我们通过debug来排查bug,并且使用logging来记录系统的错误.但是logging有很多不足: 必须登陆到服务器查看日志文件 需要主动去查询 输出日志方式无法把门,无法统一管理 为什么要使用sentry: 多项目管理.多用户 可以配置异常规则 支持主流语言接口 Sentry部署 安装Docker 下载rpm包 sudo yum install docker.rpm 安装docker-compose sudo yum install epel-release

一种轻量级的微信小程序日志监控的方法

今天一个活动要写个H5,明天一个功能要用小程序,天天都在写bug.用户反馈小程序用起来有问题还特么还不知道到底出了啥bug,反馈多了,老板要扣工资了!看来挖了太多坑不填也不行,程序异常还是要主动追踪,今天给大家介绍一个轻量级的错误日志监控服务Fundebug. Fundebug的小程序监控插件接入简单,只需要下载相应的插件文件,然后在app.js文件中引入并配置apikey即可.唯一要注意的就是微信需要设置request合法域名这一点不能忘记了. 1. 创建微信小程序监控项目 需要注册账号,点击

MS SQL 监控错误日志的告警信息

SQL Server的错误消息(Error Message)按照消息的严重级别一共划分25个等级,级别越高,表示严重性也越高.但是如果你统计sys.messages,你会发现,实际上只有16(SQL SERVER 2008/2012)或17个(SQL SERVER 2005)个级别.猜测应该是一些留作扩展用,一些留作用户自定义错误消息的级别. sys.messages中有个字段is_event_logged,取值为1时表示出现错误时将消息记入事件日志. 对于 message_id 中的所有消息语

2. SQL Server数据库状态监控 - 错误日志

无论是操作系统 (Unix 或者Windows),还是应用程序 (Web 服务,数据库系统等等) ,通常都有自身的日志机制,以便故障时追溯现场及原因.Windows Event Log和 SQL Server Error Log就是这样的日志, PS: SQL Server 中的错误日志 (Error Log) 类似于 Oracle中的alert 文件. 一. 错误日志简介 1. Windows事件日志与SQL Server 错误日志 Windows事件日志中,应用程序里的SQL Server和

SQL Server自动化运维系列——监控磁盘剩余空间及SQL Server错误日志(Power Shell)

原文:SQL Server自动化运维系列--监控磁盘剩余空间及SQL Server错误日志(Power Shell) 需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的检测等.如果发生异常,需要提前预警的,通知形式一般为发邮件告知. 在所有的自检流程中最基础的一个就是磁盘剩余空间检测.作为一个高效的DBA不可能每天都要上生产机上查看磁盘剩余或者直到磁盘无剩余空间报错后才采取扩容措施. 当然,作为微软的服务器有着自己的监控软件:SCCM(System Center

搭建前端监控系统(二)JS错误日志收集篇

===================代码展示================    监控系统地址: Demo地址                          页面探针代码: GitHub地址             分析后台地址: GitHub地址                        展示平台地址: GitHub地址                        ===================代码展示================ 对于前端应用来说,Js错误的发生直接

监控错误日志关键字

关于zabbix的错误日志关键词报警 首先给予日志文件权限 chmod 777 error.log 名称:自定义 类型:zabbix端点代理程序 主动    注意要修改zabbix_agentd.conf主动模式 键值:log[/home/log/errot.log] 数据类型 日志 日志时间格式:yyMMddphh:mm:ss -----------触发器------------ (({web-111:log[/data/log/error.log].regexp(Failure)})#0)

如何使用ARMS配置tengine的日志监控

来自 深圳市小亿网络有限公司 王昕岩 的撰稿 最近公司通过阿里云的业务实时监控服务 ARMS成功搭建了基于tengine的日志监控系统.这里简单分享一下使用[font=&quot]ARMS用于监控[font=&quot]tengine日志的经验.[font=&quot] 公司发展至今,现阶段所有接口都使用阿里的tengine作为web容器,类似nginx,在日志中也记录了包括host,url, ip, 包体大小,响应时长等信息.目前的业务需求场景是希望有一套系统来监控接口的异常,来

如何使错误日志更加方便排查问题

在程序中打错误日志的主要目标是为更好地排查问题和解决问题提供重要线索和指导.但是在实际中打的错误日志内容和格式变化多样,错误提示上可能残缺不全.没有相关背景.不明其义,使得排查解决问题成为非常不方便或者耗时的操作.而实际上,如果编程的时候稍加用心,就会减少排查问题的很多无用功. 在阐述如何编写有效的错误日志之前, 了解错误是怎么产生的,  非常重要. 错误是如何炼成的 对于当前系统来说, 错误的产生由三个地方引入: 1.  上层系统引入的非法参数. 对于非法参数引入的错误, 可以通过参数校验和前