我想将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]
有人可以给我一些指导吗?
答案 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)集成在一起。