在Django Web应用程序中使用Sentry实时监控软件错误入门教程

aweilark 2019-11-11

在Django Web应用程序中使用Sentry实时监控软件错误入门教程

大家好,欢迎来到此Python/Django系列教程,我的名字是Henry Mbugua,我将使用Sentry带您浏览一下帮助所有软件开发团队实时发现并优先处理错误的监控应用程序的各个方面和新的解决办法。

应用程序错误问题说明

大多数软件开发人员主要依赖于应用程序在开发过程中产生的错误日志。有时,开发人员会使用编写的单元测试来分析所写代码的状态,但是对现代软件开发实践来说,仅依赖日志并不能解决问题,特别是在已经投入生产的应用程序中。

对于移动应用程序,如果用户碰巧在您的应用程序中发现了一个错误,他们就会卸载该应用程序,并在应用程序商店中给您一个坏的评级。太多的应用程序仍然依赖于过时的方法来查找错误,并且仍然必须通过人眼进行分析,这使得修复错误变得非常困难,并且更多的时间被浪费在挖掘日志和依赖用户报告问题上。这里有一个更好的方法。

使用Sentry监控Django应用程序

错误监控工具是现代开发工具箱的重要组成部分。在问题被报告之前解决它是高质量软件开发的下一个迭代。在这节课中,我们将使用Sentry,它是许多可用的自动化工具之一。

如果您已经准备好进行错误监控,请在这里注册一个Sentry帐户。这是一个Sentry注册页面的截图。

在Django Web应用程序中使用Sentry实时监控软件错误入门教程

Sentry注册

Sentry为您提供了不同的注册选项,您可以使用Github账号、Azure DevOps账号,也可以直接填写表单。如果您已经有了一个账户,您可以在这里登录到Sentry。我已经有一个帐户,这是一个我的Sentry仪表板屏幕截图。

在Django Web应用程序中使用Sentry实时监控软件错误入门教程

Sentry错误列表

在本教程中,我们将在Sentry仪表板上创建一个新项目。在左侧导航栏中,单击Projects链接。您会看到以下截图:

在Django Web应用程序中使用Sentry实时监控软件错误入门教程

Sentry创建项目

在右上角,单击“创建项目”。您将得到以下截图:

在Django Web应用程序中使用Sentry实时监控软件错误入门教程

Sentry选择项目类型

Sentry允许您选择您正在处理的项目类型,在本例中,我们正在处理Django应用程序。我已经选择了Django并将我的项目命名为Mpesa API,我所要做的就是点击“创建项目”按钮。在Sentry成功创建了我的项目之后,我被带到下面的页面,在那里我得到了一个快速入门指南。以下是一个截图:

在Django Web应用程序中使用Sentry实时监控软件错误入门教程

Sentry快速配置指南

太棒了,现在我们已经创建了我们的项目。下一步是将Django应用程序配置为使用Sentry。

配置Django应用程序以使用Sentry

在本教程中,我们假设您已经准备好了一个Django应用程序,在我的例子中,我将使用此Mpesa-Api项目,它是Hlab博客上的系列教程之一。在您喜欢的IDE中打开您的Django项目。

步骤1:

我们将在我们的Python虚拟环境中安装sentry-SDK,或者在您的Django项目运行的环境(您的python环境)中安装sentry-SDK。打开终端,运行以下命令:

在Django Web应用程序中使用Sentry实时监控软件错误入门教程

下面是我运行上述命令后的终端输出:

在Django Web应用程序中使用Sentry实时监控软件错误入门教程

Sentry SDK安装

从终端中,我们可以知道Sentry已经成功安装。下一步是编辑我们的Django settings.py文件,并确保它有以下代码:

在Django Web应用程序中使用Sentry实时监控软件错误入门教程

在Django Web应用程序中使用Sentry实时监控软件错误入门教程

在Django Web应用程序中使用Sentry实时监控软件错误入门教程

让我们来理解一下我们刚刚在我们的settings.py底部添加的代码,我们添加了以下内容:

  1. 第124行——我们导入了sentry SDK。
  2. 第125行——我们从sentry SDK导入了DjangoIntegration模块。
  3. 第127行到第130行——我们将integraion初始化到sentry web门户或仪表板。
  4. 第128行——我们定义了一个名为dsn的变量,这是我们传递为我们的项目创建的sentry URL的地方。此URL对于在 sentry上创建的每个项目来说都是唯一的。
  5. 第129行——我们定义了一个名为integrations的变量,并传递了我们从sentry导入的DjangoIntegration模块。

下一步是通过创建一个触发错误的路由来验证我们的sentry安装正在工作:

打开主django urls.py文件,并添加以下代码:

在Django Web应用程序中使用Sentry实时监控软件错误入门教程

让我们来看看我们添加的代码:

  1. 第5行到第6行——我们定义了一个名为trigger_error的方法,在这个方法中,我们试图将一个数字除以0。这应该会抛出一个错误,因为数学原理不允许这种情况发生。
  2. 第12行—我们定义了一个调用该方法的URL。

下一步是对此进行测试,通过使用以下命令确保您的开发服务器正在运行:

在Django Web应用程序中使用Sentry实时监控软件错误入门教程

在您的浏览器上导航到http://127.0.0.1:8000/sentry-debug,您将得到以下错误:

在Django Web应用程序中使用Sentry实时监控软件错误入门教程

Python回溯错误

当您回到sentry仪表板时,您将在问题部分看到以下内容。

在Django Web应用程序中使用Sentry实时监控软件错误入门教程

Sentry错误详细信息

Sentry将提供一个有关所遇到问题的全面的细节。详细信息如哪个浏览器、操作系统、何时发生错误、为每个错误事件发送一个电子邮件以及哪个URL被调用了。Sentry甚至会将您指向导致该错误的实际行:看看下面的截图:

在Django Web应用程序中使用Sentry实时监控软件错误入门教程

Sentry更多的错误细节

任务

Sentry提供了非常全面的关于如何充分利用此平台的文档。了解更多关于sentry的信息,“最好的情况是,用户和日志提供线索。Sentry提供解决方法”。

在本课中要达到的目标

以下是本课已经达到的目标:

  1. 我们已经学习了为什么我们需要一个自动化错误监控工具的原因。
  2. 我们已经学习了如何在Sentry上注册并创建一个项目
  3. 我们已经学习了如何使用Sentry配置Django项目

结论

在软件开发中,应用程序错误是不可避免的,但是控制由修复软件漏洞而产生的混乱的能力却可以通过适当的错误监控工具(如Sentry)来进行管理。软件错误日志可以用于审计,而sentry可用于实时自动化。

英文原文:https://blog.hlab.tech/a-step-by-step-tutorial-on-how-to-monitor-software-errors-in-real-time-using-sentry-in-django-web-applications/
译者:Nothing

相关推荐

inspuryhq / 0评论 2020-07-28