AWS 专题学习 P12 (CloudWatch、CloudTrail、AWS Config)

专题总览

专题内容总览和系列博客目录
https://blog.csdn.net/weixin_40815218/article/details/135590291
辅助资料(PDF)
https://download.csdn.net/download/weixin_40815218/88741566

1. CloudWatch

1.1 Amazon CloudWatch Metrics

  • CloudWatch 为 AWS 中的每个服务提供指标
  • 指标是要监视的变量(CPU 利用率,网络传入等)
  • 指标属于命名空间
  • 维度是指标的属性(实例ID,环境等)
  • 每个指标最多可以有 10 个维度
  • 指标有时间戳
  • 可以创建 CloudWatch 仪表板来显示指标
  • 可以创建 CloudWatch 自定义指标(例如用于 RAM)

1.2 CloudWatch Metric Streams

  • 不断地将 CloudWatch 指标流式传输到您选择的目标,具有接近实时的传递和低延迟。
    • Amazon Kinesis Data Firehose(以及其目标)
    • 第三方服务提供商:Datadog,Dynatrace,New Relic,Splunk,Sumo Logic 等
  • 可以选择过滤指标,只传输其中的子集

Screenshot 2023-08-27 at 22.29.44.png

1.3 CloudWatch Logs

  • Log groups:任意名称,通常表示一个应用程序
  • Log stream:应用程序中的实例/日志文件/容器
  • 可以定义日志过期策略(永不过期,30天等)
  • CloudWatch Logs可以将日志发送到:
    • Amazon S3(导出)
    • Kinesis Data Streams
    • Kinesis Data Firehose
    • AWS Lambda
    • OpenSearch

CloudWatch Logs - Sources

  • SDK,CloudWatch Logs Agent,CloudWatch 统一代理
  • Elastic Beanstalk:从应用程序收集日志
  • ECS:从容器收集
  • AWS Lambda:从函数日志收集
  • VPC 流日志:特定于 VPC 的日志
  • API Gateway
  • 基于过滤器的 CloudTrail
  • Route53:记录 DNS 查询

CloudWatch Logs Metric Filter & Insights

  • CloudWatch Logs 可以使用过滤表达式
  • 例如,在日志中查找特定的 IP
  • 或者计算日志中 “ERROR” 的出现次数
  • 可以使用指标过滤器触发 CloudWatch 警报
  • 可以使用 CloudWatch Logs Insights 查询日志并将查询添加到 CloudWatch 仪表板中

Screenshot 2023-08-27 at 22.32.42.png

CloudWatch Logs – S3 Export

  • 日志数据最多需要 12 个小时才能导出
  • API 调用是 CreateExportTask
  • 不是(近)实时…使用 Logs Subscriptions 代替

Screenshot 2023-08-27 at 22.33.18.png

CloudWatch Logs Subscriptions

Screenshot 2023-08-27 at 22.34.29.png

CloudWatch Logs Aggregation Multi-Account & Multi Region

Screenshot 2023-08-27 at 22.35.00.png

CloudWatch Logs for EC2

  • 默认情况下,您的 EC2 机器的日志不会发送到 CloudWatch
  • 您需要在 EC2 上运行 CloudWatch 代理以推送所需的日志文件
  • 确保 IAM 权限正确
  • CloudWatch 日志代理也可在本地部署

Screenshot 2023-08-27 at 22.35.47.png

CloudWatch Logs Agent & Unified Agent

  • 适用于虚拟服务器(EC2 实例,本地服务器等)
  • CloudWatch Logs Agent
    • 代理的旧版本
    • 只能发送到 CloudWatch Logs
  • CloudWatch Unified Agent
    • 收集额外的系统级指标,如 RAM,进程等
    • 收集日志以发送到 CloudWatch Logs
    • 使用 SSM 参数存储进行集中配置

1.4 CloudWatch Unified Agent – Metrics

  • 直接在 Linux 服务器 / EC2 实例上收集
  • CPU(活动,宿主,空闲,系统,用户,偷取)
  • 磁盘指标(空闲,已用,总计),磁盘IO(写入,读取,字节,iops)
  • RAM(空闲,非活动,已用,总计,缓存)
  • Netstat(TCP 和 UDP 连接数,网络数据包,字节)
  • 进程(总计,死亡,阻塞,空闲,运行,休眠)
  • 交换空间(空闲,已用,使用百分比)
  • 提醒:EC2 的开箱即用指标-磁盘,CPU,网络(高级别)

1.5 CloudWatch Alarms(CloudWatch 报警)

  • 用于触发任何指标的通知
  • 提供多种选项(采样、百分比、最大值、最小值等)
  • 报警状态包括:
    • OK(正常)
    • INSUFFICIENT_DATA(数据不足)
    • ALARM(报警)
  • 周期:
    • 评估指标的时间长度,以秒为单位。
    • 高分辨率自定义指标:10秒、30秒或60秒的倍数

CloudWatch Alarm Targets(CloudWatch 报警目标)

  • 可以停止、终止、重启或恢复 EC2 实例
  • 可以触发自动扩展操作
  • 可以发送通知到 SNS(从中可以执行各种操作)

Screenshot 2023-08-27 at 22.58.02.png

CloudWatch Alarms – Composite Alarms(CloudWatch 报警 - 组合报警)

  • CloudWatch 报警基于单个指标
  • 组合报警监控多个其他报警的状态
  • 支持 AND 和 OR 条件
  • 通过创建复杂的组合报警来减少“报警噪音”

Screenshot 2023-08-27 at 22.58.59.png

EC2 Instance Recovery(EC2 实例恢复)

  • 状态检查:
    • 实例状态 = 检查 EC2 虚拟机
    • 系统状态 = 检查底层硬件
  • 恢复操作:
    • 保留相同的私有、公有、弹性IP、元数据和放置组

Screenshot 2023-08-27 at 23.00.01.png

CloudWatch Alarm: good to know

  • 可以基于 CloudWatch 日志指标过滤器创建报警Screenshot 2023-08-27 at 23.01.19.png
  • 为了测试报警和通知,可以使用 CLI 将报警状态设置为 Alarm,例如:
    • aws cloudwatch set-alarm-state --alarm-name “myalarm” --state-value ALARM --state-reason “testing purposes”

Amazon EventBridge(前身为 CloudWatch Events)

  • Scheduled:定时任务(定时脚本)Screenshot 2023-08-27 at 23.02.03.png
  • Event Pattern:根据服务执行操作的事件规则Screenshot 2023-08-27 at 23.02.26.png
  • 触发 Lambda 函数,发送 SQS / SNS 消息等

1.6 Amazon EventBridge

Screenshot 2023-08-27 at 23.05.55.png

  • 事件总线可以通过资源策略被其他 AWS 账户访问
  • 可以将发送到事件总线的事件(全部或筛选)存档(永久或设置时间段)
  • 可以回放已存档的事件

Amazon EventBridge Rules

Screenshot 2023-08-27 at 23.04.30.png

Amazon EventBridge – Schema Registry

  • EventBridge 可以分析总线上的事件并推断其模式
  • 模式注册表允许为应用程序生成代码,提前了解事件总线中的数据结构
  • 模式可以进行版本管理

Screenshot 2023-08-27 at 23.07.01.png

Amazon EventBridge – Resource-based Policy

  • 管理特定事件总线的权限
  • 示例:允许/拒绝来自其他 AWS 账户或 AWS 区域的事件
  • 用例:在单个 AWS 账户或 AWS 区域中聚合 AWS 组织的所有事件

Screenshot 2023-08-27 at 23.08.10.png
Screenshot 2023-08-27 at 23.08.28.png

1.7 CloudWatch Insights

CloudWatch Container Insights

  • 收集、汇总、摘要容器的指标和日志
  • 适用于以下容器:
    • Amazon Elastic Container Service(Amazon ECS)
    • Amazon Elastic Kubernetes Service(Amazon EKS)
    • EC2 上的 Kubernetes 平台
    • Fargate(适用于 ECS 和 EKS)
  • 在 Amazon EKS 和 Kubernetes 中,CloudWatch Insights 使用容器化版本的 CloudWatch Agent 来发现容器

Screenshot 2023-08-27 at 23.10.05.pngScreenshot 2023-08-27 at 23.10.36.png

CloudWatch Lambda Insights

  • 用于监控和故障排除在 AWS Lambda 上运行的无服务器应用程序的解决方案
  • 收集、汇总系统级别的指标,包括CPU时间、内存、磁盘和网络
  • 收集、汇总冷启动和 Lambda 工作器关闭等诊断信息
  • Lambda Insights 以 Lambda Layer 的形式提供

Screenshot 2023-08-27 at 23.11.48.png

CloudWatch Contributor Insights

  • 分析日志数据并创建展示贡献者数据的时间序列
    • 查看关于前 N 个贡献者的指标
    • 总计唯一贡献者的数量和使用情况
  • 这有助于找到主要发言者并了解谁或什么影响了系统性能
  • 适用于任何由 AWS 生成的日志(VPC、DNS 等)
  • 例如,您可以找到恶意主机,识别最重的网络用户,或找到生成最多错误的 URL
  • 您可以从头开始构建规则,也可以使用 AWS 创建的示例规则 - 利用您的 CloudWatch 日志
  • CloudWatch 还提供了内置规则,可用于分析其他 AWS 服务的指标

CloudWatch Application Insights

  • 提供自动化仪表板,显示监视应用程序可能存在的问题,以帮助隔离持续存在的问题
  • 您的应用程序在仅支持的 Amazon EC2 实例上运行(Java、.NET、Microsoft IIS Web 服务器、数据库…)
  • 您还可以使用其他 AWS 资源,如 Amazon EBS、RDS、ELB、ASG、Lambda、SQS、DynamoDB、S3 存储桶、ECS、EKS、SNS、API Gateway…
  • 由 SageMaker 提供支持
  • 提高对应用程序健康状况的可见性,缩短故障排除和修复应用程序所需的时间
  • 发现和警报发送到 Amazon EventBridge 和 SSM OpsCenter

CloudWatch Insights 和运维可见性

  • CloudWatch Container Insights
    • ECS、EKS、EC2 上的 Kubernetes、Fargate,需要 Kubernetes 代理
    • 指标和日志
  • CloudWatch Lambda Insights
    • 详细指标,用于故障排除无服务器应用程序
  • CloudWatch Contributors Insights
    • 通过 CloudWatch 日志查找 “Top-N” Contributors
  • CloudWatch Application Insights
    • 自动仪表板,用于故障排除应用程序及相关 AWS 服务

2. AWS CloudTrail

  • 为您的 AWS 帐户提供治理、合规性和审计功能
  • CloudTrail 默认情况下启用!
  • 通过以下方式获取在您的 AWS 帐户中进行的事件/ API 调用的历史记录:
    • 控制台
    • SDK
    • CLI
    • AWS 服务
  • 可将 CloudTrail 日志放入 CloudWatch Logs 或 S3 中
  • 可将跟踪应用于所有区域(默认)或单个区域
  • 如果在 AWS 中删除了资源,请首先调查 CloudTrail!

2.1 CloudTrail Diagram

Screenshot 2023-08-27 at 23.17.40.png

2.2 CloudTrail Events

  • 管理事件:
    • 在您的 AWS 帐户中对资源执行的操作
    • 例如:
      • 配置安全性(IAM AttachRolePolicy)
      • 配置数据路由规则(Amazon EC2 CreateSubnet)
      • 设置日志记录(AWS CloudTrail CreateTrail)
    • 默认情况下,跟踪配置为记录管理事件
    • 可将读取事件(不修改资源)与写入事件(可能修改资源)分开
  • 数据事件:
    • 默认情况下,不记录数据事件(因为操作量大)
    • Amazon S3 对象级活动(例如:GetObject、DeleteObject、PutObject):可将读取和写入事件分开
    • AWS Lambda 函数执行活动(Invoke API)
  • CloudTrail 洞察事件:
    • 请参见下一页

2.3 CloudTrail Insights

  • 启用 CloudTrail Insights 以检测帐户中的异常活动:
    • 不准确的资源预配
    • 达到服务限制
    • AWS IAM 操作的突发
    • 周期性维护活动中的间隙
  • CloudTrail Insights 分析正常管理事件以创建基线
  • 然后持续分析写入事件以检测异常模式
    • 异常情况出现在 CloudTrail 控制台中
    • 事件被发送到 Amazon S3
    • 生成 EventBridge 事件(用于自动化需求)

Screenshot 2023-08-27 at 23.25.01.png

2.4 CloudTrail Events Retention

  • 事件在 CloudTrail 中存储 90天
  • 要保留超过此期限的事件,请将其记录到 S3 并使用 Athena

2.5 Amazon EventBridge - 拦截 API 调用

Screenshot 2023-08-27 at 23.25.44.png

3. AWS Config

  • 帮助审核和记录 AWS 资源的合规性
  • 帮助记录配置和随时间变化的更改
  • AWS Config 可以解决的问题:
    • 我的安全组是否有无限制的 SSH 访问?
    • 我的存储桶是否有任何公共访问权限?
    • 我的 ALB 配置随时间如何变化?
  • 您可以接收任何更改的警报(SNS 通知)
  • AWS Config 是一个按区域的服务
  • 可以在区域和帐户之间进行聚合
  • 可以将配置数据存储到 S3 中(由 Athena 分析)

3.1 Config Rules

  • 可以使用AWS管理的配置规则(超过75个)
  • 可以创建自定义配置规则(必须在AWS Lambda中定义)
    • 例如:评估每个EBS磁盘是否为gp2类型
    • 例如:评估每个EC2实例是否为t2.micro
  • 规则可以评估/触发:
  • 对于每个配置更改
    • 和/或:定期时间间隔
  • AWS Config 规则不会阻止发生的操作(没有拒绝)
  • 定价:没有免费套餐,每个区域记录的每个配置项收费为$0.003,每个区域的每个配置规则评估收费为$0.001

3.2 AWS Config Resource

  • 查看资源随时间的合规性
  • 查看资源随时间的配置
  • 查看资源随时间的CloudTrail API调用

3.3 Config Rules - Remediations

  • 使用SSM自动化文档自动纠正不符合规定的资源
  • 使用AWS-Managed自动化文档或创建自定义自动化文档
    • 提示:您可以创建调用Lambda函数的自定义自动化文档
  • 如果资源在自动纠正后仍然不符合规定,可以设置纠正重试

Screenshot 2023-08-27 at 23.28.47.png

3.4 Config Rules - Notifications

  • 使用 EventBridge 在 AWS 资源不符合规定时触发通知Screenshot 2023-08-27 at 23.29.14.png
  • 能够将配置更改和合规状态通知发送到 SNS(所有事件-使用 SNS 过滤或在客户端过滤)

Screenshot 2023-08-27 at 23.29.52.png

3.5 CloudWatch vs CloudTrail vs Config

  • CloudWatch
    • 性能监控(指标,CPU,网络等)和仪表板
    • 事件和警报
    • 日志聚合和分析
  • CloudTrail
    • 记录每个帐户内的API调用
    • 可为特定资源定义跟踪
    • 全局服务
  • Config
    • 记录配置更改
    • 根据合规性规则评估资源
    • 获取更改和合规性的时间线

对于弹性负载均衡器

  • CloudWatch:
    • 监控传入连接指标
    • 按时间可视化错误代码的百分比
    • 创建仪表板以了解负载均衡器的性能
  • Config:
    • 跟踪负载均衡器的安全组规则
    • 跟踪负载均衡器的配置更改
      确保负载均衡器始终分配了SSL证书(合规性)
  • CloudTrail:
    • 跟踪使用 API 调用对负载均衡器进行的更改的人员
  • 22
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值