【问题标题】:How to add Query Results Widget to Cloudwatch dashboard using aws-cdk如何使用 aws-cdk 将查询结果小部件添加到 Cloudwatch 仪表板
【发布时间】:2020-03-25 23:37:07
【问题描述】:

正如标题所说,我该怎么做?我想将我的 Cloudwatch dashobard(主要包含查询结果小部件)转换为 cdk。 aws-cloudwatch 库目前只有 AlarmWidget、GraphWidget、SingleValueWidget 和 TextWidget。

如果没有直接的方法来做到这一点,是否至少存在某种黑客行为?

谢谢

【问题讨论】:

    标签: amazon-web-services amazon-cloudwatch aws-cdk aws-cloudwatch-log-insights


    【解决方案1】:

    如果不支持该小部件类型,您可以使用CfnDashboard 构造而不是仪表板。使用该构造,您可以将原始仪表板主体设置为 json。

    如果您更喜欢添加小部件的更高级别的方法,您可以自己实现IWidget 接口。您没有指定您使用的是哪种语言,这是 python 中的一个示例:

    from aws_cdk import (
        aws_cloudwatch as cw,
        core
    )
    import jsii
    import json
    
    @jsii.implements(cw.IWidget)
    class QueryResultWidget:
        def __init__(self, properties, width=24, height=6):
            self.widget =  {
                "type": "log",
                "width": width,
                "height": height,
                "properties": properties
            }
    
        def position(self, x, y):
            self.widget["x"] = x
            self.widget["y"] = y
    
        def to_json(self):
            return [self.widget]
    
    class DashboardStack(core.Stack):
        def __init__(self, app: core.App, id: str, **kwargs) -> None:
            super().__init__(app, id, **kwargs)
    
            dashboard = cw.Dashboard(self, "Dashboard")
    
            dashboard.add_widgets(QueryResultWidget({
                "query": "SOURCE '/aws/lambda/some_lambda' | fields @timestamp, @message\n| sort @timestamp desc\n| limit 20",
                "region": "eu-west-1",
                "stacked": False,
                "view": "table"
            }))
    
    app = core.App()
    DashboardStack(app, "DashboardStack")
    app.synth()
    

    【讨论】:

      【解决方案2】:

      LogQueryWidget 已添加到 aws-cdk v1.37.0(请参阅 release notes)。

      【讨论】:

        猜你喜欢
        • 2018-12-14
        • 2017-12-30
        • 2012-09-24
        • 2019-11-11
        • 2022-01-13
        • 2016-07-15
        • 1970-01-01
        • 2022-11-11
        • 2022-10-20
        相关资源
        最近更新 更多