• 错误日志收集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/

  • 相关阅读:
    Ubuntu中设置永久的DNS
    Ubuntu上OpenStack DashBoard主题修改的方案
    OpenStack 控制台不能不能访问的问题
    树莓派2试玩
    SharpMap V1.1 For Web教程系列之——地图展示
    剑指offer12 矩阵中的路径
    flex布局中关键词整理
    浏览器缓存 强缓存 协商缓存整理
    二叉搜索树中第K小的元素
    leetcode cs-notes-树(一)【js】
  • 原文地址:https://www.cnblogs.com/qlong8807/p/6047207.html
Copyright © 2020-2023  润新知