ELK日志系統(tǒng)中如何進(jìn)行通用應(yīng)用程序日志接入

這篇文章給大家介紹ELK日志系統(tǒng)中如何進(jìn)行通用應(yīng)用程序日志接入,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

在淮上等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、成都外貿(mào)網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需求定制設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),營(yíng)銷型網(wǎng)站,外貿(mào)營(yíng)銷網(wǎng)站建設(shè),淮上網(wǎng)站建設(shè)費(fèi)用合理。

日志規(guī)范

規(guī)范的日志存放路徑和輸出格式將為我們后續(xù)的收集和分析帶來極大的方便,無需考慮各種不同路徑、格式的兼容問題,只需要針對(duì)固定幾類日志做適配就可以了,具體的規(guī)范如下:

日志存放路徑規(guī)范

  1. 項(xiàng)目日志只能輸出到固定的位置,例如/data/logs/目錄下

  2. 同一類型(例如java web)的日志文件名保持統(tǒng)一,例如都叫application.log

  3. 一個(gè)類型的項(xiàng)目可以記錄多個(gè)不同的日志文件,例如exception.logbusiness.log

日志輸出格式規(guī)范

  1. 日志輸出必須為JSON格式,這個(gè)很重要

  2. 同一類型的項(xiàng)目應(yīng)采用統(tǒng)一的日志輸出標(biāo)準(zhǔn),盡量將日志輸出模塊化,所有項(xiàng)目引用同一模塊

  3. 輸出日志中必須包含標(biāo)準(zhǔn)時(shí)間(timestamp)、應(yīng)用名稱(appname)、級(jí)別(level)字段,日志內(nèi)容記錄清晰易懂

日志信息級(jí)別規(guī)范

日志級(jí)別說明數(shù)值
debug調(diào)試日志,日志信息量最多7
info一般信息日志,最常用的級(jí)別6
notice最具有重要性的普通條件信息5
warning警告級(jí)別4
error錯(cuò)誤級(jí)別,某個(gè)功能不能正常工作3
critical嚴(yán)重級(jí)別,整個(gè)系統(tǒng)不能正常工作2
alert需要立刻修改的日志1
emerg內(nèi)核崩潰等嚴(yán)重信息0

從上到下級(jí)別依次從低到高,日志量從多到少,正確選擇日志級(jí)別幫助后期快速排查問題

我們?yōu)槭裁匆贫ㄟ@樣的規(guī)范?

ELK日志系統(tǒng)中如何進(jìn)行通用應(yīng)用程序日志接入

  1. 我們的項(xiàng)目都跑在Docker里,Docker鏡像由基礎(chǔ)鏡像+項(xiàng)目代碼組成

  2. 基礎(chǔ)鏡像打包了運(yùn)行項(xiàng)目的基礎(chǔ)環(huán)境,例如spring cloud微服務(wù)項(xiàng)目,則打包了jre服務(wù)

  3. 規(guī)范了日志存放及輸出后,我們可以把作為日志收集agent的filebeat一并打包進(jìn)基礎(chǔ)鏡像,因?yàn)橥活愋晚?xiàng)目的日志路徑、格式都是一致的,filebeat配置文件可以通用

  4. 這樣我們?cè)诤罄m(xù)的部署過程中就不需要關(guān)心日志相關(guān)的內(nèi)容,只要項(xiàng)目鏡像引用了這個(gè)基礎(chǔ)鏡像就能自動(dòng)接入了我們的日志服務(wù),實(shí)現(xiàn)日志的收集、處理、存儲(chǔ)與展示

日志采集

我們通用日志采集方案如下圖: ELK日志系統(tǒng)中如何進(jìn)行通用應(yīng)用程序日志接入

  1. 程序跑在容器里,容器內(nèi)自帶Filebeat程序收集日志

  2. 收集完成后傳給kafka集群,logstash讀取kafka集群數(shù)據(jù)寫入elasticsearch集群

  3. kibana讀取elasticsearch集群數(shù)據(jù)展示在web上,開發(fā)、運(yùn)維等需要查看日志的用戶登錄kibana查看

Client端Filebeat配置

filebeat.prospectors:

- input_type: log
  paths:
    - /home/logs/app/business.log
    - /home/logs/app/exception.log

  json.message_key: log
  json.keys_under_root: true

output.kafka:
  hosts: ["10.82.9.202:9092","10.82.9.203:9092","10.82.9.204:9092"]
  topic: filebeat_docker_java

Kafka接收到的數(shù)據(jù)格式

{"@timestamp":"2018-09-05T13:17:46.051Z","appname":"app01","beat":{"hostname":"52fc9bef4575","name":"52fc9bef4575","version":"5.4.0"},"classname":"com.domain.pay.service.ApiService","date":"2018-09-05 21:17:45.953+0800","filename":"ApiService.java","hostname":"172.17.0.2","level":"INFO","linenumber":285,"message":"param[{\"email\":\"TEST@163.COM\",\"claimeeIP\":\"123.191.2.75\",\"AccountName\":\"\"}]","source":"/home/logs/business.log","thread":"Thread-11","timestamp":1536153465953,"type":"log"}

Server端Logstash配置

input {
    kafka {
        bootstrap_servers => "10.82.9.202:9092,10.82.9.203:9092,10.82.9.204:9092"
        topics => ["filebeat_docker_java"]
    }
}

filter {
    json {
        source => "message"
    }

    date {
        match => ["timestamp","UNIX_MS"]
        target => "@timestamp"
    }
}

output {
    elasticsearch {
        hosts => ["10.82.9.205", "10.82.9.206", "10.82.9.207"]
        index => "filebeat-docker-java-%{+YYYY.MM.dd}"
    }
}

都是基礎(chǔ)配置很簡(jiǎn)單,不做過多解釋,通過以上簡(jiǎn)單的配置就能實(shí)現(xiàn)任何應(yīng)用程序的日志收集

日志展示

收集日志到elasticsearch之后,就可以通過kibana配置展示應(yīng)用程序的日志了,方便開發(fā)及時(shí)發(fā)現(xiàn)問題,在線定位問題 ELK日志系統(tǒng)中如何進(jìn)行通用應(yīng)用程序日志接入

  1. 日志打印Json格式不方便本地查看?這個(gè)可以把日志輸出格式當(dāng)做配置寫在配置文件中,不同環(huán)境加載不同配置,就跟開發(fā)環(huán)境加載開發(fā)數(shù)據(jù)庫(kù)一樣

  2. 日志系統(tǒng)上線到現(xiàn)在穩(wěn)定運(yùn)行接近2年,除了剛開始有點(diǎn)不適應(yīng)以為,都是越用越好用,現(xiàn)在他們已經(jīng)離不開ELK日志系統(tǒng)了,大大提高了工作的效率。

  3. 關(guān)于ELK日志系統(tǒng)中如何進(jìn)行通用應(yīng)用程序日志接入就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

新聞標(biāo)題:ELK日志系統(tǒng)中如何進(jìn)行通用應(yīng)用程序日志接入
網(wǎng)頁鏈接:http://bm7419.com/article26/pcijcg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、外貿(mào)建站、營(yíng)銷型網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)做網(wǎng)站、域名注冊(cè)

廣告

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

商城網(wǎng)站建設(shè)