Metricbeat-Kafka-Logstash 配置

Metricbeat-Kafka-Logstash Configuration

我想发送Metribeat数据到Kafka。从kafka到Logstash。

这是我的metricbeat.yml

metricbeat.config.modules:
  # Glob pattern for configuration loading
  path: ${path.config}/modules.d/*.yml

  # Set to true to enable config reloading
  reload.enabled: false

setup.template.settings:
  index.number_of_shards: 1
  index.codec: best_compression

setup.dashboards.enabled: false

output.kafka:

    hosts: ["kafka:9092"]   // I only have one host. 
    topic: "%{[fields.log_topic]}"   
    compression: gzip

processors:
  - add_host_metadata: ~
  - add_cloud_metadata: ~

从Kakfa到Logstash,这是配置文件。

input {
    kafka {
            bootstrap_servers => "localhost:9092"
            topics => ["test"]
    }
}

output {
  elasticsearch {
    hosts => ["http://localhost:9200"]
    manage_template => false
    index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"

我想从 Logstash 将数据发送到 Elasticsearch 以供 Kibana 可视化。

但是,我在 Elasticsearch 中没有看到任何索引。

我在 .\metricbeat.exe setup -e (Windows) 之前 运行 .\start-service metricbeat.

Elasticsearch 服务器、Kibana 服务器、Zookeeper 服务器、Kafka 服务器 运行 都很好。

我的 logstash 看起来还不错。以下是我从 cmd 中看到的内容。

[2019-05-23T17:26:51,668][INFO ][org.apache.kafka.common.utils.AppInfoParser] Kafka version : 2.1.0 [2019-05-23T17:26:51,738][INFO ][org.apache.kafka.common.utils.AppInfoParser] Kafka commitId : eec43959745f444f [2019-05-23T17:26:52,208][INFO ][org.apache.kafka.clients.Metadata] Cluster ID: eJYo7GgaTZitGoeiROlk2w [2019-05-23T17:26:52,211][INFO ][logstash.agent ] Successfully started Logstash API endpoint {:port=>9600} [2019-05-23T17:26:52,222][INFO ][org.apache.kafka.clients.consumer.internals.AbstractCoordinator] [Consumer clientId=logstash-0, groupId=logstash] Discovered group coordinator DESKTOP-MOVCIN1:9092 (id: 2147483647 rack: null) [2019-05-23T17:26:52,229][INFO ][org.apache.kafka.clients.consumer.internals.ConsumerCoordinator] [Consumer clientId=logstash-0, groupId=logstash] Revoking previously assigned partitions [] [2019-05-23T17:26:52,231][INFO ][org.apache.kafka.clients.consumer.internals.AbstractCoordinator] [Consumer clientId=logstash-0, groupId=logstash] (Re-)joining group [2019-05-23T17:26:52,274][INFO ][org.apache.kafka.clients.consumer.internals.AbstractCoordinator] [Consumer clientId=logstash-0, groupId=logstash] Successfully joined group with generation 23 [2019-05-23T17:26:52,281][INFO ][org.apache.kafka.clients.consumer.internals.ConsumerCoordinator] [Consumer clientId=logstash-0, groupId=logstash] Setting newly assigned partitions [test-0]

谁能给我一些指导?

我终于用 Metricbeat 收集了系统数据,通过 Kafka[=29= 将它们发送到 Logstash ] 并将它们存储在 Elasticsearch 中,并在 Kibana 中查看它们。

这还不是一个理想的答案。以后我理解的时候再更新。

对于metricbeat.yml配置,

output.kafka:
    hosts: ["localhost:9092"] 
    topic: "testkafka"    // I created this topic in Kafka earlier. 

对于Logstash配置,

input { 
    kafka { 
              bootstrap_servers => "localhost:9092"
              topics => ["testkafka"]
    }
}

output {
   elasticsearch { 
       hosts => ["localhost:9200"]
       index => "testkafka" 
   }
}

至少,通过这些配置,我能够将 ELK 与 K(Kafka) 集成。