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
相关推荐
威联通网络存储4 天前
基于TS-h3087XU-RP的大型成套空分设备DCS历史趋势数据治理
aws
A小辣椒19 天前
AWS Clould Support Engineer就职面试题
aws
亚林瓜子21 天前
AWS WAF中如何放行某个触发了托管规则的接口
aws·waf
悠悠1213823 天前
AWS DevOps Agent 体验一周后,我决定把 oncall 手机调成静音了
云计算·aws·devops
yyuuuzz23 天前
独立站运营的几个技术层面常见问题
大数据·运维·服务器·网络·数据库·aws
yyuuuzz23 天前
游戏云服务器推荐的技术选择思路
大数据·运维·服务器·游戏·云计算·aws
kernelcraft25 天前
Boto3:Python 操作 AWS 的官方 SDK
开发语言·python·其他·aws
普通网友1 个月前
Serverless 框架:多云函数部署(AWS + 阿里云 + 腾讯云)
阿里云·serverless·aws
TG_yunshuguoji1 个月前
亚马逊云代理商:如何用 CloudWatch+Lambda 打造自动化告警系统
大数据·运维·自动化·云计算·aws
yyuuuzz1 个月前
独立站搭建的几个核心技术问题
运维·服务器·网络·数据库·aws