我有docker zookeeper,kafka,telegraf,Influxdb,postgres等
version: '2.1'
services:
zookeeper:
image: wurstmeister/zookeeper
ports:
- "2181:2181"
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
healthcheck:
test: echo stat | nc localhost 2181
interval: 10s
timeout: 10s
retries: 3
kafka:
image: wurstmeister/kafka:0.11.0.0
ports:
- "9092:9092"
environment:
OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_BROKER_ID: 3
KAFKA_ADVERTISED_PORT: 9092
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092
LOG4J_LOGGER_KAFKA_AUTHORIZER_LOGGER: TRACE
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_CREATE_TOPICS: "testservise:1:1,testServiceInQueue:1:1,anotherTestServiceInQueue:1:1,storageServiceInQueue:1:1"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
depends_on:
zookeeper:
condition: service_healthy
influxdb:
image: influxdb:latest
container_name: influxdb
ports:
- "8083:8083"
- "8086:8086"
- "8090:8090"
telegraf:
image: telegraf:latest
restart: always
container_name: telegraf
hostname: localhost
links:
- influxdb
volumes:
- ${PWD}/.telegraf/telegraf.conf
首先,我做这个telegraf -sample-config -input-filter kafka_consumer -output-filter influxdb > telegraf.conf
因为需要使用telegraf / plugins / inputs / kafka_consumer是不是正确的docker-compose文件?
之后我需要从kafka获取信息,当我的测试服务发送一些东西,我怎么做或者如何正确谷歌它?
你的撰写文件看起来很好
默认情况下,我相信telegraf配置看起来像这样
[[inputs.kafka_consumer]]
## kafka servers
brokers = ["localhost:9092"]
## topic(s) to consume
topics = ["telegraf"]
您需要使用kafka:9092
并相应地更新主题。而且你还需要更新潮流输出,也可能远离localhost
您还可以使用Kafka Connect将kafka消息写入InfluxDB