成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

logstash處理java堆棧日志的方法

本篇內(nèi)容主要講解“l(fā)ogstash處理java堆棧日志的方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“l(fā)ogstash處理java堆棧日志的方法”吧!

創(chuàng)新互聯(lián)建站專注于企業(yè)營銷型網(wǎng)站建設(shè)、網(wǎng)站重做改版、永勝網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5頁面制作、商城開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為永勝等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

一、背景

在我們的java程序中,經(jīng)常會輸出一些日志,來幫助我們來分析一些問題。但是對于我們的異常來說,它可能存在多行,因此我們就需要處理這種多行的事件。在 logstash 中,我們可以借助 multiline codec 來處理。

二、需求

假設(shè)我們有如下數(shù)據(jù)。

129904 [2021-05-11 13:31:19] [ip=] INFO  o.s.c.a.AnnotationConfigApplicationContext [doClose(984)] - Closing org.springframework.context.annotation.AnnotationConfigApplicationContext@3e5d4f6b: startup date [Tue May 11 13:29:11 CST 2021]; parent: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@299321e2
129905 [2021-05-11 13:31:19] [ip=] WARN  o.s.c.a.AnnotationConfigApplicationContext [doClose(994)] - Exception thrown from ApplicationListener handling ContextClosedEvent
org.springframework.beans.factory.BeanCreationNotAllowedException: Error creating bean with name 'eurekaAutoServiceRegistration': Singleton bean creation not allowed while singletons of this factory are in destruction (Do not request a bean from a BeanFactory in a destroy method implementation!)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:216)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:308)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
	at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1080)

logstash處理java堆棧日志的方法

需要將如上的數(shù)據(jù)做一個多行展示。

129904的作為一行展示。

129905的異常堆棧數(shù)據(jù)作為一行展示。

三、實現(xiàn)思路

1、分析日志

129904 [2021-05-11 13:31:19] [ip=] INFO  o.s.c.a.AnnotationConfigApplicationContext [doClose(984)] - Clos
129905 [2021-05-11 13:31:19] [ip=] WARN  o.s.c.a.AnnotationConfigApplicationContext [doClose(994)] - Exception thrown from ApplicationListener handling ContextClosedEvent

從上方簡化的日志可知,我們的日志每行都是以一個數(shù)字開頭,那么可以認(rèn)為以數(shù)字開頭的行是一個單獨的行,以非數(shù)字開頭的行是隸屬于上一行的,即是一個多行的。

2、實現(xiàn),編寫pipeline文件

vim java-exception.conf

input {
    file {
        path => ["/Users/huan/soft/elastic-stack/logstash/logstash/pipeline.conf/java-exception/application*.log"]
        start_position => "end"
        sincedb_path => "/Users/huan/soft/elastic-stack/logstash/logstash/pipeline.conf/java-exception/sincedb.db"
        sincedb_write_interval => "15 seconds"
        mode => "tail"
        type => "application"

        codec => multiline {
            pattern => "^\d+"
            negate => "true"
            what => "previous"
            charset => "UTF-8"
            auto_flush_interval => 3
        }
    }
}

filter {
    
}

output {
    stdout {
        codec => rubydebug {
        
        }
    }
}

我們主要關(guān)注的是 multiline中的配置

  • pattern: 這個是用來匹配文本的表達(dá)式,也可以是grok表達(dá)式

  • what: 如果pattern匹配成功的話,那么匹配行是歸宿于上一個事件,還是歸屬于下一個事件。

    • previous: 歸屬于上一個事件

    • next: 歸屬于下一個事件

  • negate:是否對 pattern 的結(jié)果取反

    • false: 不取反,是默認(rèn)值

    • true: 取反。將多行事件掃描過程中的行匹配邏輯取反(如果pattern匹配失敗,則認(rèn)為當(dāng)前行是多行事件的組成部分)

  • auto_flush_interval:當(dāng)匹配到一個多行格式時,在 auto_flush_interval秒之內(nèi),如果沒有新的行匹配的話,則會轉(zhuǎn)換成 logstash 的一個事件進(jìn)行發(fā)布。默認(rèn)沒有設(shè)置。單位是:秒(s)

四、注意事項

1、默認(rèn)情況下,logstash 每讀取到一行就會發(fā)送一個事件。

2、如果要發(fā)送多行事件,就需要使用 multiline 來實現(xiàn)。

3、如果我們的 logstash 在一個 pipeline 中存在多個輸入,那么多行的處理,應(yīng)該在發(fā)送數(shù)據(jù)的源頭解決。即,在logstash自身不處理多行。因為可能會導(dǎo)致數(shù)據(jù)錯亂。

logstash處理java堆棧日志的方法

五、參考文檔

1、https://www.elastic.co/guide/en/logstash/current/plugins-codecs-multiline.html

2、https://www.elastic.co/guide/en/logstash/current/multiline.html

到此,相信大家對“l(fā)ogstash處理java堆棧日志的方法”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

本文名稱:logstash處理java堆棧日志的方法
文章分享:http://jinyejixie.com/article2/ijgsoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、Google服務(wù)器托管、域名注冊、微信小程序、定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)
弋阳县| 南充市| 南汇区| 大丰市| 搜索| 上思县| 雷山县| 原平市| 甘南县| 太原市| 安平县| 丁青县| 崇阳县| 微博| 兖州市| 新余市| 广水市| 台东县| 绥滨县| 南平市| 岳阳县| 礼泉县| 阿克陶县| 象山县| 灵丘县| 宣化县| 定襄县| 佛学| 麻阳| 洛川县| 兴仁县| 南平市| 建平县| 北京市| 云梦县| 乐陵市| 运城市| 玉龙| 兖州市| 平定县| 永春县|