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

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

【趙強(qiáng)老師】Kubernetes平臺中日志收集方案

【趙強(qiáng)老師】Kubernetes平臺中日志收集方案

網(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)建站歡迎大家使用!

一、K8s整體日志收集方案

整體的日志收集方案,如下圖所示:

【趙強(qiáng)老師】Kubernetes平臺中日志收集方案

  1. Filebeat是本地文件的日志數(shù)據(jù)采集器,可監(jiān)控日志目錄或特定日志文件(tail file),并將它們轉(zhuǎn)發(fā)給Elasticsearch或Logstatsh進(jìn)行索引、kafka等。帶有內(nèi)部模塊(auditd,Apache,Nginx,System和MySQL),可通過一個(gè)指定命令來簡化通用日志格式的收集,解析和可視化。
  2. ELK是Elasticsearch、Logstash、Kibana的簡稱,這三者是核心套件,但并非全部。
  • Elasticsearch是實(shí)時(shí)全文搜索和分析引擎,提供搜集、分析、存儲數(shù)據(jù)三大功能;是一套開放REST和JAVA API等結(jié)構(gòu)提供高效搜索功能,可擴(kuò)展的分布式系統(tǒng)。它構(gòu)建于Apache Lucene搜索引擎庫之上。
  • Logstash是一個(gè)用來搜集、分析、過濾日志的工具。它支持幾乎任何類型的日志,包括系統(tǒng)日志、錯(cuò)誤日志和自定義應(yīng)用程序日志。它可以從許多來源接收日志,這些來源包括 syslog、消息傳遞(例如 RabbitMQ)和JMX,它能夠以多種方式輸出數(shù)據(jù),包括電子郵件、websockets和Elasticsearch。
  • 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)行采集.

【趙強(qiáng)老師】Kubernetes平臺中日志收集方案

  • Pod中附加專用日志收集的容器:每個(gè)運(yùn)行應(yīng)用程序的Pod中增加一個(gè)日志收集容器,使用emtyDir共享日志目錄讓日志收集程序讀取到。

【趙強(qiáng)老師】Kubernetes平臺中日志收集方案

  • 應(yīng)用程序直接推送日志:不屬于Kubernetes范圍。

【趙強(qiáng)老師】Kubernetes平臺中日志收集方案

三、安裝ELK

  • 安裝JDK:這里我們使用的是jdk-8u181-linux-x64.tar.gz(安裝過程省去,非常簡單)
  • 安裝Elasticsearch:直接解壓啟動(dòng),即可,執(zhí)行下面的語句測試ES。

【趙強(qiáng)老師】Kubernetes平臺中日志收集方案

  • 安裝Kibana:核心配置文件config/kibana.yml
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
  • 安裝logstash:核心配置文件config/logstash.conf
input {
  beats {
    port => 5044
  }
}
output {
  elasticsearch {
    hosts => ["http://localhost:9200"]
    index => "k8s-log-%{+YYYY-MM-dd}"
  }
}
啟動(dòng):bin/logstash -f config/logstash.conf

四、收集k8s組件日志

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的生成的信息。

【趙強(qiáng)老師】Kubernetes平臺中日志收集方案

【趙強(qiáng)老師】Kubernetes平臺中日志收集方案


網(wǎng)站標(biāo)題:【趙強(qiáng)老師】Kubernetes平臺中日志收集方案
URL分享:http://weahome.cn/article/ggdihg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部