是否可通过Filebeat直接输出到Azure EventHub 需Kafka及存储账户吗
Filebeat 对接 Azure Event Hub 技术问题解答
1. 能否直接配置 output.azure 投递本地日志,是否必须用 Kafka 中转?
Filebeat 官方暂未提供原生的 output.azure 输出模块,无法直接通过该配置项完成本地文件日志到 Event Hub 的直投。
但 Kafka 不是必须的中转组件,你可以选择其他无中转的直投方案完成日志注入。
2. 是否只有 Kafka 输出模块这一种可行的对接方案?
不是,Kafka 协议对接只是最常用的方案,还有以下几种可选项:
- Kafka 协议对接(推荐):利用 Azure Event Hub 原生兼容 Kafka 1.0+ 协议的特性,直接配置 Filebeat 的
output.kafka模块,把 Event Hub 命名空间地址、共享访问密钥、Topic 对应 Event Hub 名称填入对应配置项即可使用,不需要额外部署 Kafka 集群。 - HTTP 接口直投:配置 Filebeat 的
output.http模块,直接调用 Event Hub 的 REST API 发送日志,只需在请求头中携带认证信息即可,适合小流量的日志场景。 - Logstash 中转对接:如果你的日志需要先做清洗、格式化等预处理,可以把 Filebeat 日志先发到 Logstash,用 Logstash 官方的
logstash-output-azure_event_hubs插件完成到 Event Hub 的投递。
3. 注入日志时存储账户是否为必须配置的资源?
存储账户不是必须的,仅在特定场景需要用到:
- 如果你用上面提到的 Kafka 协议直投、HTTP 接口直投、Logstash 中转直投的方案,全程不需要额外配置存储账户。
- 只有当你采用了「先把日志写入 Azure Blob 存储再同步到 Event Hub」的中转方案,或者开启了 Event Hub 的「捕获」功能需要把收到的日志持久化存储时,才需要配置对应的存储账户。
内容的提问来源于stack exchange,提问作者Katey
相关产品推荐
相关产品推荐

