{ "widgets": [ { "type": "metric", "x": 0, "y": 1, "width": 6, "height": 3, "properties": { "metrics": [ [ { "expression": "AVG(METRICS())/10", "label": "ops", "id": "e1", "region": "{{YOUR_AWS_REGION}}", "visible": false } ], [ { "expression": "REMOVE_EMPTY(SEARCH ('{ContainerInsights/Prometheus, ClusterName, Service, Namespace} MetricName=\"nginx_ingress_controller_requests\"', 'Sum', 300))/300", "label": "", "id": "e2", "region": "{{YOUR_AWS_REGION}}" } ] ], "view": "singleValue", "stacked": false, "region": "{{YOUR_AWS_REGION}}", "stat": "Average", "period": 300, "title": "Controller Request Volume", "setPeriodToTimeRange": true } }, { "type": "metric", "x": 6, "y": 1, "width": 6, "height": 3, "properties": { "metrics": [ [ { "expression": "AVG(METRICS())", "label": "", "id": "e1", "region": "{{YOUR_AWS_REGION}}", "visible": false } ], [ { "expression": "REMOVE_EMPTY(SEARCH ('{ContainerInsights/Prometheus, ClusterName, Service, Namespace} MetricName=\"nginx_ingress_controller_nginx_process_connections\"', 'Average', 300))", "label": "", "id": "e2", "region": "{{YOUR_AWS_REGION}}" } ] ], "view": "timeSeries", "region": "{{YOUR_AWS_REGION}}", "stat": "Average", "period": 300, "title": "Controller Connections", "stacked": false, "yAxis": { "left": { "min": 0 } } } }, { "type": "metric", "x": 12, "y": 1, "width": 12, "height": 3, "properties": { "metrics": [ [ { "expression": "REMOVE_EMPTY(SEARCH ('{ContainerInsights/Prometheus, ClusterName, Service, Namespace, status} MetricName=\"nginx_ingress_controller_requests\"', 'Sum', 300))", "label": "", "id": "e1", "region": "{{YOUR_AWS_REGION}}" } ] ], "view": "timeSeries", "title": "Controller Success Rate (non-4|5xx responses)", "region": "{{YOUR_AWS_REGION}}", "stat": "Sum", "period": 300, "stacked": false, "yAxis": { "left": { "min": 0 } } } }, { "type": "metric", "x": 0, "y": 4, "width": 6, "height": 6, "properties": { "metrics": [ [ { "expression": "REMOVE_EMPTY(SEARCH ('{ContainerInsights/Prometheus, ingress, ClusterName, Service, Namespace} MetricName=\"nginx_ingress_controller_requests\"', 'Average', 300))", "label": "", "id": "e1", "region": "{{YOUR_AWS_REGION}}" } ] ], "view": "timeSeries", "stacked": false, "region": "{{YOUR_AWS_REGION}}", "yAxis": { "left": { "min": 0, "label": "" } }, "stat": "Average", "period": 300, "title": "Ingress Request Volume" } }, { "type": "metric", "x": 12, "y": 4, "width": 12, "height": 6, "properties": { "metrics": [ [ { "expression": "REMOVE_EMPTY(SEARCH ('{ContainerInsights/Prometheus, ClusterName, Service, Namespace} MetricName=\"nginx_ingress_controller_nginx_process_cpu_seconds_total\"', 'Average', 60))", "label": "", "id": "e1", "region": "{{YOUR_AWS_REGION}}" } ], [ { "expression": "REMOVE_EMPTY(SEARCH ('{ContainerInsights/Prometheus, ClusterName, Service, Namespace} MetricName=\"nginx_ingress_controller_nginx_process_cpu_seconds_total\"', 'p90', 60))", "label": "p90", "id": "e2", "region": "{{YOUR_AWS_REGION}}", "visible": false } ], [ { "expression": "REMOVE_EMPTY(SEARCH ('{ContainerInsights/Prometheus, ClusterName, Service, Namespace} MetricName=\"nginx_ingress_controller_nginx_process_cpu_seconds_total\"', 'p10', 60))", "label": "p10", "id": "e3", "region": "{{YOUR_AWS_REGION}}", "visible": false } ] ], "view": "timeSeries", "stacked": false, "title": "Average CPU Usage", "region": "{{YOUR_AWS_REGION}}", "yAxis": { "left": { "min": 0 } }, "period": 300, "stat": "Average" } }, { "type": "text", "x": 0, "y": 0, "width": 24, "height": 1, "properties": { "markdown": "\n# NGINX Ingress controller\n" } }, { "type": "log", "x": 0, "y": 10, "width": 24, "height": 6, "properties": { "query": "SOURCE '/aws/containerinsights/{{YOUR_CLUSTER_NAME}}/prometheus' | fields controller_class, controller_namespace, controller_pod\n| limit 50\n| filter CloudWatchMetrics.0.Namespace=\"ContainerInsights/Prometheus\"\n| filter CloudWatchMetrics.0.Metrics.0.Name=\"nginx_ingress_controller_requests\" or CloudWatchMetrics.0.Metrics.0.Name=\"nginx_ingress_controller_requests\"\n| stats sum(nginx_ingress_controller_requests) as controller_request_volume by controller_class, controller_namespace, controller_pod, status\n", "region": "{{YOUR_AWS_REGION}}", "stacked": false, "title": "Summary by Pods", "view": "table" } }, { "type": "metric", "x": 6, "y": 4, "width": 6, "height": 6, "properties": { "metrics": [ [ { "expression": "REMOVE_EMPTY(SEARCH ('{ContainerInsights/Prometheus, ClusterName, Service, Namespace} MetricName=\"nginx_ingress_controller_nginx_process_resident_memory_bytes\"', 'Average', 60))", "label": "Average", "id": "e1", "region": "{{YOUR_AWS_REGION}}" } ], [ { "expression": "REMOVE_EMPTY(SEARCH ('{ContainerInsights/Prometheus, ClusterName, Service, Namespace} MetricName=\"nginx_ingress_controller_nginx_process_resident_memory_bytes\"', 'p90', 60))", "label": "p90", "id": "e2", "region": "{{YOUR_AWS_REGION}}", "visible": false } ], [ { "expression": "REMOVE_EMPTY(SEARCH ('{ContainerInsights/Prometheus, ClusterName, Service, Namespace} MetricName=\"nginx_ingress_controller_nginx_process_resident_memory_bytes\"', 'p10', 60))", "label": "p10", "id": "e3", "region": "{{YOUR_AWS_REGION}}", "visible": false } ] ], "view": "timeSeries", "stacked": false, "region": "{{YOUR_AWS_REGION}}", "title": "Average Memory Usage", "stat": "Average", "period": 300, "yAxis": { "left": { "label": "MiB" } } } } ] }