原文地址:http://blog.shanbay.com/archives/998

或许你不太会喜欢异常,特别是那些发生后继而沉默在应用日志里那些,你不知道从何开始,因为它们看起来并非那么平易近人,但是用户吵着他的数据有问题,你只得硬着头皮在多个服务器的日志里,翻箱倒柜,试着从堆栈里发现些什么,但是毫无线索,因为你发现这根本是一桩无头命案:没有足够的上下文,不知道哪个才是这个用户的某个操作引起的异常,请求链接更无从谈起,好吧,再去nginx日志里看看吧……

但幸运的是,我们不是唯一面临这个问题的人,Disqus团队因此而开发了Sentry,它是一款精致的Django应用,目的在于帮助开发人员从散落在多个不同服务器上毫无头绪的日志文件里发掘活跃的异常,继而找到潜在的臭虫,当然这个是概述,像其他监控工具一样,sentry也是分为客户端和服务端,客户端分布在你的每个应用服务器上,在异常发生时django会通知它,继而客户端再把详细的异常信息以及相关的用户、请求数据(包括cookie和环境信息)发送到服务端,这样一来就像sentry网站上鼓吹的,它天生就是实时的了。服务端是一个http server,是接收客户端发送异常信息和相关数据,按照异常名称进行归类存储到单独的数据库中,同时提供漂亮的web界面,方便开发检索异常记录。

在扇贝网部署sentry的当周,我们开发生活就全部围绕在修复bug中——自己写的代码所产生的异常已经发生xxx次了,就摆在sentry web界面,紧急优先级排在前3名,你还不去修复?现在我们每天都会习惯性的前往sentry看看有没有发生新的异常,发布时更是紧盯着sentry这个晴雨表。这样不但可以让开发时刻关注自己的代码质量,也可以了解到一个异常就有可能是一个用户的流失,尽快地修复一个bug就可以最小化损失。

如何部署?

服务端:

1. pip install sentry
2. sentry start

客户端:

1. pip install raven
2. 在django的settings.py文件里的INSTALL_APPS加上一行:

INSTALLED_APPS = [
...
# We recommend adding the client to capture errors # seen on this server as well
'raven.contrib.django',
]

3. 将服务端机器上的sentry配置文件中的SENTRY_KEY一行复制到settings.py文件里
cat ~/.sentry/sentry.conf.py ,复制该行: SENTRY_KEY = xxxxx
4. 指定sentry服务端: SENTRY_SERVERS = ['http://your.sentry.server/sentry/store/']

Sentry Server 日志记录分析服务的更多相关文章

  1. syslog-ng日志收集分析服务搭建及配置

    syslog-ng日志收集分析服务搭建及配置:1.网上下载eventlog_0.2.12.tar.gz.libol-0.3.18.tar.gz.syslog-ng_3.3.5.tar.gz三个软件: ...

  2. Go/Python/Erlang编程语言对比分析及示例 基于RabbitMQ.Client组件实现RabbitMQ可复用的 ConnectionPool(连接池) 封装一个基于NLog+NLog.Mongo的日志记录工具类LogUtil 分享基于MemoryCache(内存缓存)的缓存工具类,C# B/S 、C/S项目均可以使用!

    Go/Python/Erlang编程语言对比分析及示例   本文主要是介绍Go,从语言对比分析的角度切入.之所以选择与Python.Erlang对比,是因为做为高级语言,它们语言特性上有较大的相似性, ...

  3. Nginx 日志记录post数据,并使用goaccess进行日志分析

    nginx日志默认不会记录post数据 在nginx配置文件的http节 log_format 日志格式标识 [escape=json] 日志格式 比如:日志格式标识设置为main,添加escape= ...

  4. RMS Server打开或关闭日志记录

    原文: https://technet.microsoft.com/zh-cn/library/cc732758 在 Active Directory Rights Management Servic ...

  5. SQL Server 请求失败或服务未及时响应。有关详细信息,请参见事件日志或其它适合的错误日志

    在打开数据库的时候,突然出现异常错误,然后我去关闭sql server 服务,然后重启服务的时候,不能重启,出现以下错误 “请求失败或服务未及时响应.有关详细信息,请参见事件日志或其它适合的错误日志” ...

  6. SSAS(SQL Server 分析服务)、***S(SQL Server报表服务)、SSIS(SQL Server集成服务)

    一.数据仓库入门 实验手册 1. 创建数据源  http://jimshu.blog.51cto.com/3171847/13366622. 创建数据源视图 http://jimshu.blog.51 ...

  7. PHP中错误与异常的日志记录用法分析

    原文:http://www.jb51.net/article/89548.htm ----------------------------------------------------------- ...

  8. [译]SQL Server分析服务的权限配置

    简介: 本文介绍如何配置SSAS数据库和cube相关维度的安全设置. 相对数据引擎来说,在Management Studio中配置分析服务的安全设置基本没什么区别.但是也会有一些限制,比如SSAS的权 ...

  9. 【译】手动处理Team Foundation Server 2010 数据仓库和分析服务数据库

    原贴地址:Manually Processing the Team Foundation Server 2010 Data Warehouse and Analysis Services Databa ...

随机推荐

  1. 【转】Angularjs Controller 间通信机制

    在Angularjs开发一些经验总结随笔中提到我们需要按照业务却分angular controller,避免过大无所不能的上帝controller,我们把controller分离开了,但是有时候我们需 ...

  2. Tomcat- java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addServlet

    在MyEclipse中启动Tomcat的时候报错: java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addServ ...

  3. 修改docker默认172.17网段

    docker启动时默认使用172.17.x.x作为容器的ip地址,可以通过以下方法自定义该网段: sudo service docker stop通过命令route -n查看docker0是否存在,若 ...

  4. 在Iframe框架下如何跳转到登录界面

    在Iframe框架下跳转到登录界面总会跳到子界面中,类似于下图 试用Respon.Redirect()不行, 用Js函数,但我跳转代码都是写在cs文件中的,用Respose.write(),js函数根 ...

  5. UIViewAnimationOptions类型

    一个非常强大的博客 http://www.cnblogs.com/kenshincui/    像我这种新手确实应该多看看   常规动画属性设置(可以同时选择多个进行设置) UIViewAnimati ...

  6. 介绍TableView非常不错的一篇文章

    原文:http://blog.csdn.net/fanxiaochuan/article/details/11332775 介绍TableView非常不错的一篇文章: http://www.cocoa ...

  7. MySQL增删改查的常用操作指令总结

    总结: 1.数据库操作: 创建库: create database db_name; 查询库: show databases; //显示所有的数据库 show create databases db_ ...

  8. 330. Patching Array--Avota

    问题描述: Given a sorted positive integer array nums and an integer n, add/patch elements to the array s ...

  9. 当INPUT 连续输入是连续触发

    在 Web 开发中经常会碰到需要动态监听输入框值变化的情况,如果使用 onkeydown.onkeypress.onkeyup 这个几个键盘事件来监测的话,监听不了右键的复制.剪贴和粘贴这些操作,处理 ...

  10. php 钩子函数原理 解析

    目前对钩子的理解:<转载:http://www.cnblogs.com/del/archive/2008/02/25/1080825.html> 譬如我们用鼠标在某个窗口上双击了一次, 或 ...