不管你用什么编程语言,都会面临如何处理错误日志的问题。很多程序员对错误日志放任自流,直到出现故障了才追悔莫及,如果问小编怎么办,我会给你推荐 Sentry!

什么是Sentry?

无论测试如何完善的程序,bug总是免不了会存在的,有些bug不是每次都会出现,测试时运行好好的代码可能在某个用户使用时就歇菜了,可是当程序在用户面前崩溃时,你是看不到错误的,当然你会说:“Hey, 我有记日志呢?”

但是说实话,程序每天每时都在产生大量的日志,而且分布在各个服务器上,并且如果你有多个服务在维护的话,日志的数量之多你是看不过来的吧。等到某天某个用户实在受不了了,打电话来咆哮的时候,你再去找日志你又会发现日志其实没什么用:缺少上下文,不知道用户什么操作导致的异常,异常太多(从不看日志的缘故)不知如何下手 等等。

Sentry就是来帮我们解决这个问题的,它是一款精致的Django应用,目的在于帮助开发人员从散落在多个不同服务器上毫无头绪的日志文件里发掘活跃的异常,继而找到潜在的“臭虫”。

Sentry是一个日志平台, 它分为客户端和服务端,客户端(目前客户端有Python, PHP,C#, Ruby等多种语言)就嵌入在你的应用程序中间,程序出现异常就向服务端发送消息,服务端将消息记录到数据库中并提供一个web节目方便查看。Sentry由python编写,源码开放,性能卓越,易于扩展,目前著名的用户有Disqus, Path, mozilla, Pinterest等。

为什么使用Sentry?

多项目,多用户

界面友好

可以配置异常出发规则,例如发送邮件

支持主流语言接口

Sentry的权限介绍

Sentry目前用户类型有四种: 超级管理员, 管理员,普通用户和System agents. 超级用户只能通过命令行来创建,其他用户可以自己注册或由其他用户邀请注册加入,然后由超级管理员或管理员分配项目和权限。为了更好支持团队协助以及信息安全,

所谓Team就是一个团队,一些用户组织在一起对某些项目有操作权限的组织。一个项目只能属于一个Team, 一个用户却可以属于多个Team, 并可在不同Team中扮演不同角色, 如用户A在Team X是管理员而在Team Y中是System agents. Sentry对用户角色的指定只能到Team级别,不能到Project级别, 所以将某个用户加入到某个Team之后,这个用户就对所有所有属于这个Team下所有project有了相同的权限。

Sentry的如此设计虽说不够细致,但我们使用时只要遵照现实世界的情况来划分Team和project即可。比如我们目前有一个团队,这个团队负责两个项目,我们在Sentry上就建立一个Team A和属于这个Team的project a和project b. 当在使用过程中我们发现project b的等级较高,不能让所有人都可以看到信息,我们可以建立一个虚拟Team B,然后将project b的team 改Team B, 然后再给Team B添加用户和相应权限即可. Sentry对team的owner, project的owner, project属于的team 等等实体关系的修改都极为简单,没有副作用。

  • 下面简单介绍一下Sentry中各个类型用户的权限:

超级管理员: 能创建各种用户, team和project只能由超级管理员创建。项目的一些设置比如改变Owner, 数据公开可见与否(设为public的数据可以通过url不登陆也能查看)以及客户端domain限制的设定。另外还有管理项目的api key(客户端只有得到此api key才能向Sentry发送消息)的权限等等。

管理员: 能创建用户, team和项目设定中除改变owner之外的权限, 可以对项目中具体数据做resolve, bookmark, public/public和remove操作。

普通用户: 无Team界面,只能对项目中具体数据做resolve, bookmark, public/unpublic和remove操作。

System agents: 无Team界面,只能对项目中具体数据做bookmark, unpublic和remove操作。

  • Sentry的权限和实体设置基本可以满足现实的需求:

1、如果一个团队负责多个项目,可以通过一个Team多个项目方式来实现。

2、如果一个人参与多个团队, 可以将该用户添加到多个team中去。

3、一个team或project设置相应的Owner,则可以由此人负责该team或project内的活动。(唯一的缺点是team owner不可以创建project)

4、一个team或项目的分工应该是有一个管理者来设定项目的基本设定,管理api key, 并将api key分发给项目开发者,项目开发者以普通用户身份登陆Sentry查看错误和resolve错误, 运维以System agents身份登陆Sentry查看系统运行状态。

你是否已经开始找Sentry的下载资源了?别急,在好雨·云市就可以找到Sentry,而且不仅免费试用,还可以无需安装一键使用,你还在等什么?扫描下方二维码或点击“阅读全文”马上使用Sentry吧!

转载于:https://blog.51cto.com/12119981/1862746

实时事件日志记录和聚合的平台——Sentry相关推荐

  1. windows log日志分割_如何将日志记录到 Windows事件日志 中

    每当出现一些未捕获异常时,操作系统都会将异常信息写入到 Windows 事件日志 中,可以通过 Windows 事件查看器 查看,如下图: 这篇文章将会讨论如何使用编程的方式将日志记录到 Window ...

  2. 开启系统事件监视服务器,Windows 系统事件日志监视软件和日志收集器 | SolarWinds...

    什么是 Windows 事件日志? Windows 事件日志是 Microsoft 系统中事务的记录.网络中的所有设备和服务都生成日志,其中包括错误和问题报告,以及成功的事务和交互记录.Windows ...

  3. ASP.NET MVC的最佳日志记录库

    目录 介绍 4个日志记录库 log4net Log4net记录文本文件中 Log4net记录到数据库中 NLOG Nlog日志记录在文本文件中 NLog日志记录到数据库中 Serilog Serilo ...

  4. 查看ssis执行日志_SSIS包日志记录概述

    查看ssis执行日志 This article gives an overview of the different methods of SQL Server SSIS Package Loggin ...

  5. 逃避日志记录攻击过程

    简述 windows事件日志简介:Windows 系统日志是记录系统中硬件.软件和系统问题的信息,同时还可以监视系统中发生的事件.用户可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹 ...

  6. 双十一|又快又稳!闲鱼实时事件规则计算驱动平台

    闲鱼双十一金鳞抽奖玩法 相信今年在11月7日-11月11日期间使用过闲鱼的用户,可能已经被如下图所示的幸运海星"砸"到过了.只要用户进入到指定的几个页面,或者在某些指定的页面有点击 ...

  7. 事件溯源|日志记录-一个基础的微服务模式

    导语: 微服务架构目前是各互联网系统架构的首选,在使用微服务的过程中,调试一个分布式系统是一项具有挑战的任务, 事件溯源是一种非常好的方式来解决微服务可见性的一种手段.且看大名鼎鼎的couchbase ...

  8. 重新定义分析 - EventBridge实时事件分析平台发布

    作者:肯梦 对于日志分析大家可能并不陌生,在分布式计算.大数据处理和 Spark 等开源分析框架的支持下,每天可以对潜在的数百万日志进行分析. 事件分析则和日志分析是两个完全不同的领域,事件分析对实时 ...

  9. Net Core平台灵活简单的日志记录框架NLog+Mysql组合初体验

    Net Core平台灵活简单的日志记录框架NLog初体验 前几天分享的"[Net Core集成Exceptionless分布式日志功能以及全局异常过滤][https://www.cnblog ...

最新文章

  1. 零基础入门学习Python(6)-常用操作符
  2. Java Review - 并发编程_LinkedBlockingQueue原理源码剖析
  3. json保存格式标准化的小trick,使用indent参数
  4. 计算机验证型数学实验报告,精心设计论文,关于精心设计数学实验培养学生数学能力相关参考文献资料-免费论文范文...
  5. PHP常用数组函数(含按键值删除二维数组中的元素)
  6. 交换机配置——VTP管理交换机的VLAN配置
  7. Java的Covariance设计原理和SAP ABAP的模拟实现
  8. list python 转tensor_Tensorflow模型量化4 --pb转tflite(uint8量化)小结
  9. 前端学习(520):圣杯布局
  10. python中while语句的用法_全面解析Python的While循环语句的使用方法
  11. MS CRM 2011的自定义与开发(2)——预备知识
  12. tinymce中粘贴word文本时保留格式
  13. C语言数字转换为字符的问题
  14. 两种云原生技术在弹性计算的使用、原理和思考
  15. 西门子s7删除注册表,西门子S7200编程软件卸载步骤
  16. Vue H5微信分享功能实现
  17. 八段数码管动态显示(输入数据为BCD编码)
  18. 武汉市10月双软认定好处、认定条件及9月认定名单公示
  19. 关于节日文化的HTML网页设计-----二十四节气
  20. 如何在博客园中自定义背景

热门文章

  1. 设计模式练习_设计练习是邪恶的
  2. 获取当前Tomcat实例的端口
  3. OSChina 周日乱弹 —— 我叫张一条
  4. Python-循环控制--个人课堂笔记
  5. 使用log4Net 输出日志到mongodb
  6. js 错误/异常处理
  7. 分享10个2012年最新发布的jQuery插件
  8. 关于wpf,datagrid,双向数据绑定用法解决方案
  9. Activity的呼叫转移*(3个Activity之间的跳转)
  10. springboot入门(一)--快速搭建一个springboot框架