我只是和Kafka在一起有点困难,但我觉得我已经很接近了。
我在freenas上有两个vm在本地运行。都运行ubuntu18.04 lts。
虚拟机graylog:192.168.1.25。正在运行graylog服务器。从自身检索rsyslogs和apache工作得很好。
vmKafka:192.168.1.16。经营Kafka。
我的目标是让vmgraylog通过graylogkafka udp输入从vmkafka中提取日志。第二个目标是复制它,除了kafka示例将放在我的vps服务器上,从一个网站提供apache日志。当然,我想先在dev环境中测试一下。
我可以让我的vm kafka服务器通过以下代码行成功侦听: /opt/kafka_2.13-2.6.0/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic rsyslog_kafka --from-beginning
这是我的60-kafka.conf文件:
module(load="omkafka")
template(name="json"
type="list"
option.json="on") {
constant(value="{")
constant(value="\"@timestamp\":\"") property(name="timereported" dateFormat="rfc33$
constant(value="\",\"@version\":\"1")
constant(value="\",\"message\":\"") property(name="msg")
constant(value="\",\"host\":\"") property(name="hostname")
constant(value="\",\"severity\":\"") property(name="syslogseverity-text")
constant(value="\",\"facility\":\"") property(name="syslogfacility-text")
constant(value="\",\"programname\":\"") property(name="programname")
constant(value="\",\"procid\":\"") property(name="procid")
constant(value="\"}\n")
}
action(
broker=["192.168.1.16:9092"]
type="omkafka"
topic="rsyslog_kafka"
template="json"
)
我使用的是default server.properties文件,它不包含任何侦听器,只包含默认值。我知道我需要设置 listeners
以及 advertised.listeners
. 我尝试了以下设置但没有效果:
尝试1:侦听器=plaintext://localhost:9092.侦听器=plaintext://192.168.1.16:9092
尝试2:侦听器=plaintext://127.0.0.1:9092.侦听器=plaintext://192.168.1.16:9092
这是在重新加载kafka和rsyslog并确认它们的状态是活动的之后。
尝试读取邮件时出现的错误示例。一堆这样的 [2020-08-20 00:52:42,248] WARN [Consumer clientId=consumer-console-consumer-70205-1, groupId=console-consumer-70205] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)
接下来是无限量的这些: [2020-08-20 00:48:50,598] WARN [Consumer clientId=consumer-console-consumer-11975-1, groupId=console-consumer-11975] Error while fetching metadata with correlation id 254 : {rsyslog_kafka=LEADER_NOT_AVAILABLE} (org.apache.kafka.clients.NetworkClient)
我觉得我很亲近。也许有些事情我只是理解。我读过很多类似的文章,他们说只要用服务器替换ip地址就行了。我觉得我这样做了,但没有成功。
1条答案
按热度按时间vuv7lop31#
你需要让听众
PLAINTEXT://0.0.0.0:9092
为了从外部绑定。播发的侦听器应该设置为一个地址,您的用户可以使用该地址来发现集群
注意:docker compose可能比vms更容易