上云无忧 > 文档中心 > 腾讯云消息队列 CKafka 实战教程 - Logstash 接入 CKafka
消息队列 CKafka
腾讯云消息队列 CKafka 实战教程 - Logstash 接入 CKafka

文档简介:
Logstash 是一个开源的日志处理工具,可以从多个源头收集数据、过滤收集的数据并对数据进行存储作为其他用途。 Logstash 灵活性强,拥有强大的语法分析功能,插件丰富,支持多种输入和输出源。Logstash 作为水平可伸缩的数据管道,与 Elasticsearch 和 Kibana 配合,在日志收集检索方面功能强大。
*此产品及展示信息均由腾讯云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠
Logstash 是一个开源的日志处理工具,可以从多个源头收集数据、过滤收集的数据并对数据进行存储作为其他用途。
Logstash 灵活性强,拥有强大的语法分析功能,插件丰富,支持多种输入和输出源。Logstash 作为水平可伸缩的数据管道,与 Elasticsearch 和 Kibana 配合,在日志收集检索方面功能强大。

Logstash 工作原理

Logstash 数据处理可以分为三个阶段:inputs → filters → outputs。
1. inputs:产生数据来源,例如文件、syslog、redis 和 beats 此类来源。
2. filters:修改过滤数据, 在 Logstash 数据管道中属于中间环节,可以根据条件去对事件进行更改。一些常见的过滤器包括:grok、mutate、drop 和 clone 等。
3. outputs:将数据传输到其他地方,一个事件可以传输到多个 outputs,当传输完成后这个事件就结束。Elasticsearch 就是最常见的 outputs。
同时 Logstash 支持编码解码,可以在 inputs 和 outputs 端指定格式。

Logstash 接入 Kafka 的优势

可以异步处理数据:防止突发流量。
解耦:当 Elasticsearch 异常的时候不会影响上游工作。
注意
Logstash 过滤消耗资源,如果部署在生产 server 上会影响其性能。

操作步骤

准备工作

下载并安装 Logstash,参见 Download Logstash
下载并安装 JDK 8,参见 Download JDK 8
创建 CKafka 实例

步骤1:获取 CKafka 实例接入地址

1. 登录 CKafka 控制台
2. 在左侧导航栏选择实例列表,单击实例的“ID”,进入实例基本信息页面。
3. 在实例的基本信息页面的接入方式模块,可获取实例的接入地址。

步骤2:创建 Topic

1. 在实例基本信息页面,选择顶部Topic管理页签。
2. 在 Topic 管理页面,单击新建,创建一个名为 logstash_test 的 Topic。

步骤3:接入 CKafka

说明
您可以单击以下页签,查看 CKafka 作为 inputs 或者 outputs 接入的具体步骤。
作为 inputs 接入
作为 outputs 接入
1. 执行 bin/logstash-plugin list,查看已经支持的插件是否含有 logstash-input-kafka。

2. 在 .bin/ 目录下编写配置文件 input.conf。 此处将标准输出作为数据终点,将 Kafka 作为数据来源。
				
input {
kafka {
bootstrap_servers => "xx.xx.xx.xx:xxxx" // ckafka 实例接入地址
group_id => "logstash_group" // ckafka groupid 名称
topics => ["logstash_test"] // ckafka topic 名称
consumer_threads => 3 // 消费线程数,一般与 ckafka 分区数一致
auto_offset_reset => "earliest"
}
}
output {
stdout{codec=>rubydebug}
}
3. 执行以下命令启动 Logstash,进行消息消费。
				
./logstash -f input.conf
返回结果如下:

可以看到刚才 Topic 中的数据被消费出来。
1. 执行 bin/logstash-plugin list,查看已经支持的插件是否含有 logstash-output-kafka。

2. 在.bin/目录下编写配置文件 output.conf。此处将标准输入作为数据来源,将 Kafka 作为数据目的地。
				
input {
stdin{}
}output {
kafka {
bootstrap_servers => "xx.xx.xx.xx:xxxx" // ckafka 实例接入地址
topic_id => "logstash_test" // ckafka topic 名称
}
}
3. 执行如下命令启动 Logstash,向创建的 Topic 发送消息。
				
./logstash -f output.conf

4. 启动 CKafka 消费者,检验上一步的生产数据。

相似文档
  • Beats 平台 集合了多种单一用途数据采集器。这些采集器安装后可用作轻量型代理,从成百上千或成千上万台机器向目标发送采集数据。 Beats 有多种采集器,您可以根据自身的需求下载对应的采集器。本文以 Filebeat(轻量型日志采集器)为例,向您介绍 Filebeat 接入 CKafka 的操作方法,及接入后常见问题的解决方法。
  • CKafka 跨可用区部署: CKafka 专业版支持跨可用区部署,在拥有3个或3个以上可用区的地域购买 CKafka 实例时,可以最多选择四个可用区购买跨可用区实例。该实例分区副本会强制分布在各个可用区节点上,这种部署方式能够让您的实例在单个可用区不可用情况下仍能正常提供服务。
  • 本文主要介绍消息队列 CKafka 版生产和消费消息的最佳实践,帮助您减少消费消息出错的可能性。
  • 简介: 您可以将日志主题的数据投递到腾讯云 Ckafka,然后用于您的实时流计算、或者入库等场景。如果您没有购买腾讯云 Ckafka 实例,可以考虑使用日志服务(Cloud Log Service,CLS)自带的 Kafka 协议消费功能。
  • 操作场景: 日志采集功能是容器服务 TKE 为用户提供的集群内日志采集工具,可以将集群内服务或集群节点特定路径文件的日志发送至 腾讯云日志服务 CLS、消息队列 CKafka 版。日志采集功能适用于需要对 Kubernetes 集群内服务日志进行存储和分析的用户。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部