Sentry錯誤日志監(jiān)控使用方法解析
無論作為新手還是老手程序員在程序的開發(fā)過程中,代碼運行時難免會拋出異常,而且項目在部署到測試、生產(chǎn)環(huán)境后,我們便不可能像在開發(fā)時那樣容易的及時發(fā)現(xiàn)處理錯誤了。一般我們都是在錯誤發(fā)生一段時間后,錯誤信息才會傳遞到開發(fā)人員那里,然后一頓操作查看程序運行的日志,就熟練使用awk和grep去分析日志,但是往往我們會因為日志中缺少上下文關(guān)系,導致很難分析真正的錯誤是什么。
Sentry由此應運而生成為了解決這個問題的一個很好的工具,設(shè)計了諸多特性幫助開發(fā)者更快、更方面、更直觀的監(jiān)控錯誤信息。
關(guān)于日志管理
隨著不斷的開發(fā)應用變得越來越復雜,輸出日志五花八門,有print的,有寫stdout的,有寫stderr的, 有寫logging的,也有自定義xxx.log的。那么這將導致平臺應用日志分布在各個地方,無法統(tǒng)一管理。而且可能用的還不止一種開發(fā)語言,想規(guī)范和統(tǒng)一日志不是一件容易的事。所以這也是我們?yōu)槭裁词褂肧entry的原因,
Sentry的優(yōu)點
- Sentry是一個集中式日志管理系統(tǒng)。它具備以下優(yōu)點:
- 多項目,多用戶
- 界面友好
- 可以配置異常觸發(fā)規(guī)則,例如監(jiān)控到程序出現(xiàn)異常后發(fā)送郵件
- 支持主流語言接口,本篇博客值介紹在python中的應用,其他語言自行閱讀官方文檔
Sentry目前支持的語言眾多,下面展示一部分:
安裝和使用
Sentry支持部署到本地服務器,本博文不做過多介紹,可參照官方文檔進行部署:
對于大所屬個人和小型企業(yè)推薦使用Sentry官方提供的云服務,進行快速搭建屬于自己的錯誤日志監(jiān)控系統(tǒng),只需要去官網(wǎng)進行注冊一個Sentry賬號即可
1、注冊新賬號
Sentry免費版可用功能:
- 每月10k 錯誤日志上限
- 支持所有平臺和語言,功能無縮水
- 無限項目數(shù)量,僅單用戶訪問,不提供團隊功能
如果想享受更多功能和服務可以看這里:付費版價格策略
2、安裝SDK
Sentry通過在應用程序運行時中使用SDK來捕獲數(shù)據(jù)。這些是特定于平臺的,允許Sentry深入了解您的應用程序的工作方式。
使用pip以下命令安裝Python SDK:
pip install --upgrade sentry-sdk==0.10.2
3、配置SDK
在Sentry中完成項目設(shè)置后,您將獲得一個我們稱之為DSN或數(shù)據(jù)源名稱的值。它看起來很像標準URL,但它實際上只是Sentry SDK所需配置的表示。它由幾部分組成,包括協(xié)議,公鑰,服務器地址和項目標識符。
在應用程序的設(shè)置中盡早導入并初始化Sentry SDK:
import sentry_sdk
sentry_sdk.init("https://ae5f2eaff8404dbdb2e0d75f7466449d@sentry.io/我的") # 注冊賬號后在文檔中自動生成
4、捕捉你的第一個異常
您可以通過在應用程序中插入除以零表達式來導致Python錯誤:
division_by_zero = 1 / 0
在云監(jiān)控系統(tǒng)中顯示的錯誤信息:
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()] )
您可以通過創(chuàng)建觸發(fā)錯誤的路由輕松驗證Sentry安裝:
from django.urls import path def trigger_error(request): division_by_zero = 1 / 0 urlpatterns = [ path('sentry-debug/', trigger_error), # ... ]
訪問此路由將觸發(fā)程序?qū)⒉东@的錯誤。
一旦你完成上面的配置,以后系統(tǒng)發(fā)生的所有錯誤異常都會被自動記錄到Sentry,通過錯誤日志監(jiān)控平臺就可以看到對應的日常,并且一旦發(fā)生異常會發(fā)送郵件到你的郵箱,同樣可以看到異常的錯誤描述信息,更多詳細使用教程你請參照官網(wǎng)文檔。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python創(chuàng)建exe文件的實現(xiàn)步驟
本文主要介紹了python創(chuàng)建exe文件的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-09-09淺談Pandas中map, applymap and apply的區(qū)別
下面小編就為大家分享一篇淺談Pandas中map, applymap and apply的區(qū)別,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04Python數(shù)據(jù)可視化教程之Matplotlib實現(xiàn)各種圖表實例
這篇文章主要給大家介紹了關(guān)于Python數(shù)據(jù)可視化教程之利用Matplotlib實現(xiàn)各種圖表的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起看看吧2019-01-01Windows下python3安裝tkinter的問題及解決方法
這篇文章主要介紹了Windows下python3安裝tkinter問題及解決方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2020-01-01Python過濾函數(shù)filter()使用自定義函數(shù)過濾序列實例
這篇文章主要介紹了Python過濾函數(shù)filter()使用自定義函數(shù)過濾序列實例,配合自定義函數(shù)可以實現(xiàn)許多強大的功能,需要的朋友可以參考下2014-08-08