K8s容器日誌實時收集FileBeat+ES+Kibana


K8s容器日誌實時收集FileBeat+ES+Kibana

ELKhtml


k8s日誌收集第一種方式
filebeat.png-197.6kB
k8s日誌收集第二種方式
filebeat.png-197.6kB

環境說明

IP地址 服務 主機名
10.4.82.119 docker、k8s_master|node、 master
10.4.82.120 docker、 k8s_node、kibana node
10.4.82.115 es、Harbor鏡像倉庫、docker (主要做用就是打一個filebeat鏡像) i4t

提示:filebeat跑在k8s容器內部,因此沒有單首創建服務

1、FileBeat

做爲 Beats 家族的一員,Filebeat 是一個輕量級的日誌傳輸工具,它的存在正彌補了 Logstash 的缺點:Filebeat 做爲一個輕量級的日誌傳輸工具能夠將日誌推送到中心 Logstash。

在版本 5.x 中,Elasticsearch 具備解析的能力(像 Logstash 過濾器)— Ingest。這也就意味着能夠將數據直接用 Filebeat 推送到 Elasticsearch,並讓 Elasticsearch 既作解析的事情,又作存儲的事情。也不須要使用緩衝,由於 Filebeat 也會和 Logstash 同樣記住上次讀取的偏移:
image_1d6v3v2fn29s1oa932m3nf1i0n9.png-24.1kB
若是須要緩衝(例如,不但願將日誌服務器的文件系統填滿),可使用 Redis/Kafka,由於 Filebeat 能夠與它們進行通訊:
image_1d6v3vfrn16g7bmp18ct1cm7pvom.png-32.1kB

Filebeat 優勢

Filebeat 只是一個二進制文件沒有任何依賴。它佔用資源極少,儘管它還十分年輕,正式由於它簡單,因此幾乎沒有什麼能夠出錯的地方,因此它的可靠性仍是很高的。它也爲咱們提供了不少能夠調節的點,例如:它以何種方式搜索新的文件,以及當文件有一段時間沒有發生變化時,什麼時候選擇關閉文件句柄。

Filebeat 缺點

Filebeat 的應用範圍十分有限,因此在某些場景下咱們會碰到問題。例如,若是使用 Logstash 做爲下游管道,咱們一樣會遇到性能問題。正由於如此,Filebeat 的範圍在擴大。開始時,它只能將日誌發送到 Logstash 和 Elasticsearch,而如今它能夠將日誌發送給 Kafka 和 Redis,在 5.x 版本中,它還具有過濾的能力。

典型應用場景

Filebeat 在解決某些特定的問題時:日誌存於文件,咱們但願

① 將日誌直接傳輸存儲到 Elasticsearch。這僅在咱們只是抓去(grep)它們或者日誌是存於 JSON 格式(Filebeat 能夠解析 JSON)。或者若是打算使用 Elasticsearch 的 Ingest 功能對日誌進行解析和豐富。

② 將日誌發送到 Kafka/Redis。因此另一個傳輸工具(例如,Logstash 或自定義的 Kafka 消費者)能夠進一步豐富和轉發。這裏假設選擇的下游傳輸工具可以知足咱們對功能和性能的要求。

1.1 FileBeat工做原理

Filebeat是本地文件的日誌數據採集器。做爲服務器上的代理安裝,Filebeat監視日誌目錄或特定的日誌文件tail -f file並將它們轉發給ES、Logstash、Kafka

Filebeat由二個主要組件組成:prospectorhavvester 這些組件一塊兒工做讀取文件並將時間數據發送到指定的輸出

啓動Filebeat時,它會啓動一個或多個查找器,查看您的日誌文件指定的本地路徑。對**prospector**所在的每一個日誌文件,prospector啓動harvester。每一個harvester都會爲新內容讀取單個日誌文件,並將新日誌數據發送到libbeat,後者將聚合事件合併聚合數據發送到Filebeat配置的輸出

kafka-img.png-83.3kB

harvester

負載讀取單個文化的內容。讀取每一個文件,並將內容發送到the output。每一個文件啓動一個harvester,負責打開和關閉文件,這意味着在運行時文件描述符保持打開狀態
若是文件在讀取時被刪除或重命名,Filebeat將繼續讀取文件。在harvester關閉以前,磁盤上的空間被保留。默認狀況下,Filebeat將文件保持打開狀態,直到達到close_inactive狀態

關閉harvester會產生如下結果

1.若是在harvester仍在讀取文件時文件被刪除,則關閉文件句柄,釋放底層資源。
2.文件的採集只會在scan_frequency事後從新開始
3.若是在harvester關閉的狀況下移動文件,則不會繼續處理文件

prospector

負責管理harvester並找到全部要讀取的文件來源。
若是輸入類型爲日誌,則查找器將查找路徑匹配的全部文件,併爲每一個文件啓動一個harvester。每一個prospector都在本身的Go斜程中運行

如下示例將Filebeat配置爲從與指定的匹配的全部日誌文件中收集行:

filebeat.prospectors:- type: log  paths:    - /data/log/*.log    - /data/log4j/*.log

Filebeat目前支持兩種prospector類型:logstdin
每一個prospector類型能夠定義屢次
日誌prospector檢查每一個文件以查看harvester是否須要啓動,是否已經運行

只有在harvest關閉後文件大小發生了變化,纔會讀到新行

注:Filebeat prospector只能讀取本地文件,沒有功能能夠鏈接到遠程主機來讀取存儲的日誌或文件

Filebeat 保持文件狀態

Filebeat 保存每一個文件的狀態並常常講狀態刷新到磁盤上的註冊中心中。該狀態用於記錄harvest正在讀取的最後偏移量,並確保發送全部日誌行。

若是輸出(例如ES或Logstash)沒法訪問,Filebeat會跟蹤最後發送的行,並在輸出再次可用時繼續讀取文件。

在Filebeat運行時,每一個prospector內存中也會保存文件狀態信息。因爲文件能夠被重命名活移動,由於文件名和路徑不足易識別文件。對每一個文件,Filebeat存儲惟一標示符以檢測文件是否先前已經採集過

Filebeat如何確保至少一次交付

Filebeat保證事件至少會被傳送到配置的輸出一次,而且不會丟失數據。Filebeat可以實現此行爲,由於它將每一個事件的傳遞狀態存儲在註冊文件中。在輸出阻塞或未確認全部事件的狀況下,Filebeat將繼續嘗試發送事件,直到接收端確認已收到。

若是Filebeat在發送事件的過程當中關閉,它不會等待輸出確認全部收到事件。發送到輸出但在Filebeat關閉前未確認的任何事在從新啓動Filebeat時會再次發送。這能夠確保每一個事件至少發送一次,但最終會重複事件發送到輸出。也能夠經過設置shutdown_timeout選項來配置Filebeat以在關閉以前等待特定事件

注:
 Filebeat的至少一次交付保證包括日誌輪換和刪除舊文件的限制。若是將日誌文件寫入磁盤而且寫入速度超過Filebeat能夠處理的速度,或者在輸出不可用時刪除了文件,則可能會丟數據。在Linux,Filebeat也可能由於inode重用而跳過行

本段參考:https://www.jianshu.com/p/6282b04fe06a

2、環境配置

Docker安裝

  
  
  
  





wget http://down.abcdocker.com/docker/docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpmwget http://down.abcdocker.com/docker/docker-ce-17.03.2.ce-1.el7.centos.x86_64.rpmyum 安裝yum install docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm -yyum install docker-ce-17.03.2.ce-1.el7.centos.x86_64.rpm -ysystemctl enable docker systemctl start dockersed -i '/ExecStart=\/usr\/bin\/dockerd/i\ExecStartPost=\/sbin/iptables -I FORWARD -s 0.0.0.0\/0 -d 0.0.0.0\/0 -j ACCEPT' /usr/lib/systemd/system/docker.servicesed -i '/dockerd/s/$/ \-\-storage\-driver\=overlay2/g' /usr/lib/systemd/system/docker.servicesystemctl daemon-reload systemctl restart docker#設置存儲引擎和防火牆

2.1 Tomcat鏡像製做

222.png-34.4kB

咱們這裏以Tomcat項目爲基礎進行測試

  
  
  
  


Docker文件內容以下#這裏須要把apache和jdk下載到本地,須要和Dockerfile在同一目錄wget http://down.abcdocker.com/docker/jdk1.8.0_66.tar.gzwget http://down.abcdocker.com/docker/apache-tomcat-8.5.39.tar.gz[root@i4t tomcat_test]# cat Dockerfile# docker pull centos################################################################################                                INSTALLATION################################################################################                              www.i4t.com###############################################################################            .o.        .o8                       .o8                      oooo#           .888.      "888                      "888                      `888#          .8"888.      888oooo.   .ooooo.   .oooo888   .ooooo.   .ooooo.   888  oooo   .ooooo.  oooo d8b#         .8' `888.     d88' `88b d88' `"Y8 d88' `888  d88' `88b d88' `"Y8  888 .8P'   d88' `88b `888""8P#        .88ooo8888.    888   888 888       888   888  888   888 888        888888.    888ooo888  888#       .8'     `888.   888   888 888   .o8 888   888  888   888 888   .o8  888 `88b.  888    .o  888#      o88o     o8888o  `Y8bod8P' `Y8bod8P' `Y8bod88P" `Y8bod8P' `Y8bod8P' o888o o888o `Y8bod8P' d888b###                        ****         ****#                      ***  ***      **  ***#                      *      *     **     *##                            **     **#                             ***  **#                               ****#####################################################################################FROM centosMAINTAINER www.i4t.com "cyh@i4t.com"WORKDIR /tmp## Please see https://i4t.com/3552.html   install JDKCOPY jdk1.8.0_66.tar.gz /tmp    RUN tar zxf /tmp/jdk1.8.0_66.tar.gz -C /usr/local/ && rm -rf /tmp/jdk1.8.0_66.tar.gz    RUN ln -s /usr/local/jdk1.8.0_66 /usr/local/jdk#/etc/profile    ENV JAVA_HOME /usr/local/jdk    ENV CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar    ENV PATH $PATH:$JAVA_HOME/bin# add apache# Please see i4t.com && baidu.com    COPY apache-tomcat-8.5.39.tar.gz /tmp    RUN tar zxf apache-tomcat-8.5.39.tar.gz -C /usr/local  && rm -rf /tmp/apache-tomcat-8.5.39.zip    RUN mv /usr/local/apache-tomcat-8.5.39 /usr/local/tomcat#port    EXPOSE 8080################################################################################                                   START###############################################################################ENTRYPOINT /usr/local/tomcat/bin/startup.sh && tail -f /usr/local/tomcat/logs/catalina.out

構建tomcat鏡像

  
  
  
  

[root@i4t ~]# docker build -t i4t.com/tomcat/tomcat.v1 /data/tomcat_test/Sending build context to Docker daemon 205.6 MBStep 1/14 : FROM centos ---> 9f38484d220fStep 2/14 : MAINTAINER www.i4t.com "cyh@i4t.com" ---> Using cache ---> 4a7c687c3bf7Step 3/14 : WORKDIR /tmp ---> Using cache ---> 4bc766547f5cStep 4/14 : COPY jdk1.8.0_66.tar.gz /tmp ---> Using cache ---> 2fd3ec55a068Step 5/14 : RUN tar zxf /tmp/jdk1.8.0_66.tar.gz -C /usr/local/ && rm -rf /tmp/jdk1.8.0_66.tar.gz ---> Using cache ---> 3cb37cce7028Step 6/14 : RUN ln -s /usr/local/jdk1.8.0_66 /usr/local/jdk ---> Using cache ---> 790555e157f7Step 7/14 : ENV JAVA_HOME /usr/local/jdk ---> Using cache ---> 9a0bcf883c98Step 8/14 : ENV CLASSPATH .:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar ---> Using cache ---> 9d4f614f7979Step 9/14 : ENV PATH $PATH:$JAVA_HOME/bin ---> Using cache ---> b99a4730d3eaStep 10/14 : COPY apache-tomcat-8.5.39.tar.gz /tmp ---> Using cache ---> 73a8408bc879Step 11/14 : RUN tar zxf apache-tomcat-8.5.39.tar.gz -C /usr/local  && rm -rf /tmp/apache-tomcat-8.5.39.zip ---> Using cache ---> 34d63da07d30Step 12/14 : RUN mv /usr/local/apache-tomcat-8.5.39 /usr/local/tomcat ---> Using cache ---> 7dae5cb15207Step 13/14 : EXPOSE 8080 ---> Using cache ---> 8ec8c8470149Step 14/14 : ENTRYPOINT /usr/local/tomcat/bin/startup.sh && tail -f /usr/local/tomcat/logs/catalina.out ---> Using cache ---> 0eac795556fbSuccessfully built 0eac795556fb#更改鏡像名稱docker tag [原鏡像]  [新鏡像]例子:docker tag i4t.com/tomcat/tomcatv1  i4t.com/tomcat/i4tv1

鏡像打包完成後,咱們在docker容器手動啓動鏡像進行測試

  
  
  
  

[root@i4t tomcat]# docker run -idt --name i4t_tomcat_test -p 80:8080 i4t.com/tomcat/tomcat.v1f6f1621d9464ea2d17a4611393b1950e36f5b7b6c9234f322d636d47fee94e10#run 運行容器-it 進入容器-d  後臺運行--name 新容器名稱-p 映射端口i4t.com/tomcat/tomcat.v1 鏡像名稱

在Docker本機使用curl命令驗證服務是否正常運行 (主要是判斷docker build是否有問題)
curl.png-484.8kB
容器正常啓動訪問說明咱們tomcat鏡像是沒有問題
tomcat-web.png-455.6kB

當咱們鏡像打包完成docker啓動正常以後,直接push到Harbor鏡像倉庫便可

docker push i4t.com/tomcat/i4tv1

下面是harbor搭建文檔
harbor安裝

這裏稍微說明一點,若是是線上環境,須要替換war包操做。能夠將上面製做的tomcat鏡像爲基礎鏡像,在寫一個dockerfile。我這裏提供一下

  
  
  
  


#這裏不是重點,我不詳細說。步驟放在這# cat dockerfile FROM i4t.com/tomcat/tomcat.v1MAINTAINER abcdocker "i4t.com"COPY ROOT.tgz /data/RUN tar zxf /data/ROOT.tgz -C /usr/local/tomcat/webapps/ && rm -rf /data/ROOT.tgz# docker build -t tomcat_video:v1# docker tag tomcat_video:v1 i4t.com/tomcat_video:v1 # docker push i4t.com/tomcat_video:v1

2.2 Filebeat 製做鏡像

咱們這裏講的是使用Filebeat來收集日誌,ELK安裝具體能夠參考
ELK 二進制安裝並收集nginx日誌

filebeat-logo.png-196.2kB

tomcat服務已經能夠正常運行,如今咱們部署filebeat鏡像

[root@i4t filebeat]# docker build -t tomcat_filebeat:v2 /data/filebeat/Sending build context to Docker daemon 50.63 MBStep 1/9 : FROM docker.io/centos ---> 9f38484d220fStep 2/9 : MAINTAINER www.i4t.com <cyh@i4t.com> ---> Using cache ---> bbc4c3a8b392Step 3/9 : WORKDIR /usr/local ---> Using cache ---> 7af655ce0f61Step 4/9 : ENV FILEBEAT_VERSION 6.7.0 ---> Using cache ---> 227c02e65a80Step 5/9 : RUN set -x       && curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-${FILEBEAT_VERSION}-linux-x86_64.tar.gz       && tar xf filebeat-${FILEBEAT_VERSION}-linux-x86_64.tar.gz -C /usr/local       && ln -s /usr/local/filebeat-${FILEBEAT_VERSION}-linux-x86_64 /usr/local/filebeat       && chmod +x /usr/local/filebeat/filebeat        && mkdir -p /etc/filebeat ---> Running in 6d86756e5c4a+ curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.7.0-linux-x86_64.tar.gz  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current                                 Dload  Upload   Total   Spent    Left  Speed100 11.1M  100 11.1M    0     0   382k      0  0:00:29  0:00:29 --:--:-- 1149k+ tar xf filebeat-6.7.0-linux-x86_64.tar.gz -C /usr/local+ ln -s /usr/local/filebeat-6.7.0-linux-x86_64 /usr/local/filebeat+ chmod +x /usr/local/filebeat/filebeat+ mkdir -p /etc/filebeat ---> 8920fb78ff5dRemoving intermediate container 6d86756e5c4aStep 6/9 : ADD ./docker-entrypoint.sh /usr/bin/ ---> d2989df722b1Removing intermediate container dbe668e7cd75Step 7/9 : RUN chmod +x /usr/bin/docker-entrypoint.sh ---> Running in eb7c7304647a ---> 5ea2cb81cad6Removing intermediate container eb7c7304647aStep 8/9 : ENTRYPOINT docker-entrypoint.sh ---> Running in bed03d3aa8e3 ---> cb9d8de0d329Removing intermediate container bed03d3aa8e3Step 9/9 : CMD /usr/local/filebeat/filebeat -e -c /etc/filebeat/filebeat.yml ---> Running in 253dcfbc0ff7 ---> f26910a9c61dRemoving intermediate container 253dcfbc0ff7Successfully built f26910a9c61d

Filebeat Dockerfile內容

  
  
  
  







[root@i4t filebeat]# cat Dockerfile################################################################################                                INSTALLATION###############################################################################FROM  docker.io/centosMAINTAINER www.i4t.com <cyh@i4t.com># Install FilebeatWORKDIR /usr/localENV FILEBEAT_VERSION=5.4.0RUN set -x \      && curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-${FILEBEAT_VERSION}-linux-x86_64.tar.gz \      && tar xf filebeat-${FILEBEAT_VERSION}-linux-x86_64.tar.gz -C /usr/local \      && ln -s /usr/local/filebeat-${FILEBEAT_VERSION}-linux-x86_64 /usr/local/filebeat \      && chmod +x /usr/local/filebeat/filebeat  \      && mkdir -p /etc/filebeatADD ./docker-entrypoint.sh /usr/bin/RUN chmod +x /usr/bin/docker-entrypoint.shENTRYPOINT ["docker-entrypoint.sh"]CMD ["/usr/local/filebeat/filebeat","-e","-c","/etc/filebeat/filebeat.yml"]######### 腳本內容[root@i4t filebeat]# cat docker-entrypoint.sh#!/bin/bashconfig=/etc/filebeat/filebeat.ymlenvecho 'Filebeat init process done. Ready for start up.'echo "Using the following configuration:"cat /etc/filebeat/filebeat.ymlexec "$@"## Dockerfile和腳本在同一個目錄下,而後進行build

打包完成後咱們push到harbor倉庫,和tomcat鏡像同樣的操做

[root@i4t tmp]# docker tag tomcat_filebeat:v2  i4t.com/filebeat/v1[root@i4t tmp]# docker push i4t.com/filebeat/v1:latestThe push refers to a repository [i4t.com/filebeat/v1]de0545fc627a: Pushed8bd9a1a2863c: Pushedf01cc0f2d07b: Pushedd69483a6face: Pushedlatest: digest: sha256:03a8f15e28d012eb19aeb29b4920f7ab5df5365054896fa40f83a97aa1cb55cf size: 1155

2.3 Elasticsearch安裝

1.JDK環境安裝
 2.Elasticsearch安裝

這裏不寫了,博客有不少了
參考https://i4t.com/3552.html

服務正常啓動便可     (咱們這裏只須要安裝es和es-head插件便可,logstash在另一臺)
image_1d7jo79vjgsn136116fk1chd592r.png-827.5kB

2.4 kibana安裝

https://i4t.com/3552.html
只要服務正常啓動,沒有報錯便可
image_1d7jpvv551sb0fjd1opt1aef5f45g.png-267.4kB

2.5 測試鏡像

這裏咱們使用k8s環境進行測試,沒有搭建k8s能夠參考 [k8s 1.11源碼安裝]

tomcat.yaml

  
  
  
  

[root@yzsjhl82-119 tomcat_test]# cat tomcat_test.yamlapiVersion: extensions/v1beta1kind: Deploymentmetadata:  name: tomcat-abcdocker  namespace: defaultspec:  replicas: 1  template:    metadata:      labels:        k8s-app: tomcat-web    spec:      containers:      - image: 鏡像地址/filebeat/v2        imagePullPolicy: Always        name: filebeat        volumeMounts:        - name: app-logs          mountPath: /logs        - name: filebeat-config          mountPath: /etc/filebeat/      - image: 鏡像地址/filebeat/tomcat.v1:latest        name : tomcat-web        imagePullPolicy: Always        ports:        - containerPort: 8080        volumeMounts:        - name: app-logs          mountPath: /usr/local/tomcat/logs      volumes:      - name: app-logs        emptyDir: {}      - name: filebeat-config        configMap:          name: filebeat-config

tomcat_server.xml (端口暴露)

[root@master tomcat_test]# cat tomcat_server.yamlapiVersion: v1kind: Servicemetadata:  name: tomcat-web  labels:    k8s-app: tomcat-webspec:  type: NodePort  ports:  - port: 8080    protocol: TCP    targetPort: 8080    name: http    nodePort: 30001  selector:    k8s-app: tomcat-web

configmap.xml
經過configmap的形式建立filebeat.yml配置文件,指定收集日誌的路徑、elasticsearch的配置信息及索引名稱

  
  
  
  

[root@master tomcat_test]# cat tomcat_configmap.yamlapiVersion: v1kind: ConfigMapmetadata:  name: filebeat-configdata:  filebeat.yml: |    filebeat.prospectors:    - input_type: log      paths:        - "/logs/*"    output.elasticsearch:      hosts: ["10.4.82.115:9200"]      index: "filebeat-tomcat-log"# hosts指定es地址# index 索引名稱

建立索引

[root@master tomcat_test]# kubectl create -f tomcat_configmap.yamlconfigmap/filebeat-config created[root@master tomcat_test]# kubectl create -f tomcat_test.yamldeployment.extensions/tomcat-abcdocker created[root@master tomcat_test]# kubectl create -f tomcat_server.yamlservice/tomcat-web created

2.6 服務檢查

咱們須要檢查如下

1.檢查pod是否運行正常
2.檢查server是否正常
3.檢查configmap是否建立完成
4.kubectl經常使用命令  https://k.i4t.com/15356201695268.html

查看服務整個狀態是否正常

  
  
  
  


[root@master tomcat_test]# kubectl get svc,pod,configmapNAME                    TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGEservice/kubernetes      ClusterIP   10.254.0.1       <none>        443/TCP          97dservice/nginx-service   NodePort    10.254.167.71    <none>        80:31000/TCP     97dservice/tomcat-web      NodePort    10.254.237.208   <none>        8080:30001/TCP   3mNAME                                    READY     STATUS    RESTARTS   AGEpod/tomcat-abcdocker-56f9547997-2zz7c   2/2       Running   0          3mNAME                        DATA      AGEconfigmap/filebeat-config   1         3m

查看pod容器是否異常

  
  
  
  


1.查看tomcat鏡像日誌kubectl logs tomcat-abcdocker-56f9547997-2zz7c filebeat#這裏的pod名稱可能不是這個2.查看filebeat鏡像日誌kubectl logs tomcat-abcdocker-56f9547997-2zz7c tomcat-web

Kubernetes kubectl 命令自動補全

容器只要沒有error報錯就ok

Filebaet log
藍色爲ES地址,紅色爲啓動正常
image_1d7jnsolpkc91esh16pamt51s0311.png-853.2kB
tomcat log
image_1d7jo02tp1n4nurb11l9uo01vob21.png-1135.6kB

k8s服務是沒有問題,咱們瀏覽器訪問一下
端口爲31000
image_1d7jo3vm015gq1es46jhth51q9b2e.png-237.3kB

接下來查看一下es日誌

[root@i4t ~]# curl -XGET '10.4.82.115:9200/_cat/indices?v&pretty'health status index               uuid                   pri rep docs.count docs.deleted store.size pri.store.sizeyellow open   filebeat-tomcat-log jRWrRLQjQ2SPTAe-wmy_EA   5   1        272            0    244.6kb        244.6kb

經過head插件查看是否有數據
image_1d7johc8q1fmi1po1qr14l81t8r38.png-62.9kB

而且已經實時打印
image_1d7joidqkmfr103li87rio1l2l3l.png-503.5kB

進入kibana控制檯
image_1d7jpruua1i8j1h7hqd1bq4bkd4m.png-168.1kB

image_1d7jpt76018hn37gmu1djt1c7k53.png-235.8kB

相關文章
相關標籤/搜索