Metricbeat-Kafka-Logstash配置

时间:2019-05-21 07:54:32

标签: elasticsearch apache-kafka elastic-stack metricbeat

我想将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之前,我正在做.\start-service metricbeat(Windows)。

Elasticsearch服务器,Kibana服务器,Zookeeper服务器,Kafka服务器运行正常。

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

  

[2019-05-23T17:26:51,668] [INFO] [org.apache.kafka.common.utils.AppInfoParser] Kafka版本: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]群集ID:eJYo7GgaTZitGoeiROlk2w   [2019-05-23T17:26:52,211] [INFO] [logstash.agent]成功启动Logstash API端点{:port => 9600}   [2019年05月17日id:2147483647机架:空)   [2019-05-23T17:26:52,229] [INFO] [org.apache.kafka.clients.consumer.internals.ConsumerCoordinator] [Consumer clientId = logstash-0,groupId = logstash]撤销先前分配的分区[]   [2019-05-23T17:26:52,231] [INFO] [org.apache.kafka.clients.consumer.internals.AbstractCoordinator] [消费者clientId = logstash-0,groupId = logstash](重新)加入组   [2019-05-23T17:26:52,274] [INFO] [org.apache.kafka.clients.consumer.internals.AbstractCoordinator] [消费者clientId = logstash-0,groupId = logstash]已成功加入第23代组   [2019-05-23T17:26:52,281] [INFO] [org.apache.kafka.clients.consumer.internals.ConsumerCoordinator] [Consumer clientId = logstash-0,groupId = logstash]设置新分配的分区[test-0]

有人可以给我一些指导吗?

1 个答案:

答案 0 :(得分:0)

我终于设法通过 Metricbeat 收集了系统数据,并通过 Kafka 将其发送到 Logstash ,并将其存储在 Elasticsearch 中。 strong>,然后在基巴纳语中看到它们。

这不是一个理想的答案。我将对其进行更新,以供日后进一步了解。

对于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)集成在一起。