部署Sentry日誌監控系統
在程式的開發過程中,程式碼執行時難免會丟擲異常,而且專案在部署到測試、生產環境後,我們便不可能像在開發時那樣容易的及時發現處理錯誤了。
一般我們都是在錯誤發生一段時間後,錯誤資訊才會傳遞到開發⼈員那裡,然後一頓操作檢視程式執行的日誌,但是往往我們會因為日誌中缺少上下文關係,導致很難分析真正的錯誤是什麼。
Sentry由此應運而生成為了解決這個問題的一個很好的工具,設計了諸多特性幫助開發者更快、更方便、更直觀的監控錯誤資訊。
Sentry是什麼?Sentry是程式的哨兵,它可以監控我們在生產環境中專案的執行狀態,一旦某段程式碼執行報錯,或者異常,會第一時間把報錯的路由,異常檔案,請求方式 等一些非常詳細的資訊以訊息或者郵件給我們,讓我們第一時間知道:程式出錯了,然後我們可以從Sentry給我們的詳細的錯誤資訊中瞬間找到我們需要處理的程式碼,從而快速地修復Bug。
Sentry是一個集中式日誌管理系統,它具備以下優點:
- 多專案,多使用者
- 介面友好
- 可以配置異常觸發規則,例如監控到程式出現異常後傳送郵件
- 支援多種主流語言和框架,如 React、Angular、Node、Django、PHP、Android、.NET、JAVA等
Sentry目前支援的語言和框架眾多,下面展示一部分:
sentry分為收費版和免費自建版,本文主要是介紹免費版。官方提供了docker-compose,也是它推薦的部署方式,參考地址。部署要求如下:
Docker 19.03.6+ Compose 1.28.0+ Python 3 4 核 8 GB 記憶體 20 GB 可用磁碟空間
本篇僅介紹在ubuntu18.04下的安裝。
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
sudo apt-get install python-pip sudo pip install docker-compose
sudo apt-get update -y sudo apt install git
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`
開啟瀏覽器輸入:,即可顯示如下圖:
本篇僅介紹在django中的應用,其它語言自行閱讀官方文件。
pip install --upgrade sentry-sdk
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, )
from django.urls import path def trigger_error(request): division_by_zero = 1 / 0 urlpatterns = [ path('sentry-debug/', trigger_error), ]
新增完成之後我們訪問這個路由,我們可以在Sentry後臺看到告警資訊如下圖:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901823/viewspace-2912317/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 前端異常日誌監控 – 使用Sentry前端
- 前端日誌監控平臺sentry使用 @sentry/browser @sentry/webpack-plugin前端WebPlugin
- 前端監控系統Sentry搭建前端
- 分散式系統監控(五)- 日誌分析分散式
- 前端監控基礎篇 — Docker + Sentry 搭建前端監控系統前端Docker
- 黑盒監控、日誌監控
- 爬蟲日誌監控 -- Elastc Stack(ELK)部署爬蟲AST
- 前端異常監控之 Sentry的部署和使用前端
- Mysql事件監控日誌MySql事件
- Sentry 監控 - 私有 Docker Compose 部署與故障排除詳解Docker
- Centos部署Loki日誌聚合系統CentOSLoki
- 新增橋接連線狀態監控、重構日誌系統橋接
- 03-Loki 日誌監控Loki
- 小程式日誌監控工具
- Sentry Web 效能監控 - MetricsWeb
- 伺服器監控系統部署文件伺服器
- Prometheus監控系統入門與部署Prometheus
- ELK 日誌分析系統 ----------- 部署ElasticSearch群集Elasticsearch
- Grafana、Prometheus、mtail-日誌監控GrafanaPrometheusAI
- ELK監控nginx日誌總結Nginx
- Sentry Web 效能監控 - Web VitalsWeb
- 伺服器監控系統部署與配置伺服器
- 基於AWS-ELK部署系統日誌告警系統
- Zabbix如何監控Oracle的告警日誌Oracle
- mongodb profiling慢請求監控日誌MongoDB
- 跟我一起學docker(15)--監控日誌和日誌管理Docker
- 日誌監控實踐 - 監控Agent整合Lua引擎實現多維度日誌採集
- 最新Centos7.6 部署ELK日誌分析系統CentOS
- docker筆記48-部署EFK日誌系統Docker筆記
- IT監控(進階篇):運維監控系統手把手部署教學運維
- 使用zabbix監控oracle的後臺日誌Oracle
- 如何優雅地上報前端監控日誌前端
- 日誌系統
- K8S部署WGCLOUD運維監控系統K8SGCCloud運維
- 搭建私有的前端監控服務: sentry前端
- net core3.1整合收集日誌- sentry
- 雲原生架構日誌監控最佳實踐架構
- Linux下使用GoAccess監控Nginx訪問日誌LinuxGoNginx