真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

k8s容器環(huán)境收集應用日志到已有的ELK日志平臺

Tags: k8s環(huán)境下的容器日志收集
K8S環(huán)境下面如何收集應用日志
===
在本文中重點講一下K8S容器環(huán)境中如何收集容器的日志;

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設、高性價比鹽亭網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式鹽亭網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設找我們,業(yè)務覆蓋鹽亭地區(qū)。費用合理售后完善,十余年實體公司更值得信賴。

1. 容器日志收集方案的選擇:

??在K8S集群中,容器的日志收集方案一般有三種;第一種方案是通過在每一個k8s節(jié)點安裝日志收集客戶端軟件,比如fluentd。這種方案不好的一點是應用的日志必須輸出到標準輸出,并且是通過在每一臺計算節(jié)點的/var/log/containers目錄下面的日志文件,這個日志文件的名稱是這種格式user-center-765885677f-j68zt_default_user-center-0867b9c2f8ede64cebeb359dd08a6b05f690d50427aa89f7498597db8944cccc.log,文件名稱有很多隨機字符串,很難和容器里面的應用對應起來。并且在網(wǎng)上看到別人說這個里面的日志,對于JAVA的報錯內(nèi)容沒有多行合并,不過我還沒有測試過此方案。

??第二種方案就是在應用的pods里面在運行一個sidecar container(邊角容器),這個容器會和應用的容器掛載同一個volume日志卷。比如這個sidecar容器可以是filebeat或者flunetd等;這種方案不足之處是部署了sidecar , 所以會消耗資源 , 每個pod都要起一個日志收集容器。
?第三種方案就是直接將應用的日志收集到kafka,然后通過kafka再發(fā)送到logstash,再處理成json格式的日志發(fā)送到es集群,最后在kibana展示。我實驗的就是這種方案。通過修改logsbak配置文件實現(xiàn)了日志直接發(fā)送到kafka緩存的功能;下面直接看配置了

1. logsbak配置:



      

      
      
      
     

    

    
    -
    
        
          
        
    -
    
        [%date{ISO8601}] [%level] %logger{80} [%thread] [%tid] ${dev-group-name} ${app-name} Line:%-3L - %msg%n
    
    
    

    -
    ${log-path}/${app-name}/${filename}.log
    -
    /${log-path}/${app-name}/${filename}.%d{yyyy-MM-dd}.%i.log
    15
    
    
        300MB
    

    
    

    -
    
        [%date{ISO8601}] [%level] %logger{80} [%thread] [%tid] ${dev-group-name} ${app-name} Line:%-3L - %msg%n
    


    
        ${log-path}/${app-name}/${filename}-error.log
        
            /${log-path}/${app-name}/${filename}-error.%d{yyyy-MM-dd}.%i.log
            
                300MB
            
            15
        
        
            
        
        
        
            [%date{ISO8601}] [%level] %logger{80} [%thread] [%tid] ${dev-group-name} ${app-name} Line:%-3L - %msg%n
        
    
        
            ERROR
            ACCEPT
            DENY
        
    

    
    
        
           [%date{ISO8601}] [%level] %logger{80} [%thread] [%tid] ${dev-group-name} ${app-name} Line:%-3L - %msg%n
        
        elk-stand-sit-fkp-eureka
        
        

        
        

        
        
        
        bootstrap.servers=192.168.1.12:9092,192.168.1.14:9092,192.168.1.15:9092
        
        acks=0
        
        linger.ms=1000
        
        max.block.ms=0
        
        client.id=${HOSTNAME}-${CONTEXT_NAME}-logback-relaxed
        
        block.on.buffer.full=false

         
        
    

    
         
        
        
        

    

###2. 針對logsbak配置說明:###

  1. logsbak直接發(fā)送日志到kafka有幾種方式,一種是異步模式,一種是同步模式。異步模式的意思就是如果kafka因為網(wǎng)絡情況出現(xiàn)故障,則阻塞發(fā)送日志或者直接將日志發(fā)送到后備存儲,比如后備存儲是發(fā)送到日志文件;同步模式的意思就是即使kafka出現(xiàn)網(wǎng)絡情況不可達,則就會影響到日志線程,進而影響到應用的性能。不過這個模式的我沒有測試過;配置如下:
    
    
        
            %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
        

        important-logs
        
        
        
        
            
            0
        

        
        
        
        bootstrap.servers=localhost:9092
        
        buffer.memory=8388608

        
        metadata.fetch.timeout.ms=99999999999
        
        client.id=${HOSTNAME}-${CONTEXT_NAME}-logback-restrictive
        
        compression.type=gzip

        
        
      

通過配置logsbak直接輸出到kafka,并且使用異步模式,就成功的在kibana里面看到了容器的日志了;
k8s容器環(huán)境收集應用日志到已有的ELK日志平臺

博文的更詳細內(nèi)容請關注我的個人微信公眾號 “云時代IT運維”,本公眾號旨在共享互聯(lián)網(wǎng)運維新技術,新趨勢; 包括IT運維行業(yè)的咨詢,運維技術文檔分享。重點關注devops、jenkins、zabbix監(jiān)控、kubernetes、ELK、各種中間件的使用,比如redis、MQ等;shell和python等運維編程語言;本人從事IT運維相關的工作有十多年。2008年開始專職從事Linux/Unix系統(tǒng)運維工作;對運維相關技術有一定程度的理解。本公眾號所有博文均是我的實際工作經(jīng)驗總結,基本都是原創(chuàng)博文。我很樂意將我積累的經(jīng)驗、心得、技術與大家分享交流!希望和大家在IT運維職業(yè)道路上一起成長和進步;

k8s容器環(huán)境收集應用日志到已有的ELK日志平臺


新聞標題:k8s容器環(huán)境收集應用日志到已有的ELK日志平臺
標題來源:http://weahome.cn/article/jcjspo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部