日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

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

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

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

Sentry

Sentry是一種由Python編寫的跨平臺(tái)程序監(jiān)控應(yīng)用, 可以幫助你實(shí)時(shí)監(jiān)控和修復(fù)崩潰,主要關(guān)注錯(cuò)誤報(bào)告。 Sentry包含一個(gè)完整的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啟動(dòng)Sentry。Sentry默認(rèn)綁定9000端口,啟動(dòng)后可以在瀏覽器訪問http://ip:9000登錄Sentry可視化頁面。

服務(wù)器配置要求

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

介紹下具體安裝步驟

1.下載安裝包

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

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

getsentry/onpremise


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

Releases位置


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

Releases頁面下載入口

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

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

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

安裝包解壓目錄

3.安裝Sentry

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

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

 

安裝期間會(huì)提示輸入郵箱和密碼,隨便填比如admin@localhost.com和密碼123456

cd onpremise-20.9.0
./install.sh

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

docker-compose up -d

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

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

sentry服務(wù)容器

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

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

 

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

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

 

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

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

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

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

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

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

選擇語言,填寫項(xiàng)目名稱


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

dsn地址

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

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

Issues問題菜單

3.拷貝下DSN,后面項(xiàng)目接入時(shí)需要配置該地址。

三、springboot接入Sentry

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

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

Sentry支持非常多的平臺(tái)

1.引入依賴

官方推薦結(jié)合日志框架一起使用,我們結(jié)合springboot自帶的logback,所以要多引入一個(gè)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.項(xiàng)目中配置Sentry的dsn地址

springboot的Application.yml配置文件配置sentry的dsn地址,dsn地址從上面sentry創(chuàng)建項(xiàng)目時(shí)可以看到,因?yàn)槲覀兪褂胹pringboot自帶的logback結(jié)合,所以我們也配置下logback文件的路徑。

logging:
  config: classpath:logback-spring.xml

sentry:
  dsn: http://ac5a2918ec064472a861066a5c3ddcdc@10.10.4.23: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.編寫測(cè)試接口

我們建個(gè)controller類,寫個(gè)測(cè)試接口打印出五種不同級(jí)別的日志測(cè)試下

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

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

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

測(cè)試sentry日志展示

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

按上面的配置默認(rèn)只推送了error級(jí)別的日志,我們可以在logback配置文件里調(diào)整推送級(jí)別,比如我們調(diào)整下logback-spring.xml內(nèi)容使得WARN日志級(jí)別就觸發(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文件中配置了日志級(jí)別<minimumEventLevel>WARN</minimumEventLevel>后,項(xiàng)目啟動(dòng)的時(shí)候日志也會(huì)推送到Sentry,比如以下是我啟動(dòng)時(shí)的三條warn日志

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

啟動(dòng)日志

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

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

聚合的啟動(dòng)日志

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

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

error和warn級(jí)別的兩條日志

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

1.引入maven依賴

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

2.配置logback-spring.xml,還包含了很多配置項(xiàng)

<?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://ac5a2918ec064472a861066a5c3ddcdc@10.10.4.23: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>
        <!--推送日志最小級(jí)別-->
        <minimumEventLevel>WARN</minimumEventLevel> 
        <!--成為面包屑最小級(jí)別,minimumEventLevel需要小與minimumBreadcrumbLevel的級(jí)別才會(huì)推送-->
				<minimumBreadcrumbLevel>DEBUG</minimumBreadcrumbLevel>
    </appender>

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

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

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

分享到:
標(biāo)簽:日志 Sentry
用戶無頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

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

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

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

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

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

答題星2018-06-03

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

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

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

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

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

體育訓(xùn)練成績?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績?cè)u(píng)定