消息队列Kafka版可以作为Input接入Logstash。本文说明如何在VPC环境下通过Logstash从消息队列Kafka版消费消息。
前提条件
在开始本教程前,请确保您已完成以下操作:
步骤一:获取接入点
Logstash通过消息队列Kafka版的接入点与消息队列Kafka版建立连接。
- 登录消息队列Kafka版控制台。
- 在左侧导航栏,单击实例详情。
- 在实例详情页面,选择要作为Input接入Logstash的实例。
- 在基本信息区域,获取实例的接入点。
步骤二:创建Topic
创建用于存储消息的Topic。
- 在消息队列Kafka版控制台的左侧导航栏,单击Topic管理。
- 在Topic管理页面,单击创建Topic。
- 在创建Topic对话框,输入Topic信息,然后单击创建。
步骤三:发送消息
向创建的Topic发送消息。
- 在消息队列Kafka版控制台的Topic管理页面,找到创建的Topic,在其右侧操作列,单击发送消息。
- 在发送消息对话框,输入消息信息,然后单击发送。
步骤四:创建Consumer Group
创建Logstash所属的Consumer Group。
- 在消息队列Kafka版控制台的左侧导航栏,单击Consumer Group管理。
- 在Consumer Group管理页面,单击创建Consumer Group。
- 在创建Consumer Group页面,输入Consumer Group信息,然后单击创建。
步骤五:Logstash消费消息
在安装了Logstash的机器上启动Logstash,从创建的Topic中消费消息。
- 执行cd命令切换到logstash的bin目录。
- 创建input.conf配置文件。
- 执行命令
vim input.conf
创建空的配置文件。
- 按i键进入插入模式。
- 输入以下内容。
input {
kafka {
bootstrap_servers => "192.168.XXX.XXX:9092,192.168.XXX.XXX:9092,192.168.XXX.XXX:9092"
group_id => "logstash_group"
topics => ["logstash_test"]
consumer_threads => 12
auto_offset_reset => "earliest"
}
}
output {
stdout{codec=>rubydebug}
}
参数 |
描述 |
示例值 |
bootstrap_servers |
消息队列Kafka版提供以下VPC接入点:
|
192.168.XXX.XXX:9092,192.168.XXX.XXX:9092,192.168.XXX.XXX:9092 |
group_id |
Cosumer Group的名称。 |
logstash_group |
topics |
Topic的名称。 |
logstash_test |
consumer_threads |
消费线程数。建议与Topic的分区数保持一致。 |
12 |
auto_offset_reset |
重置偏移量。取值:
- earliest:读取最早的消息。
- latest:读取最新的消息。
|
earliest |
- 按Esc键回到命令行模式。
- 按:键进入底行模式,输入wq,然后按回车键保存文件并退出。
- 执行以下命令消费消息。
返回结果如下。
