

Sentry日志监控系统基本介绍及部署使用
source link: https://www.51cto.com/article/716111.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.


Sentry简介
在程序的开发过程中,代码运行时难免会抛出异常,而且项目在部署到测试、生产环境后,我们便不可能像在开发时那样容易的及时发现处理错误了。
一般我们都是在错误发生一段时间后,错误信息才会传递到开发⼈员那里,然后一顿操作查看程序运行的日志,但是往往我们会因为日志中缺少上下文关系,导致很难分析真正的错误是什么。
Sentry由此应运而生成为了解决这个问题的一个很好的工具,设计了诸多特性帮助开发者更快、更方便、更直观的监控错误信息。
Sentry是什么?Sentry是程序的哨兵,它可以监控我们在生产环境中项目的运行状态,一旦某段代码运行报错,或者异常,会第一时间把报错的路由,异常文件,请求方式 等一些非常详细的信息以消息或者邮件给我们,让我们第一时间知道:程序出错了,然后我们可以从Sentry给我们的详细的错误信息中瞬间找到我们需要处理的代码,从而快速地修复Bug。
Sentry是一个集中式日志管理系统,它具备以下优点:
- 多项目,多用户
- 可以配置异常触发规则,例如监控到程序出现异常后发送邮件
- 支持多种主流语言和框架,如 React、Angular、Node、Django、PHP、Android、.NET、JAVA等
Sentry目前支持的语言和框架众多,下面展示一部分:

Sentry部署
sentry分为收费版和免费自建版,本文主要是介绍免费版。官方提供了docker-compose,也是它推荐的部署方式,参考地址https://github.com/getsentry/onpremise。部署要求如下:
- Docker 19.03.6+
- Compose 1.28.0+
- Python 3
- 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 https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(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部署
git clone https://github.com/getsentry/onpremise.git
cd onpremise
sudo ./install.sh
安装期间定义用户名和密码
Email:[[email protected]](mailto:[email protected])
Pawword:xxxxxx
`sudo docker-compose up -d`
6、登录sentry客户端
打开浏览器输入:http://ip:9000/,即可显示如下图:

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="https://xxxxxxxxxxxx.sentry.io/0",
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后台看到告警信息如下图:

Recommend
-
51
Sentry 是一个开源的实时错误报告工具,支持 web 前后端、移动应用以及游戏,支持 Python、OC、Java、Go、Node、Django、RoR 等主流编程语言和框架 ,还提供了 GitHub、Slack、Trello 等常见开发工具的集成。
-
21
Sentry 是什么?中文翻译过来是「哨兵」的意思,没错,它是程序的哨兵,它可以监控我们在生产环境中项目的运行状态,一旦某段代码运行报错、或者发生异常,会第一时间将报错的信息:页面路由、异常文件、请求方式等一...
-
6
Jitwxs 搜索SpringBoot Metrics 监控系统(1)——技术介绍Jitwxs|发表于2020-11-14|更新于2020-12-19|
-
21
前端异常监控 Sentry 的私有化部署和使用 ...
-
14
前端日志与后端日志不同,具有很强的自定义特性,不像后端的接口日志、服务器日志格式比较固定,大部分成熟的后端框架都有非常完善的日志系统,借助一些分析框架,就可以实现日志的监控与分析,这也是运维工作的一部分。 什么是ELK ELK在服务...
-
14
背景:市面上的监控系统有很多,大多收费,对于小型前端项目来说,必然是痛点。另一点主要原因是,功能通用,却未必能够满足我们自己的需求, 所以我们自给自足。 这是搭建前端监控系统的第二章,主要是介绍如何统计js报错,跟着...
-
5
docker下安装部署开源监控系统zabbix 2021年4月30日 654点热度...
-
10
日志审计系统简介什么是日志审计?综合日志审计平台,通过集中采集信息系统中的系统安全...
-
9
通过Graylog如何监控系统日志 推荐 原创 日志监控是企业监控系统里面很重要的一个环节,通过日志监控可以提前发现网络设备或者系统存...
-
7
如何用 ELK 搭建 TB 级的日志监控系统? 作者:不才陈某 2022-08-30 08:41:51 日志文件采集端我们使用 FileBeat,运维通过我们的后台管理界面化配置,每个机器对应一个 FileBeat,每个 FileBeat日志对应的 Topic...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK