腾讯云 Serverless 云函数是下一代通用计算平台,提供安全稳定、高效易用的低成本无服务器运行环境。随着 Kafka 社区的繁荣,越来越多的用户开始使用 Kafka 来做日志收集、大数据分析、流式数据处理等。而公有云上的产品 Ckafka 也借助了开源社区的力量,做了很多优化:
同时,在公有云上,云函数也和 CKafka 做了深度联动,并推出了很多非常实用的功能。
如下图,云函数可以实时消费 Ckafka 中的消息,比如做数据转存、日志清洗、实时消费等。并且,像数据转存的功能已经集成到了 Ckafka 的控制台上,用户可以一键开启使用,大大降低了用户使用的复杂度。
对比使用云主机自建 Ckafka Consumer 的方式,云函数帮用户屏蔽掉了很多不必要的开销:
如下图所示,借助云函数和 Ckafka 触发器,可以非常方便实现 CKafka 消息转存到 COS、ES、DB等,那本次也会借助云函数来替代 Logstash,实现 Ckafka 消息罗盘 ES。
和使用 CVM 自建 Logstash 对比,云函数有以下优势:
前置条件
以广州地域为例:
1. 创建云函数
登录云函数控制台,选择地域后,新建函数,选择运行环境Python3.6,搜索“Ckafka”,选中模板函数后,下一步。
在下一步中,点开高级设置:配置环境变量,如下:
必填参数:ES_Address,ES_User,ES_Password,ES_Index_KeyWord
可选填入:
ES_Log_IgnoreWord(需要删除的关键词,缺省则全量写入,如填name,password)
ES_Index_TimeFormat(按照天或者小时设置Index,缺省则按照天建立索引,如填hour)
在高级设置中,配置私有网络,需要选择和 ES 相同 VPC,完成函数创建。
2. 创建 Ckafka 触发器
在函数的【触发管理】页面,创建触发器,配置对应 Topic 的触发方式,提交后即可生效。
3. 查看 ES 和函数运行日志
查看函数运行日志
查看 Kibana
如果想要实现高级日志清洗逻辑,可直接在函数代码中修改逻辑。
针对函数的运行状态,可以自行配置监控告警,实时感知业务运行情况。
立即体验腾讯云 Serverless Demo,获取免费试用额度,请在 PC 端访问:
serverless.cloud.tencent.com/start?c=wx
本文分享自 ServerlessCloudNative 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!