AWS EKS 集群日志上报观测云实践

AWS Lambda 介绍
AWS Lambda 是亚⻢逊提供的⼀种⽆服务器计算服务。它允许开发⼈员在⽆需管理服务器的情况下运⾏代码。AWS Lambda 基于事件驱动的模型,当触发指定的事件时,Lambda 会⾃动执⾏相应的代码逻辑。
Amazon CloudWatch 日志
CloudWatch 日志使您能够将您使用的所有系统、应用程序和 AWS 服务的日志集中到一个高度可扩展的单一服务中。然后,您可以轻松查看它们,在它们中搜索特定的错误代码或模式,根据特定字段对其进行筛选,或者将其安全地存档以备将来分析。 CloudWatch 日志使您可以将所有日志(无论其来源如何)视为按时间排序的单一且一致的事件流。
方案说明
AWS 集群日志流触发器,通过转发函数上报 DataKit,并上报观测云。

前置条件
AWS 集群开启日志投递至 CloudWatch Logs
安装 DataKit,公网可直接访问
开通观测云账户
接入步骤
配置 DataKit 服务
安装 DataKit
复制代码
开启外部访问 DataKit HTTP
复制代码
默认的 HTTP 服务地址是 localhost:9529
,如果 9529 端口被占用,或希望从外部访问 DataKit 的 HTTP 服务(比如希望接收 RUM 或 Tracing 数据),可将其修改成:
复制代码
重启 DataKit
复制代码
查看采集器是否开启
复制代码
配置 Lambda
创建 Lambda 函数


克隆转发脚本

修改上报 DataKit 地址。

测试写入


模板选择 couldwatch-logs 。


看到日志写入成功。
绑定 EKS log 触发器


绑定完成后有新的集群日志即可上报观测云。

FAQ
转发脚本地址
https://github.com/GuanceCloud/guance-serverless-functions/blob/main/AWS/Lambda/lambda-forward.py
操作所需最小权限
logs: CreateLogGroup
logs: CreateLogStream
logs: PutLogEvents
lambda: *
AmazonS3ReadOnlyAccess
评论