amazon-web-services - Amazon MQ 无法在 CloudWatch 中发布日志

标签 amazon-web-services amazon-cloudwatch amazon-cloudwatchlogs amazon-mq

我测试了广泛策略访问的变体,并得到了相同的结果 - 创建了日志组,但没有创建日志流。

已关注 https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/amazon-mq-configuring-cloudwatch-logs.html预期结果是在 CloudWatch 中获取这些消息,但没有收到任何消息。

目标是在 CloudWatch 中拥有审核和常规 MQ 日志。 有人设法在 CloudWatch 中流式传输 MQ 日志吗?我怎样才能进一步调试这个?

最佳答案

我成功创建了启用日志记录的 Amazon MQ Broker,并使用 terraform 的提供程序 1.43.2 将日志消息发布到 Cloudwatch - 我的项目锁定了较旧的 tf 提供程序版本,因此如果您使用的是较新的应该没问题

https://github.com/terraform-providers/terraform-provider-aws/blob/master/CHANGELOG.md#1430-november-07-2018

这是我第一次没有正确理解的策略,需要 MQ 发布到 Cloudwatch:

data "aws_iam_policy_document" "mq-log-publishing-policy" {
  statement {
    actions = [
      "logs:CreateLogStream",
      "logs:PutLogEvents",
    ]

    resources = ["arn:aws:logs:*:*:log-group:/aws/amazonmq/*"]

    principals {
      identifiers = ["mq.amazonaws.com"]
      type        = "Service"
    }
  }
}

resource "aws_cloudwatch_log_resource_policy" "mq-log-publishing-policy" {
  policy_document = "${data.aws_iam_policy_document.mq-log-publishing-policy.json}"
  policy_name     = "mq-log-publishing-policy"
}

确保已正确应用此策略,否则 Cloudwatch 上不会出现任何结果。我使用 aws cli 执行此操作:

 aws --profile my-testing-profile-name --region my-profile-region logs describe-resource-policies

您应该在输出中看到该策略。

关于amazon-web-services - Amazon MQ 无法在 CloudWatch 中发布日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53707273/

相关文章:

amazon-web-services - 使用 Jenkins S3 插件复制子目录

python - 在 Python 中为 AWS Lambda 从字符串内容创建一个动态 zip 文件

ruby - 使用 ruby​​ 在 simple_aws 中使用 get_metric_statistics

amazon-web-services - AWS Cloudwatch 设置 WebHook

android - 我现在可以使用 Firebase 吗?

node.js - 使用AWS IOT和SNS的Web推送通知

java - Amazon Cloudwatch Logs - PutLogEvents 请求 - 给定的 sequenceToken 无效

amazon-web-services - AWS ECS 容器日志设计模式

amazon-web-services - 如何使用cloudformation模板创建cloudwatch事件?

python - AWS Cloudwatch Logstream - 关键是什么,以及在获取日志流时如何设置它