網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序制作、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了江川免費(fèi)建站歡迎大家使用!
整體的日志收集方案,如下圖所示:
Kibana是一個(gè)基于Web的圖形界面,用于搜索、分析和可視化存儲在 Elasticsearch指標(biāo)中的日志數(shù)據(jù)。它利用Elasticsearch的REST接口來檢索數(shù)據(jù),不僅允許用戶創(chuàng)建他們自己的數(shù)據(jù)的定制儀表板視圖,還允許他們以特殊的方式查詢和過濾數(shù)據(jù)
Node上部署一個(gè)日志收集程序:DaemonSet方式部署日志收集程序。對本節(jié)點(diǎn)/var/log和/var/lib/docker/containers/ 兩個(gè)目錄下的日志進(jìn)行采集.
Pod中附加專用日志收集的容器:每個(gè)運(yùn)行應(yīng)用程序的Pod中增加一個(gè)日志收集容器,使用emtyDir共享日志目錄讓日志收集程序讀取到。
應(yīng)用程序直接推送日志:不屬于Kubernetes范圍。
server.port: 5601 server.host: "192.168.79.110" elasticsearch.hosts: ["http://localhost:9200"] 啟動(dòng):bin/kibana,訪問Web Console:http://192.168.79.110:5601
input { beats { port => 5044 } } output { elasticsearch { hosts => ["http://localhost:9200"] index => "k8s-log-%{+YYYY-MM-dd}" } } 啟動(dòng):bin/logstash -f config/logstash.conf
filebeat的配置文件filebeat.yml使用ConfigMap管理,k8s組件日志記錄在node節(jié)點(diǎn)本機(jī)/var/log/messages目錄下,所以將node節(jié)點(diǎn)/var/log/messages目錄掛載到pod中。創(chuàng)建收集k8s 組件日志/var/log/messages資源。 創(chuàng)建yaml文件如下:k8s-logs.yaml,并執(zhí)行kubectl create -f k8s-logs.yaml
apiVersion: v1 kind: ConfigMap metadata: name: k8s-logs-filebeat-config namespace: kube-system data: filebeat.yml: |- filebeat.prospectors: - type: log paths: - /messages fields: app: k8s type: module fields_under_root: true output.logstash: hosts: ['192.168.79.110:5044'] --- apiVersion: apps/v1 kind: DaemonSet metadata: name: k8s-logs namespace: kube-system spec: selector: matchLabels: project: k8s app: filebeat template: metadata: labels: project: k8s app: filebeat spec: containers: - name: filebeat image: collenzhao/filebeat:6.5.4 args: [ "-c", "/etc/filebeat.yml", "-e", ] resources: requests: cpu: 100m memory: 100Mi limits: cpu: 500m memory: 500Mi securityContext: runAsUser: 0 volumeMounts: - name: filebeat-config mountPath: /etc/filebeat.yml subPath: filebeat.yml - name: k8s-logs mountPath: /messages volumes: - name: k8s-logs hostPath: path: /var/log/messages type: File - name: filebeat-config configMap: name: k8s-logs-filebeat-config
下圖是Kibana的生成的信息。