亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

搭建私有Sentry日志收集系統(tǒng)并集成到springboot

Sentry

Sentry是一種由Python編寫的跨平臺程序監(jiān)控應(yīng)用, 可以幫助你實時監(jiān)控和修復(fù)崩潰,主要關(guān)注錯誤報告。 Sentry包含一個完整的API,用于在任何應(yīng)用程序中從任何語言發(fā)送事件。

  • JAVAScript
  • React-Native
  • Python
  • Ruby
  • php
  • Go
  • Rust
  • Java
  • Objective-C/Swift
  • C#
  • Perl
  • Elixir
  • Laravel
  • ...

一、安裝Sentry

官網(wǎng)的安裝入門指南介紹

搭建私有Sentry日志收集系統(tǒng)并集成到springboot

官網(wǎng)的安裝入門指南

大概意思是先去最新發(fā)布版本倉庫下載安裝文件,將安裝文件傳到服務(wù)器上,在安裝文件目錄執(zhí)行 ./install.sh 命令安裝文件,最后執(zhí)行Docker-compose up -d啟動Sentry。Sentry默認綁定9000端口,啟動后可以在瀏覽器訪問http://ip:9000登錄Sentry可視化頁面。

服務(wù)器配置要求

  • Docker 19.03.6+ (若不知道怎么安裝我看我的另一篇文章centos7安裝docker )
  • Docker Compose 1.24.1+ (若不知道怎么安裝我看我的另一篇文章docker-compose安裝 )
  • 內(nèi)存空余4G以上(官方是2400MB,根據(jù)我實際安裝情況建議空閑4G左右)

介紹下具體安裝步驟

1.下載安裝包

去github搜索getsentry/onpremise(不方便貼鏈接),打開Releases界面下載安裝壓縮包

搭建私有Sentry日志收集系統(tǒng)并集成到springboot

getsentry/onpremise


搭建私有Sentry日志收集系統(tǒng)并集成到springboot

Releases位置


搭建私有Sentry日志收集系統(tǒng)并集成到springboot

Releases頁面下載入口

下面一個tar,gz格式的文件代表是linux系統(tǒng)的安裝文件,我們下載這個文件。

2.上傳文件后上傳目錄解壓

tar -zxvf onpremise-20.9.0.tar.gz
搭建私有Sentry日志收集系統(tǒng)并集成到springboot

安裝包解壓目錄

3.安裝Sentry

先進入進入解壓后的目錄。9000端口確保沒有被占用,如果占用的話修改docker-compose.yml文件中Nginx部分的映射端口,比如我這里修改成了19000端口

搭建私有Sentry日志收集系統(tǒng)并集成到springboot

 

安裝期間會提示輸入郵箱和密碼,隨便填比如[email protected]和密碼123456

cd onpremise-20.9.0
./install.sh

安裝成功后啟動使用docker-compose命令啟動服務(wù)(可以看到當前目錄有一個docker-compose.yml文件,若不知道怎么安裝我看我的另一篇文章centos7安裝docker docker-compose安裝 )

docker-compose up -d

啟動成功后通過docker命令docker ps可以看到一堆sentry的服務(wù)容器啟動了

搭建私有Sentry日志收集系統(tǒng)并集成到springboot

sentry服務(wù)容器

4.瀏覽器打開 ip:9000,輸入命令行填寫的郵箱密碼登錄

搭建私有Sentry日志收集系統(tǒng)并集成到springboot

 

默認界面是英文的,如果想改成中文可以在登錄后點擊左側(cè)用戶信息的下拉按鈕設(shè)置語言。有個簡體中文的選項。

搭建私有Sentry日志收集系統(tǒng)并集成到springboot

 

二、創(chuàng)建Sentry項目

1.點擊右上角創(chuàng)建項目的按鈕

搭建私有Sentry日志收集系統(tǒng)并集成到springboot

創(chuàng)建項目的按鈕

2.選擇語言,填寫項目名稱,點擊創(chuàng)建項目按鈕會跳轉(zhuǎn)到安裝項目的引導(dǎo)界面,里面有一串DSN的地址需要記下來

搭建私有Sentry日志收集系統(tǒng)并集成到springboot

選擇語言,填寫項目名稱


搭建私有Sentry日志收集系統(tǒng)并集成到springboot

dsn地址

如果不小心關(guān)了找不到這個頁面的話可以通過左側(cè)Issues問題菜單找到

搭建私有Sentry日志收集系統(tǒng)并集成到springboot

Issues問題菜單

3.拷貝下DSN,后面項目接入時需要配置該地址。

三、springboot接入Sentry

Sentry支持非常多的平臺, 要向Sentry報告,需要使用特定語言的SDK。Sentry團隊為最流行的語言構(gòu)建和維護這些系統(tǒng)。

搭建私有Sentry日志收集系統(tǒng)并集成到springboot

Sentry支持非常多的平臺

1.引入依賴

官方推薦結(jié)合日志框架一起使用,我們結(jié)合springboot自帶的logback,所以要多引入一個sentry-logback包。

<dependency>
    <groupId>io.sentry</groupId>
    <artifactId>sentry-spring-boot-starter</artifactId>
    <version>3.1.0</version>
</dependency>
<dependency>
    <groupId>io.sentry</groupId>
    <artifactId>sentry-logback</artifactId>
    <version>3.1.0</version>
</dependency>
<!--我們用@Slf4j注解來打印logback日志(非必須)-->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.12</version>
    <scope>provided</scope>
</dependency>

2.項目中配置Sentry的dsn地址

springboot的Application.yml配置文件配置sentry的dsn地址,dsn地址從上面sentry創(chuàng)建項目時可以看到,因為我們使用springboot自帶的logback結(jié)合,所以我們也配置下logback文件的路徑。

logging:
  config: classpath:logback-spring.xml

sentry:
  dsn: http://[email protected]:19000/4

3.配置logback

在resources目錄下創(chuàng)建logback-spring.xml。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <include resource="org/springframework/boot/logging/logback/defaults.xml"/>
    <include resource="org/springframework/boot/logging/logback/console-appender.xml" />
    
    <appender name="SENTRY" class="io.sentry.logback.SentryAppender" />

    <root level="info">
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="SENTRY" />
    </root>
</configuration>

4.編寫測試接口

我們建個controller類,寫個測試接口打印出五種不同級別的日志測試下

@RequestMapping("/sentry")
public String sentry(){
    log.info("測試sentry打印info日志");
    log.debug("測試sentry打印debug日志");
    log.warn("測試sentry打印warn日志");
    log.trace("測試sentry打印trace日志");
    log.error("測試sentry打印error日志");
    return "ok";
}

訪問下測試接口地址如 http://localhost:8093/sentry ,可以在Sentry的問題菜單下看到一條error的日志。

搭建私有Sentry日志收集系統(tǒng)并集成到springboot

測試sentry日志展示

5.調(diào)整推送日志級別

按上面的配置默認只推送了error級別的日志,我們可以在logback配置文件里調(diào)整推送級別,比如我們調(diào)整下logback-spring.xml內(nèi)容使得WARN日志級別就觸發(fā)推送到Sentry。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <include resource="org/springframework/boot/logging/logback/defaults.xml"/>
    <include resource="org/springframework/boot/logging/logback/console-appender.xml" />

    <appender name="SENTRY" class="io.sentry.logback.SentryAppender" >
        <minimumEventLevel>WARN</minimumEventLevel>
    </appender>

    <root level="info">
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="SENTRY" />
    </root>
</configuration>

注意了:在logback文件中配置了日志級別<minimumEventLevel>WARN</minimumEventLevel>后,項目啟動的時候日志也會推送到Sentry,比如以下是我啟動時的三條warn日志

搭建私有Sentry日志收集系統(tǒng)并集成到springboot

啟動日志

在Sentry上也能看到這三個日志(注意:有的日志會被Sentry聚合在一起,通過EVENTS列可以看到聚合了幾個事件),點擊問題里面可以看到具體的堆棧日志。

搭建私有Sentry日志收集系統(tǒng)并集成到springboot

聚合的啟動日志

再調(diào)用下測試接口,可以看到Sentry接收到了error和warn級別的兩條日志(之前測試的我們清空了重新測試)

搭建私有Sentry日志收集系統(tǒng)并集成到springboot

error和warn級別的兩條日志

擴展以下另一種方式,直接引入一個sentry-logback的包,然后在logback配置文件里配置即可

1.引入maven依賴

<dependency>
    <groupId>io.sentry</groupId>
    <artifactId>sentry-logback</artifactId>
    <version>3.1.0</version>
</dependency>

2.配置logback-spring.xml,還包含了很多配置項

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <include resource="org/springframework/boot/logging/logback/defaults.xml"/>
    <include resource="org/springframework/boot/logging/logback/console-appender.xml" />

    <appender name="SENTRY" class="io.sentry.logback.SentryAppender" >
        <options>
            <dsn>http://[email protected]:19000/4</dsn>
            <shutdownTimeout>2000</shutdownTimeout>
            <flushTimeoutMillis>15000</flushTimeoutMillis>
            <debug>false</debug>
            <maxBreadcrumbs>100</maxBreadcrumbs>
            <release>1.0.0</release>
            <environment>production</environment>
            <sampleRate>1.0</sampleRate>
            <attachThreads>false</attachThreads>
            <attachStacktrace>false</attachStacktrace>
            <serverName>host-4</serverName>
            <connectionTimeoutMillis>5000</connectionTimeoutMillis>
            <readTimeoutMillis>5000</readTimeoutMillis>
        </options>
        <!--推送日志最小級別-->
        <minimumEventLevel>WARN</minimumEventLevel> 
        <!--成為面包屑最小級別,minimumEventLevel需要小與minimumBreadcrumbLevel的級別才會推送-->
				<minimumBreadcrumbLevel>DEBUG</minimumBreadcrumbLevel>
    </appender>

    <root level="info">
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="SENTRY" />
    </root>
</configuration>

以上就是Sentry的全部內(nèi)容了,還有許多高級的功能可以自己去了解,本文做個入門介紹。

歡迎關(guān)注我,我會不定期發(fā)布一些Java、IT相關(guān)的內(nèi)容。

分享到:
標簽:日志 Sentry
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定