【问题标题】:AWS Amplify send logs to SplunkAWS Amplify 将日志发送到 Splunk
【发布时间】:2021-11-14 10:00:33
【问题描述】:

我想将 Amplify 监控数据(访问日志、指标)发送到 Splunk - 这是最好的情况。但一开始,如果我至少可以将它们存储到另一个服务(如 s3 甚至 grater 以将其与 CloudWatch 链接)中就可以了,因为我还没有发现这些日志是否以某种方式从 CW 日志组中获取。 我的问题是,是否有办法在 Amplify 服务之外获取这些指标?

【问题讨论】:

    标签: amazon-web-services amazon-cloudwatch aws-amplify aws-amplify-cli


    【解决方案1】:

    有一种方法可以将 CW 日志发送到您的第 3 方应用程序。

    两个主要步骤:

    1. 将 CW 日志导出到 s3
    2. 使用 s3 存储桶配置 lambda 并编写您的逻辑,以在每次将文件写入存储桶时读取日志并将其发送到第 3 方应用。

    Cloudwatch 允许您将日志导出到 s3。

    来自AWS docs:

    使用 CloudWatch 控制台将数据导出到 Amazon S3

    1. 以您在第 2 步中创建的 IAM 用户身份登录:创建 IAM 用户 拥有对 Amazon S3 和 CloudWatch Logs 的完全访问权限。

    2. 在以下位置打开 CloudWatch 控制台 https://console.aws.amazon.com/cloudwatch/.

    3. 在导航窗格中,选择日志组

    4. 在“日志组”屏幕上,选择日志组的名称

    5. 选择操作将数据导出到 Amazon S3

    6. 在将数据导出到 Amazon S3 屏幕上,在定义数据导出下,设置 使用 From 和 To 导出数据的时间范围

    7. 如果你的日志组有多个日志流,你可以提供一个日志 将日志组数据限制到特定流的流前缀。 选择 Advanced,然后对于 Stream prefix,输入日志流前缀x。

    8. 在选择 S3 存储桶下,选择与 Amazon 关联的账户 S3 存储桶。

    9. 对于 S3 存储桶名称,选择一个 Amazon S3 存储桶

    10. 对于 S3 Bucket 前缀,输入您随机生成的字符串 在存储桶策略中指定。

    11. 选择导出以将您的日志数据导出到 Amazon S3

    12. 要查看您导出到 Amazon S3 的日志数据的状态, 选择操作,然后查看所有导出到 Amazon S3。

    将日志导出到 S3 后,您可以设置简单的 S3 lambda 触发器以使用其 API 读取这些日志并将其发送到第三方应用程序(在本例中为 splunk)。

    这样,您还可以将日志保存在 S3 中以供将来使用之类的。

    【讨论】:

    • 感谢您的回答。但我想我主要关心的是如何将 Amplify 访问日志/指标与 CW 联系起来?你怎么知道引用了哪个 cw 日志组 - 这是我找不到的。
    • 更准确地说,当我在 Amplify 服务的 Metrics 部分并悬停在图表上时,然后选择“查看日志” - 它直接进入 CW 而不显示作为源的特定日志组对于这个仪表板
    猜你喜欢
    • 1970-01-01
    • 2020-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-25
    • 2018-05-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多