精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

一份接地氣的Kubernetes日志方案

云計算 云原生
本文主要聊聊Kubernetes場景下收集微服務應用日志方案,相對來說更接地氣,非常好落地。

微服務應用的日志鏈路一般比較長,包含以下環節:日志收集 → 日志緩沖 → 日志過濾清洗 → 日志存儲 → 日志展示。每個環節都有多種對應的組件去解決,這樣的結果就是業內組合出了多種整體解決方案。

以前我的微服務部署在IDC機房虛擬機時,采用的是ELK(Elasticsearch、Logstash、Kibana)方案,這也是通用的微服務應用的日志解決方案。幾年前我們的應用部署整體切到Kubernetes后,我依舊采用了這套方案。

下面介紹Kubernetes場景下基于ELK的日志解決方案。整體思路:Filebeat -> Kafka -> Logstash -> Elasticsearch -> Kibana。

1、日志數據流轉

日志數據流轉見下圖:

2、日志采集

2.1、容器日志在哪兒

首先得有個概念:容器只是K8S集群Node上的一個進程。要在K8S集群機器上找到此Docker進程,然后進入到對應的文件夾里查看日志文件。

一般情況下,容器的日志存放在宿主機上的這個目錄下/var/lib/docker/containers/:

# 日志在宿主機的這個文件夾下
cd /var/lib/docker/containers
# 用這個命令可以查找對應的日志文件
find /var/lib/docker/containers -name "*-json.log"

進入到/var/lib/docker/containers/下,看到的是一堆毫無規律的文件夾。

看到這些毫無規律的文件夾名稱,會一下子有點懵,但是仔細看看,其實這些碼是對應的Docker容器的id。繼續通過名稱查看容器id。

# docker命令查看容器
docker ps -a

找到了容器id之后,可以看到用容器id的前幾位,可以完全匹配到,日志文件夾名稱的前幾位。docker ps 顯示的容器id只是顯示了整個id的前幾位。

進入到日志文件夾后,就可以看到具體的json日志文件了。

至此已經知道日志文件存放的位置了。當然啦,要控制好日志級別,還要做好日志清理任務,否則大量的日志會導致磁盤空間不夠。Pod銷毀之后,日志文件也會被銷毀的。

文件找到了接下來,就看怎么采集日志了。

2.2、日志采集工具

日志采集工具有多種,本文采用Filebeat作為日志采集工具。

Filebeat是用于轉發和匯總日志與文件的輕量級傳送程序。作為服務器上的代理安裝,Filebeat會監視你指定的日志文件或位置。然后收集日志事件,并將它們轉發到Elasticsearch或Logstash或Kafka。官方文檔顯示的工作流程如下:

Filebeat的主要優勢有:

  • 輕量級并且易使用
  • 免費開源
  • 資源使用率低
  • 良好的性能

2.3、日志如何采集

日志采集工具選型確定之后,接下來就是如何采集了。

K8S部署的場景下,想要收集每臺Node下的容器日志,需要采用Deamonset控制器自動部署,這樣每次新增節點時,會自動部署Filebeat的Pod。每臺Node自動安裝好Filebeat后,每臺Node上的日志會被自動采集,然后輸出到Kafka。

Filebeat大致的編排yaml如下:

apiVersion: v1
kind: ConfigMap
metadata:
  name: filebeat-config
  namespace: ops-monit
  labels:
    k8s-app: filebeat
data:
  filebeat.yml: |-
    filebeat.inputs:
    - type: container #因為是采集的容器日志,所以這里要用container 不能用 log,否則拿不到容器日志
      enable: true
      stream: stdout #只取stdout日志
      paths:
        - /var/log/containers/*demo*.log #采集了demo環境的所有日志
      processors:
        - add_kubernetes_metadata: # 增加kubernetes的屬性
            in_cluster: true
            host: ${NODE_NAME}
            matchers:
            - logs_path:
                logs_path: "/var/log/containers/"
        - drop_event:
            when:
              contains:
                message: "INFO"
        - drop_event:
            when:
              contains:
                message: "DEBUG"
      # 配置多行顯示
      multiline.type: pattern
      multiline.pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2}'
      multiline.negate: true
      multiline.match: after
      fields:
        logtype: applog
    output.kafka:
      hosts: ['172.10.10.10:9092','172.10.10.11:9092','172.10.10.12:9092']
      topic: 'topic-bizlog'
      partition.round_robin:
        reachable_only: false
---
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: filebeat
  namespace: ops-monit
  labels:
    k8s-app: filebeat
spec:
  selector:
    matchLabels:
      k8s-app: filebeat
  template:
    metadata:
      labels:
        k8s-app: filebeat
    spec:
      serviceAccountName: filebeat
      terminationGracePeriodSeconds: 30
      dnsPolicy: ClusterFirstWithHostNet
      containers:
        - name: filebeat
          image: elastic/filebeat:7.12.1
          args: [
              "-c", "/etc/filebeat.yml",
              "-e",
          ]
          env:
            - name: ELASTICSEARCH_HOST
              value: "172.10.20.10"
            - name: ELASTICSEARCH_PORT
              value: "9200"
            - name: ELASTICSEARCH_USERNAME
              value:
            - name: ELASTICSEARCH_PASSWORD
              value:
            - name: ELASTIC_CLOUD_ID
              value:
            - name: ELASTIC_CLOUD_AUTH
              value:
            - name: NODE_NAME
              valueFrom:
                fieldRef:
                  fieldPath: spec.nodeName
          securityContext:
            runAsUser: 0
            # If using Red Hat OpenShift uncomment this:
            # privileged: true
          resources:
            limits:
              cpu: 3000m
              memory: 2000Mi
            requests:
              cpu: 500m
              memory: 100Mi
          volumeMounts:
            - name: timezone
              mountPath: /etc/localtime
            - name: config
              mountPath: /etc/filebeat.yml
              readOnly: true
              subPath: filebeat.yml
            - name: data
              mountPath: /usr/share/filebeat/data
            - name: varlibdockercontainers
              mountPath: /var/lib/docker/containers
              readOnly: true
            - name: varlog
              mountPath: /var/log
      volumes:
        - name: timezone
          hostPath:
            path: /usr/share/zoneinfo/Asia/Shanghai
        - name: config
          configMap:
            defaultMode: 0640
            name: filebeat-config
        - name: varlibdockercontainers
          hostPath:
            path: /var/lib/docker/containers
        - name: varlog
          hostPath:
            path: /var/log
        - name: data
          hostPath:
            path: /var/lib/filebeat-data
            type: DirectoryOrCreate
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: filebeat
  namespace: ops-monit
subjects:
  - kind: ServiceAccount
    name: filebeat
    namespace: ops-monit
roleRef:
  kind: ClusterRole
  name: filebeat
  apiGroup: rbac.authorization.k8s.io
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: filebeat
  namespace: ops-monit
  labels:
    k8s-app: filebeat
rules:
  - apiGroups: [""] # "" indicates the core API group
    resources:
      - namespaces
      - pods
      - nodes
    verbs:
      - get
      - watch
      - list
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: filebeat
  namespace: ops-monit
  labels:
    k8s-app: filebeat
---

3、日志緩沖、過濾清洗、存儲、展示

3.1、緩沖

Kafka是一個消息處理引擎,這里采用Kafka作為日志數據的緩沖工具。采用Kafka有2個用途:

  • 作為緩沖,防止日志量太大導致下游來不及消費,所以要加入消息緩沖這一層。這一層必不可少。
  • Kafka消息可以被別的應用監聽消費,過濾輸出到一些告警信息到企微、釘釘、郵件等。

3.2、過濾清洗和轉發

Logstash 是一個日志收集和處理引擎,它帶有各種各樣的插件,能夠從各種來源攝取數據。并且可以對數據進行轉換,然后轉發到目的地。我這里采用Logstash作為日志攝取、過濾、清洗、轉發的工具。

這是一個大概的Logstash Conf文件,文件的內容分3塊:input 、filter 、output。

input {
    kafka {
        bootstrap_servers=>"172.10.7.79:9092"
        topics=>["topic-bizlogs"]
        codec => "json"
    }
}

filter{
    mutate{
        split => ["message", "|"]
        add_field => { "log_time" => "%{[message][0]}"}
        add_field => { "level" => "%{[message][1]}"}
        add_field => { "class" => "%{[message][2]}"}
        add_field => { "line" => "%{[message][3]}"}
        add_field => { "thread" => "%{[message][4]}"}
        add_field => { "log_message" => "%{[message][5]}"}

        add_field => { "env" => "%{[kubernetes][namespace]}"}
        add_field => { "podName" => "%{[kubernetes][pod][name]}"}
        add_field => { "podId" => "%{[kubernetes][pod][uid]}"}
        add_field => { "image" => "%{[container][image][name]}"}
        add_field => { "imageId" => "%{[container][id]}"}
        add_field => { "nodeId" => "%{[kubernetes][node][uid]}"}
        add_field => { "nodeName" => "%{[kubernetes][node][name]}"}
        add_field => { "nodeHostName" => "%{[kubernetes][node][hostname]}"}
        add_field => { "logPath" => "%{[log][file][path]}"}
        add_field => { "appName" => "%{[kubernetes][labels][app]}"}

        remove_field => ["agent","fields","input","ecs","host","@version","kubernetes","stream","log","container"]
    }
}

output{
        elasticsearch{
                hosts=>["172.11.4.82:9200"]
                index => "%{appName}‐%{+YYYY.MM.dd}"

        }
}

3.3、存儲和搜索

Elasticsearch是一個可擴展的搜索引擎,這里采用Elasticsearch作為日志存儲搜索工具。

3.4、展示

采用Kibana為日志構建可視化的UI。

4、總結

本文主要介紹Kubernetes場景下比較接地氣好落地的,基于ELK的日志解決方案。整體思路:Filebeat -> Kafka -> Logstash -> Elasticsearch -> Kibana。

本文沒有介紹Kafka、Logstash、Elasticsearch、Kibana的安裝,只提及了一些配置文件,安裝過程讀者自行查閱資料搭建。

責任編輯:華軒 來源: 不焦躁的程序員
相關推薦

2015-08-27 10:50:15

2011-06-03 16:30:39

2014-03-26 15:24:51

Microsoft AWindows Azu微軟

2012-12-11 14:05:26

商務社交

2021-06-24 08:30:08

架構億級消息中心數據

2019-08-27 09:20:35

微服務架構組件

2014-11-11 13:31:28

云戰略

2013-11-28 16:47:15

通達OA

2020-03-08 15:37:01

Android 10谷歌安卓

2020-07-15 15:38:15

人臉識別照片活化手機

2023-09-27 12:28:08

Kubernetes命令

2016-04-01 09:29:36

戴爾

2022-12-19 10:40:07

模型中文

2016-12-09 13:30:44

大數據

2025-07-03 09:28:44

架構群消息開發

2017-06-07 11:51:48

災備和力記易

2019-03-24 14:14:40

代碼閱讀源代碼

2015-03-19 15:17:11

2024-11-07 08:50:56

用戶分析分類維度標簽

2018-07-29 15:33:04

點贊
收藏

51CTO技術棧公眾號

亚洲永久精品大片| 久久精品国产亚洲高清剧情介绍| 日韩欧美在线综合网| 国产一区二区四区| 黄网站在线观看| 老司机精品视频一区二区三区| 久久精品这里热有精品| 国产精品麻豆入口| 国产91欧美| 午夜电影一区二区| 亚洲精品国产精品国自产观看| 精品人妻一区二区三区换脸明星| 久久高清免费观看| 九九精品在线观看| 翔田千里亚洲一二三区| 99久久久久成人国产免费| 99精品免费| 日韩视频在线免费| 黄色a级片免费| 国产原创在线观看| 国产午夜亚洲精品不卡| 超碰97在线播放| 中文字幕日韩第一页| 在线日韩中文| 欧美成人免费全部| 在线观看免费小视频| 成人影院中文字幕| 91精品国产全国免费观看| 那种视频在线观看| 91豆花视频在线播放| 成人一区二区三区中文字幕| 国产精品视频精品视频| 亚洲欧美精品一区二区三区| 一本精品一区二区三区| 一区二区三欧美| 国产三级视频网站| 久久这里只有精品一区二区| 91麻豆精品国产| 午夜免费高清视频| 综合在线影院| 91国产成人在线| 天堂资源在线亚洲资源| 香蕉视频免费看| 成人一区在线观看| 成人av影视在线| 国产精品女同一区二区| 麻豆精品在线视频| 国产精品高潮呻吟久久av无限| 国产手机在线视频| 在线精品在线| 欧美精品18videosex性欧美| 三级影片在线看| 加勒比视频一区| 欧美r级电影在线观看| 欧美精品久久久久久久免费| 丝袜美腿av在线| 怡红院av一区二区三区| 久久国产精品免费观看| 搞黄网站在线观看| eeuss鲁片一区二区三区在线观看| 欧美在线视频免费| www.国产高清| 亚洲一区二区伦理| 欧美在线播放视频| 国产免费一级视频| 日韩电影在线一区| 国产欧美va欧美va香蕉在| 亚洲天堂中文在线| 国产乱码一区二区三区| 亚洲一区二区三区毛片| 亚洲爱爱综合网| 成人av在线电影| 精品一区2区三区| 久草视频在线看| 欧美激情一区二区三区| 一本久道久久综合狠狠爱亚洲精品| 1024免费在线视频| 99国产精品视频免费观看| 精品综合久久| 国产一级在线| 国产精品乱码一区二区三区软件| 永久久久久久| 丁香花视频在线观看| 欧美日韩国产精品一区二区不卡中文| 人妻少妇被粗大爽9797pw| 欧美日韩激情电影| 日韩一区二区视频| 亚洲av成人无码一二三在线观看| 国产伦精品一区二区三区千人斩 | 欧美一级黄视频| 久久精品国产网站| 超碰在线97av| 浮生影视网在线观看免费| 亚洲欧美一区二区三区极速播放 | 第四色日韩影片| 色呦呦网站一区| 九九九久久久久久久| 日本午夜精品久久久| 日韩视频在线观看免费| 天堂网av手机版| 九九精品视频在线看| 国产欧美日韩在线播放| 777电影在线观看| 亚洲国产毛片aaaaa无费看 | 国产高清不卡一区| 欧美亚洲另类在线一区二区三区| 成人区精品一区二区不卡| 亚洲成av人片一区二区梦乃 | 色婷婷综合久久久中字幕精品久久| 欧美日韩二区三区| 污污内射在线观看一区二区少妇| 日本道不卡免费一区| 高清亚洲成在人网站天堂| 亚洲熟妇无码久久精品| 成人av免费在线| 一区二区三区四区在线视频| 看黄在线观看| 日韩久久久久久| 欧美女同在线观看| jizz亚洲女人高潮大叫| 精品国产一区二区精华| 日本在线观看网址| 久久久精品五月天| 国产欧美丝袜| 欧美xxxx免费虐| 欧美浪妇xxxx高跟鞋交| 中文字幕一区二区三区人妻不卡| 午夜日韩av| 成人xxxxx| 国产精品一级视频| 欧美国产精品一区| avav在线看| 精品国产18久久久久久洗澡| 欧美日韩成人在线观看| 国产精品玖玖玖| 国产精品污www在线观看| 日本中文字幕片| 欧美1区2区3区4区| 久久久久久久久久久成人| 国产又粗又猛视频免费| 国产亚洲精品bt天堂精选| 欧美色图色综合| 免费萌白酱国产一区二区三区| 久久久久久久久久久成人| www五月婷婷| 亚洲免费大片在线观看| 午夜激情视频网| 久久精品66| 久久人人爽国产| 天堂成人在线视频| 欧美日韩国产综合新一区| 老熟妇精品一区二区三区| 亚洲精华国产欧美| 精品国产乱码久久久久软件| а√天堂中文在线资源8| 亚洲成人精品视频在线观看| 国产精品第二十页| av在线不卡电影| 自慰无码一区二区三区| 欧美禁忌电影网| 国产激情久久久| 日本天堂在线观看| 日韩一级黄色片| 日本一级黄色录像| 久久亚洲二区三区| 日韩av片网站| 91精品婷婷色在线观看| 成人看片视频| 在线一区av| 中文国产成人精品| 国产色片在线观看| 亚洲福利视频三区| 亚洲精品91在线| 精品中文字幕一区二区| 久久免费一级片| 欧美男人操女人视频| 国产精品h片在线播放| 欧美jizzhd69巨大| 亚洲成在人线av| 中文字幕手机在线视频| ...中文天堂在线一区| 日韩国产欧美亚洲| 精品一区三区| 成人免费午夜电影| 激情国产在线| 色婷婷综合久久久久中文字幕1| 国产美女无遮挡永久免费| 亚洲第一精品在线| 天天操天天摸天天舔| 成人三级伦理片| 天天影视综合色| 国产一区久久| 亚洲精品人成| 国产一区二区三区不卡av| 国产精品久久久久久久久久新婚 | 性欧美lx╳lx╳| 91色琪琪电影亚洲精品久久| av资源亚洲| 欧美精品在线免费观看| 久青草国产在线| 日韩一区二区三区在线视频| 亚洲精品男人天堂| 亚洲精品伦理在线| 免费视频91蜜桃| 高清日韩电视剧大全免费| 亚洲精品高清无码视频| 亚洲小说区图片区| 亚洲国产精品综合| 欧美日韩导航| 国产精品久久久久久久久婷婷 | 99re国产| 四虎国产精品永久在线国在线| 69av成年福利视频| 欧洲一区二区三区| 久久精品最新地址| 国产精品一级伦理| 日韩成人免费视频| 亚洲国产精品久久久久久久| 欧美日韩国产精选| 波多野结衣高清在线| 懂色av一区二区三区| 国产一级在线免费观看| 日韩毛片视频在线看| 美国美女黄色片| 久久久久久电影| 国产麻豆天美果冻无码视频 | 日韩123区| 日韩日本欧美亚洲| 永久免费av在线| 亚洲人成电影在线| 青青操视频在线| 精品第一国产综合精品aⅴ| 99久久一区二区| 欧美精品久久99久久在免费线 | 精品美女一区二区三区| 国产日本精品视频| 欧美疯狂性受xxxxx喷水图片| 中文字幕免费播放| 在线精品视频小说1| 国产婷婷色一区二区在线观看| 午夜成人免费电影| 日韩欧美亚洲视频| 无吗不卡中文字幕| 六月丁香在线视频| 性做久久久久久免费观看| 国产主播在线播放| 亚洲va韩国va欧美va| 国产性猛交普通话对白| 亚洲午夜精品久久久久久久久| 久久久久久久久99| 亚洲国产欧美日韩另类综合| 日韩av在线电影| 五月开心婷婷久久| 欧美不卡视频在线观看| 色综合天天做天天爱| 看黄色一级大片| 91精品在线麻豆| 性生交生活影碟片| 亚洲第一区第二区| 天堂中文在线视频| 国产一区二区三区在线看| av一区在线观看| 欧美成人午夜视频| 91吃瓜在线观看| 国产不卡视频在线| 欧美综合影院| 国产精品9999久久久久仙踪林| 久久久久高潮毛片免费全部播放| 久久久人人爽| 欧美午夜精彩| 2021国产视频| 国产亚洲激情| 在线免费视频一区| 国产精品一区二区不卡| 黄色国产在线观看| 国产精品传媒入口麻豆| 国产亚洲欧美久久久久| 日韩欧美国产高清91| 国产又大又长又粗| 亚洲电影免费观看高清完整版在线观看| 五月婷婷丁香六月| 日韩中文字幕不卡视频| 欧美xxxx少妇| 国产精品露脸av在线| 国产精品亚洲综合在线观看 | 日本免费一区视频| 欧美日韩亚洲综合| 亚洲风情第一页| 亚洲欧美在线免费观看| 国产丝袜在线| 欧美亚洲日本黄色| 国产精品久久久久久av公交车| 国产一区二区不卡视频在线观看| 国产精品一区高清| 国产亚洲黄色片| 免费在线观看一区二区三区| 日韩欧美xxxx| 国产精品456| 日韩丰满少妇无码内射| 久久婷婷成人综合色| 97在线观看免费高| 色哟哟国产精品| 亚洲精品久久久久avwww潮水| 亚洲色图美腿丝袜| 欧美aaa免费| 国产精品羞羞答答| 中文字幕av一区二区三区人| 日本一道在线观看| 奇米色777欧美一区二区| 人妖粗暴刺激videos呻吟| 国产精品成人免费在线| www五月天com| 亚洲高清一区二| 50度灰在线| 国产综合香蕉五月婷在线| 自拍亚洲一区| 人人妻人人做人人爽| 精品一区二区在线视频| 国产jk精品白丝av在线观看 | 色婷婷久久av| 日韩成人影音| 久久国产精品-国产精品| 欧美日韩蜜桃| 天天色天天干天天色| 国产精品色婷婷久久58| 免费无码国产精品| 精品无人区太爽高潮在线播放| 欧美人与禽性xxxxx杂性| 91视频8mav| 国产精品黑丝在线播放 | 99国产精品久久久久久久成人热| 精品人妻一区二区三| 中文字幕在线不卡| 久久国产香蕉视频| 国产亚洲精品美女| 91精品xxx在线观看| 麻豆亚洲一区| 久久国产福利| 精品无人区无码乱码毛片国产 | 国产精品日韩无码| 深夜福利一区二区| 国产精品麻豆成人av电影艾秋| 日韩久久久久久久| 日本不卡一区二区三区| 天天操天天舔天天射| 欧美色综合影院| 2019中文字幕在线视频| 国产精品主播视频| 欧美韩日高清| 香蕉视频色在线观看| 一区二区高清免费观看影视大全 | 国产又大又黑又粗免费视频| 精品国产a毛片| 女海盗2成人h版中文字幕| 久久精品二区| 丝袜美腿亚洲一区二区图片| 亚洲第一视频区| 欧美精品vⅰdeose4hd| 成人在线观看亚洲| 粉嫩av一区二区三区免费观看| 亚洲午夜激情在线| 免费看黄色aaaaaa 片| 在线精品国精品国产尤物884a| 91porn在线观看| 91黄色精品| 亚洲高清电影| 成人精品999| 欧美日韩免费高清一区色橹橹| www.久久ai| 国产一区不卡在线观看| 久久午夜激情| 日本午夜在线观看| 欧美sm美女调教| 成人黄色免费短视频| 致1999电视剧免费观看策驰影院| 国产精品系列在线观看| 日本污视频在线观看| 永久免费毛片在线播放不卡| 欧美不卡在线观看| 久久久久久久中文| 国产精品色在线观看| 亚洲a视频在线观看| 国产精品成人观看视频国产奇米| 久久要要av| 性囗交免费视频观看| 欧美探花视频资源| 黑人玩欧美人三根一起进| 日韩和欧美的一区二区| 国产精品综合久久| 老熟妇仑乱一区二区av| 久热精品视频在线观看一区| 久久久久97| 国产成年人视频网站| 天天色综合天天| 欧美jizzhd69巨大| 明星裸体视频一区二区| 国产精品1024| 午夜精品久久久久久久蜜桃| 欧美国产日韩视频| 青草伊人久久|