部署Sentry日誌監控系統

roc_guo發表於2022-08-28
導讀 Sentry是程式的哨兵,它可以監控我們在生產環境中專案的執行狀態,一旦某段程式碼執行報錯,或者異常,會第一時間把報錯的路由,異常檔案,請求方式 等一些非常詳細的資訊以訊息或者郵件給我們,讓我們第一時間知道:程式出錯了,然後我們可以從Sentry給我們的詳細的錯誤資訊中瞬間找到我們需要處理的程式碼,從而快速地修復Bug。

部署Sentry日誌監控系統部署Sentry日誌監控系統

Sentry簡介

在程式的開發過程中,程式碼執行時難免會丟擲異常,而且專案在部署到測試、生產環境後,我們便不可能像在開發時那樣容易的及時發現處理錯誤了。

一般我們都是在錯誤發生一段時間後,錯誤資訊才會傳遞到開發⼈員那裡,然後一頓操作檢視程式執行的日誌,但是往往我們會因為日誌中缺少上下文關係,導致很難分析真正的錯誤是什麼。

Sentry由此應運而生成為了解決這個問題的一個很好的工具,設計了諸多特性幫助開發者更快、更方便、更直觀的監控錯誤資訊。

Sentry是什麼?Sentry是程式的哨兵,它可以監控我們在生產環境中專案的執行狀態,一旦某段程式碼執行報錯,或者異常,會第一時間把報錯的路由,異常檔案,請求方式 等一些非常詳細的資訊以訊息或者郵件給我們,讓我們第一時間知道:程式出錯了,然後我們可以從Sentry給我們的詳細的錯誤資訊中瞬間找到我們需要處理的程式碼,從而快速地修復Bug。

Sentry是一個集中式日誌管理系統,它具備以下優點:

  • 多專案,多使用者
  • 介面友好
  • 可以配置異常觸發規則,例如監控到程式出現異常後傳送郵件
  • 支援多種主流語言和框架,如 React、Angular、Node、Django、PHP、Android、.NET、JAVA等
  • Sentry目前支援的語言和框架眾多,下面展示一部分:

    部署Sentry日誌監控系統部署Sentry日誌監控系統

    Sentry部署

    sentry分為收費版和免費自建版,本文主要是介紹免費版。官方提供了docker-compose,也是它推薦的部署方式,參考地址。部署要求如下:

Docker 19.03.6+
Compose 1.28.0+
Python 3
4 核
8 GB 記憶體
20 GB 可用磁碟空間

本篇僅介紹在ubuntu18.04下的安裝。

1、安裝docker
sudo apt-get remove docker docker-engine docker-ce docker.io
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] (lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install -y docker-ce
sudo systemctl start docker
2、安裝docker-compose
sudo apt-get install python-pip
sudo pip install docker-compose
3、安裝git
sudo apt-get update -y
sudo apt install git
4、sentry部署]/erji]

git clone .git
cd onpremise
sudo ./install.sh
安裝期間定義使用者名稱和密碼
Email:[xxxxxxxx@qq.com](mailto:326968597@qq.com)
Pawword:xxxxxx

[erji]5、啟動

`sudo docker-compose up -d`
6、登入sentry客戶端

開啟瀏覽器輸入:,即可顯示如下圖:

部署Sentry日誌監控系統部署Sentry日誌監控系統

Sentry使用

本篇僅介紹在django中的應用,其它語言自行閱讀官方文件。

1、安裝依賴
pip install --upgrade sentry-sdk
2、在settings.py中配置
import sentry_sdk
from sentry_sdk.integrations.django import DjangoIntegration
sentry_sdk.init(
    dsn="
    integrations=[DjangoIntegration()],
    traces_sample_rate=1.0,
    send_default_pii=True,
)
3、驗證您的 Sentry 安裝
from django.urls import path
def trigger_error(request):
  division_by_zero = 1 / 0
urlpatterns = [
  path('sentry-debug/', trigger_error),
]

新增完成之後我們訪問這個路由,我們可以在Sentry後臺看到告警資訊如下圖:

部署Sentry日誌監控系統部署Sentry日誌監控系統

原文來自:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2912318/,如需轉載,請註明出處,否則將追究法律責任。

相關文章