Amazon MQ не может публиковать логи в CloudWatch - PullRequest
0 голосов
/ 10 декабря 2018

Я протестировал вариант широкого доступа к политике и дошел до той же точки: группы журналов созданы, но поток журналов не.

После https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/amazon-mq-configuring-cloudwatch-logs.html иожидаемый результат - получение этих сообщений в CloudWatch, но ничего не происходит.

Цель состоит в том, чтобы иметь аудит и общие журналы MQ в CloudWatch.Кому-нибудь удалось транслировать логи MQ в CloudWatch?Как я мог дальше отлаживать это?

Ответы [ 2 ]

0 голосов
/ 12 декабря 2018

Или, если вы используете aws cli, вы можете попробовать

aws --region [your-region] logs put-resource-policy --policy-name AmazonMQ-logs \
--policy-document '{
"Statement": [
    {
        "Action": [
            "logs:CreateLogStream",
            "logs:PutLogEvents"
        ],
        "Effect": "Allow",
        "Principal": {
            "Service": "mq.amazonaws.com"
        },
        "Resource": "arn:aws:logs:*:*:log-group:/aws/amazonmq/*"
    }
],
"Version": "2012-10-17"
}'
0 голосов
/ 12 декабря 2018

Мне удалось создать Amazon MQ Broker с включенной регистрацией и опубликовать журнал, отправленный в Cloudwatch с помощью поставщика terraform 1.43.2 - мой проект заблокирован на более старой версии 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

, и вы должны увидеть политику в выводе.

...