如何使用资源创建Cloudwatch日志过滤器?

时间:2020-05-18 01:04:00

标签: terraform terraform-provider-aws aws-cloudwatch-log-insights

我不知道如何使用terraform从Cloudwatch Log Insights部署查询。支持吗?如果没有,就这样了吗?

具体来说,请参考如下查询语法:

FIELDS @message
| PARSE @message "[*] *" as loggingType, loggingMessage
| FILTER loggingType = "ERROR"
| DISPLAY loggingMessage

如此处所述:https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html

如何使用资源创建Cloudwatch日志过滤器?

1 个答案:

答案 0 :(得分:0)

找到了答案。您显然无法部署“保存的查询”-实际上,我不清楚是否可以完全调用UI中“保存的”查询。但是可以使用 Cloudwatch仪表板来部署它们。

要在新的Cloudwatch仪表板中部署查询,请使用aws_cloudwatch_dashboard资源,并使用如下所示的仪表板主体定义仪表板。

{
    "widgets": [
        {
            "type": "log",
            "x": 0,
            "y": 0,
            "width": 24,
            "height": 6,
            "properties": {
                "query": "SOURCE 'LogGroup-15028' | SOURCE 'LogGroup-15037' | SOURCE\n'LogGroup-42841' | FIELDS @message\n| PARSE @message \"[*] *\" as loggingType, loggingMessage\n| FILTER loggingType = \"ERROR\"\n| DISPLAY loggingMessage",
                "region": "us-west-2",
                "stacked": false,
                "view": "table"
            }
        }
    ]
}

注意:

  • 记住要在特殊字符前加上反斜杠,以使所有的双引号或反斜杠转义。
  • 要进一步改善仪表板并添加新查询,您可以手动创建Cloudwatch仪表板,添加查询和/或指标图,然后使用“查看/编辑源...”选项来刮擦仪表板源文本。