錯誤日志收集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/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM