IT技术博客大学习 共学习 共进步

Sentry: 错误日志集中管理

idv2 2013-03-03 23:33:40 浏览 5,321 次

Sentry是个很好用的错误日志服务器,可以将程序错误的详细情况集中捕获,并提供一个很漂亮的Web界面来浏览错误。 Sentry本身是用python写的,但它支持python、php、ruby、iOS等多种语言。

要使用Sentry,你需要一台服务器来运行Sentry服务器,然后需要在代码中插入Sentry客户端的代码。服务器安装方法如下:

$ sudo pip install sentry

目前(2013/1/22)安装过程中可能会发生找不到某些依赖的情况,比如无法安装Django-1.4.3等, 可能需要手工下载Django-1.4.3的代码、编译安装后再重新执行上述命令。

我遇到的另一个问题是,代码使用的是django-1.3,而sentry要求django-1.4,而且我打算在应用服务器上运行sentry, 所以不得不使用virtualenv来安装sentry。

装好之后需要使用以下命令建立配置文件:

$ mkdir ~/.sentry$ sentry init ~/.sentry/sentry.conf.py

然后打开~/.sentry/sentry.conf.py,按照需要修改。我在SENTRY_WEB_OPTIONS中加了一项daemon: True, 使sentry以daemon模式运行。

然后启动sentry服务器即可。

$ sentry start

执行该命令会让你输入管理帐号和密码。

用浏览器访问 http://localhost:9000/,即可看到sentry的Web界面。登录之后建立一个项目,然后即可配置客户端。 对于使用django框架的项目,客户端可以如下配置:

$ sudo pip install raven       # 如果项目和sentry位于不同服务器,可能需要安装raven

打开django的settings.py,加入:

SENTRY_DSN = 'xxxxxxx'         # 在sentry的Web界面中建立项目后即可查看                               # for django的配置文档,从中可以找到`SENTRY_DSN`的值INSTALLED_APPS = {    ....    'raven.contrib.django',    # 加入这一行    ....}

这样django项目中产生的异常就都会集中到sentry服务器上了。

如果不想自己搭建sentry服务器,还可以使用官方提供的服务,价格也不算太高。

建议继续学习

  1. server日志的路径分析 (阅读 11,140)
  2. AWStats简介:Apache/Windows IIS的日志分析工具的下载,安装,配置样例和使用(含6.9中文定义补丁) (阅读 9,960)
  3. 利用脚本分析日志并利用snmp自定义OID,再通过cacti画图 (阅读 9,921)
  4. tomcat catalina.out日志切割每天生成一个文件 (阅读 9,121)
  5. 分布式日志系统scribe使用手记 (阅读 8,840)
  6. AWStats是一个基于Perl的WEB日志分析工具。 (阅读 7,040)
  7. 使用nginx记日志 (阅读 6,602)
  8. 在 shell 脚本里打日志 (阅读 6,044)
  9. 大于2GB的Listener.log和运行超过198天的主机上的Oracle实例 (阅读 5,740)
  10. 多服务器的日志合并统计――apache日志的cronolog轮循 (阅读 5,021)