簡體   English   中英

Packetbeat 不添加 Kube.netes 元數據

[英]Packetbeat does not add Kubernetes metadata

我已經啟動了一個 minikube(使用 Kube.netes 1.18.3)來測試 ECK,特別是 packetbeat。 minikube 配置文件稱為“packetbeat”(很重要,因為它也是 Virtualbox VM 的主機名),我按照 ECK 快速入門來啟動和運行它。 ElasticSearch(單節點)和 Kibana 運行良好,packetbeat 也在收集流量,但是,我無法將 Kube.netes 元數據添加到字段中。

我在默認命名空間中工作,並創建了一個 ClusterRoleBinding 來查看命名空間中的默認 ServiceAccount。 這運行良好,如果我不這樣做,packetbeat 將報告它無法列出 API 服務器上的 Pod。

這是我用來讓 ECK 部署 packetbeat 的 Beat 配置:

apiVersion: beat.k8s.elastic.co/v1beta1
kind: Beat
metadata:
  name: packetbeat
spec:
  type: packetbeat
  version: 7.9.0
  elasticsearchRef:
    name: quickstart
  kibanaRef:
    name: kibana
  config:
    packetbeat.interfaces.device: any
    packetbeat.protocols:
    - type: http
      ports: [80, 8000, 8080, 9200]
    - type: tls
      ports: [443]
    packetbeat.flows:
      timeout: 30s
      period: 10s
    processors:
    - add_kubernetes_metadata: {}
  daemonSet:
    podTemplate:
      spec:
        terminationGracePeriodSeconds: 30
        hostNetwork: true
        automountServiceAccountToken: true # some older Beat versions are depending on this settings presence in k8s context
        dnsPolicy: ClusterFirstWithHostNet
        containers:
        - name: packetbeat
          securityContext:
            runAsUser: 0
            capabilities:
              add:
              - NET_ADMIN

(這主要是 ECK 示例頁面中稍微修改的示例。)但是,這根本不起作用。 我首先嘗試使用“add_kube.netes_metadata: {}”,但會出現錯誤消息:

2020-08-19T14:23:38.550Z 錯誤 [kube.netes] kube.netes/util.go:117 kube.netes:查詢 pod 失敗,出現錯誤:找不到 pods“packetbeat”{“libbeat.processor”:“ add_kube.netes_metadata"}

當我添加“主機:packetbeat”時,這條消息消失了。 我現在不再收到錯誤,但我也沒有收到 Kube.netes 元數據。 我最感興趣的是名稱空間標記,但我什么也沒得到。 我在日志中沒有看到任何其他錯誤,它目前只是每 30 秒報告一次監控詳細信息。

我究竟做錯了什么? 我可以提供更多信息來幫助我調試嗎?

所以文檔還不清楚。 盡管他們沒有明確 state 它,但您確實需要添加索引器和匹配器。 我的理解是有“默認”的(因為你可以禁用它們),但情況似乎並非如此。 按照文檔中的示例添加索引器和匹配器,使 Kube.netes 元數據成為數據的一部分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM