Я хочу отправить данные Metribeat в Kafka. И от кафки до Логсташа.
Вот мой 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: ~
А от Какфы до Логсташа это конфигурационный файл.
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.yml
,
output.kafka:
hosts: ["localhost:9092"]
topic: "testkafka" // I created this topic in Kafka earlier.
Для конфигурации Логсташ,
input {
kafka {
bootstrap_servers => "localhost:9092"
topics => ["testkafka"]
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "testkafka"
}
}
По крайней мере, с этими конфигурациями я смог интегрировать ELK с K(Kafka).