部署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搭建前端
- ELK前端日誌分析、監控系統前端
- 分散式系統監控(五)- 日誌分析分散式
- 黑盒監控、日誌監控
- 前端監控基礎篇 — Docker + Sentry 搭建前端監控系統前端Docker
- ORACLE監控系統錯誤日誌過程Oracle
- 日誌監控
- 爬蟲日誌監控 -- Elastc Stack(ELK)部署爬蟲AST
- zabbix系統監控部署(上)
- Logstash實踐: 分散式系統的日誌監控分散式
- Mysql事件監控日誌MySql事件
- 前端異常監控之 Sentry的部署和使用前端
- 常見日誌、抓包和系統監控分析軟體
- Centos部署Loki日誌聚合系統CentOSLoki
- 新增橋接連線狀態監控、重構日誌系統橋接
- Linux 系統中使用 logwatch 監控日誌檔案Linux
- 用 Logwatch 工具監控 Linux 系統 Log 日誌(zt)Linux
- 小程式日誌監控工具
- DG 日誌傳輸監控
- Python監控日誌程式Python
- 03-Loki 日誌監控Loki
- Prometheus監控系統入門與部署Prometheus
- Docker部署zabbix3.2監控系統Docker
- 伺服器監控系統部署文件伺服器
- Sentry Web 效能監控 - MetricsWeb
- ELK 日誌分析系統 ----------- 部署ElasticSearch群集Elasticsearch
- Sentry 監控 - 私有 Docker Compose 部署與故障排除詳解Docker
- 伺服器監控系統部署與配置伺服器
- [原創]效能監控之大型日誌分析和監控系統,助力提升效能測試的有效手段
- Grafana、Prometheus、mtail-日誌監控GrafanaPrometheusAI
- ELK監控nginx日誌總結Nginx
- 總部系統內控統一運維日誌系統運維
- 基於AWS-ELK部署系統日誌告警系統
- Sentry Web 效能監控 - Web VitalsWeb
- ElasticSearch實戰-日誌監控平臺Elasticsearch
- Zabbix如何監控Oracle的告警日誌Oracle