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

AWS Lambda 介绍

AWS Lambda 是亚⻢逊提供的⼀种⽆服务器计算服务。它允许开发⼈员在⽆需管理服务器的情况下运⾏代码。AWS Lambda 基于事件驱动的模型,当触发指定的事件时,Lambda 会⾃动执⾏相应的代码逻辑。

Amazon CloudWatch 日志

CloudWatch 日志使您能够将您使用的所有系统、应用程序和 AWS 服务的日志集中到一个高度可扩展的单一服务中。然后,您可以轻松查看它们,在它们中搜索特定的错误代码或模式,根据特定字段对其进行筛选,或者将其安全地存档以备将来分析。 CloudWatch 日志使您可以将所有日志(无论其来源如何)视为按时间排序的单一且一致的事件流。

方案说明

AWS 集群日志流触发器,通过转发函数上报 DataKit,并上报观测云。

前置条件

  • AWS 集群开启日志投递至 CloudWatch Logs
  • 安装 DataKit,公网可直接访问
  • 开通观测云账户

接入步骤

配置 DataKit 服务

安装 DataKit

ini 复制代码
# 需要把token 改成观测云空间的实际token值(可在观测云控制台-->集成-->Datakit 上面获取)
DK_DATAWAY="https://openway.guance.com?token=tkn_xxxxxx" bash -c "$(curl -L https://static.guance.com/datakit/install.sh)" 

开启外部访问 DataKit HTTP

bash 复制代码
vim /usr/local/datakit/conf.d/datakit.conf

默认的 HTTP 服务地址是 localhost:9529,如果 9529 端口被占用,或希望从外部访问 DataKit 的 HTTP 服务(比如希望接收 RUMTracing 数据),可将其修改成:

ini 复制代码
[http_api]
   listen = "0.0.0.0:<other-port>"
   # 或使用 IPV6 地址
   # listen = "[::]:<other-port>"

重启 DataKit

bash 复制代码
# 在主机终端输入命令
datakit service -R

查看采集器是否开启

bash 复制代码
# 在主机终端输入命令
datakit monitor

配置 Lambda

创建 Lambda 函数

克隆转发脚本

修改上报 DataKit 地址。

测试写入

模板选择 couldwatch-logs 。

看到日志写入成功。

绑定 EKS log 触发器

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

FAQ

转发脚本地址

github.com/GuanceCloud...

操作所需最小权限

  • logs: CreateLogGroup
  • logs: CreateLogStream
  • logs: PutLogEvents
  • lambda: *
  • AmazonS3ReadOnlyAccess
相关推荐
惘嘫、冋渞14 小时前
AWS同一账号下创建自定义VPC并配置不同区域的对等链接
网络·云计算·aws
悟乙己16 小时前
MLops | 基于AWS Lambda 架构构建强大的机器学习(ML)血缘关系
机器学习·架构·aws
AWS官方合作商1 天前
赋能金融科技:基于AWS的云上量化交易解决方案,让策略研发与部署效率倍增
科技·金融·aws
王道长服务器 | 亚马逊云1 天前
AWS WAF 实战篇|如何防御爬虫、CC攻击与恶意POST请求
云计算·aws
thinktik2 天前
AWS EKS 集成Load Balancer Controller 对外暴露互联网可访问API [AWS 中国宁夏区]
后端·kubernetes·aws
Devin_Zhang2 天前
AWS EKS部署Prometheus和Grafana
监控·aws
王道长服务器 | 亚马逊云3 天前
AWS CloudTrail:让每一次操作都“有迹可循”
服务器·网络·云计算·智能路由器·aws
不知道累,只知道类3 天前
Java 在AWS上使用SDK凭证获取顺序
java·aws
王道长AWS_服务器3 天前
AWS Elastic Load Balancing(ELB)—— 多站点负载均衡的正确打开方式
后端·程序员·aws
AWS官方合作商3 天前
AWS WAF 深度体验:全新控制台,开启云原生WAF与CloudFront无缝联防新纪元
云原生·aws