簡體   English   中英

Logstash 沒有出現在 Kibana 索引模式中

[英]Logstash doesn't show up on the Kibana index pattern

在此處輸入圖像描述我正在嘗試在我的數字海洋 kubernetes 集群上安裝 ELFK 堆棧,但如果我執行 /_cat/indices/,我看不到 logstash 索引。
在 kibana 儀表板中,我只能看到 metricbeat 索引模式和關於我的 kubernetes 集群的指標。 我還可以在我的集群上看到 logstash 部署。 知道如何配置 logstash 以將其顯示在 Kibana 索引模式列表中嗎?

logstash-deployment.yaml:

apiVersion: v1
kind: ConfigMap
metadata:
  name: logstash-configmap
  namespace: kube-system
data:
  logstash.yml: |
    http.host: "0.0.0.0"
    path.config: /usr/share/logstash/pipeline
  logstash.conf: |
    # all input will come from filebeat, no local logs
    input {
      beats {
        port => 5044
      }
    }
    filter {
      if [message] =~ /^\{.*\}$/ {
        json {
          source => "message"
        }
      }
      if [ClientHost] {
        geoip {
          source => "ClientHost"
        }
      }
    }
    output {
        elasticsearch {
            hosts => [ "elasticsearch-logging:9200" ]
        }
    }
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: logstash-deployment
  namespace: kube-system
spec:
  replicas: 1
  selector:
    matchLabels:
      app: logstash
  template:
    metadata:
      labels:
        app: logstash
    spec:
      containers:
      - name: logstash
        image: docker.elastic.co/logstash/logstash:6.3.0
        ports:
        - containerPort: 5044
        volumeMounts:
          - name: config-volume
            mountPath: /usr/share/logstash/config
          - name: logstash-pipeline-volume
            mountPath: /usr/share/logstash/pipeline
      volumes:
      - name: config-volume
        configMap:
          name: logstash-configmap
          items:
            - key: logstash.yml
              path: logstash.yml
      - name: logstash-pipeline-volume
        configMap:
          name: logstash-configmap
          items:
            - key: logstash.conf
              path: logstash.conf
---
kind: Service
apiVersion: v1
metadata:
  name: logstash-service
  namespace: kube-system
spec:
  selector:
    app: logstash
  ports:
  - protocol: TCP
    port: 5044
    targetPort: 5044
  type: ClusterIP

如果我能得到一些幫助,將不勝感激。

首先,使用以下命令運行您的 logstash:

output {
  stdout { codec => json }
}

當您確保在 output 之前一切正常時,將索引名稱添加到您的 Logstash:

output {
  elasticsearch {
    hosts => [ "elasticsearch-logging:9200" ]
    index => "MyPreciousData"
  }
}

並且不要忘記在那里添加某種級別的安全性、用戶/密碼或 API 令牌,無論您在那里使用什么:

output {
  elasticsearch {
    hosts => [ "elasticsearch-logging:9200" ]
    index => "MyPreciousData"
    api_key => "iAmThEApIKeY"
    ssl => true
  }
}

並確保您的用戶有權創建索引。

一旦你有你的(自動創建的)索引,go 提前到堆棧管理 - > Kibana - > 索引模式並基於該索引創建一個。

PS 下一步將不依賴於索引自動創建和數據類型/結構推斷,而是明確地這樣做

暫無
暫無

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

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