错误日志收集sentry的安装与简单使用

通过官方文档https://docs.sentry.io/可以得知,安装服务有两种方式,一种是使用Python,这种方式个人感觉比较麻烦。于是选择了第二种方式:使用docker。

我是在Windows上使用的docker,前后执行了如下命令:

1. 获取redis、postgres、sentry。sentry对redis和postgres的版本有要求,不能使用太低版本的。

docker pull redis
docker pull postgres
docker pull sentry

2.启动redis和postgres。
docker run -d --name sentry-redis redis
docker run -d --name sentry-postgres -e POSTGRES_PASSWORD=secret -e POSTGRES_USER=sentry postgres
docker run --rm sentry config generate-secret-key
#上一行得到secret-key,然后把key复制到下面四行的单引号中。

3. 启动sentry。
docker run -it --rm -e SENTRY_SECRET_KEY='<secret-key>' --link sentry-postgres:postgres --link sentry-redis:redis sentry upgrade
docker run -d -p 9000:9000 --name my-sentry -e SENTRY_SECRET_KEY='<secret-key>' --link sentry-redis:redis --link sentry-postgres:postgres sentry
docker run -d --name sentry-cron -e SENTRY_SECRET_KEY='<secret-key>' --link sentry-postgres:postgres --link sentry-redis:redis sentry run cron
docker run -d --name sentry-worker-1 -e SENTRY_SECRET_KEY='<secret-key>' --link sentry-postgres:postgres --link sentry-redis:redis sentry run worker
完成后,在浏览器中输入http://192.168.99.100:9000 即可访问。

在上面某一步中会有要求输入账号密码,输入即可,输入的账号密码可以在页面上直接登录。

登录进去后,会有个默认的Internal项目,在该项目的setting中可以获取到客户端需要的DSN地址。

当然也可以添加自己的project和team。

 

sentry的客户端支持以下语言:Python JavaScript PHP Ruby Objective-C Java Cocoa C# Go Elixir

Java语言又支持 'Raven'  'Log4j'  'Log4j 2'  'Logback'  'Google App Engine'。这些信息都可以从官方文档中获取。

我使用的是logback

logback配置如下:

<appender name="Sentry" class="net.kencochrane.raven.logback.SentryAppender">
        <dsn>http://fb3db0354d984f328234b7f00edadee1:74f9b511c4ca4109916ea5907f45b50c@192.168.99.100:9000/1</dsn>
        <ravenFactory>net.kencochrane.raven.DefaultRavenFactory</ravenFactory> -->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>ERROR</level>
        </filter>
</appender>
<root level="INFO">
        <appender-ref ref="Sentry" />
</root>

这样就会把logback记录的error级别的日志发送到sentry服务端,通过页面可以即时获得。

项目中引用的客户端jar包:

<dependency>
            <groupId>net.kencochrane.raven</groupId>
            <artifactId>raven-logback</artifactId>
            <version>6.0.0</version>
</dependency>

 

参考:

https://docs.sentry.io/

https://hub.docker.com/_/sentry/

 

posted @ 2016-11-09 15:40  火光闪耀  阅读(9020)  评论(23编辑  收藏  举报