diff --git a/gravitee/CHANGELOG.md b/gravitee/CHANGELOG.md index 5469606a93..b452731735 100644 --- a/gravitee/CHANGELOG.md +++ b/gravitee/CHANGELOG.md @@ -1,4 +1,4 @@ -# CHANGELOG - Gravitee APIM +# CHANGELOG - gravitee ## 1.0.0 / 2025-07-29 diff --git a/gravitee/README.md b/gravitee/README.md index ea5f42525a..62f08dcfb8 100644 --- a/gravitee/README.md +++ b/gravitee/README.md @@ -18,7 +18,7 @@ This integration includes a pre-built Datadog dashboard to support comprehensive ```yaml gateway: additionalPlugins: - - https://download.gravitee.io/graviteeio-ee/apim/plugins/reporters/gravitee-reporter-datadog/gravitee-reporter-datadog-5.0.0.zip + - https://download.gravitee.io/graviteeio-ee/apim/plugins/reporters/gravitee-reporter-datadog/gravitee-reporter-datadog-7.2.1.zip ``` 4. Create a [Datadog API Key][3]. You will need this when _configuring_ the Reporter in Gravitee. diff --git a/gravitee/assets/dashboards/gravitee_apim.json b/gravitee/assets/dashboards/gravitee_apim.json index 221dd45a24..152154a675 100644 --- a/gravitee/assets/dashboards/gravitee_apim.json +++ b/gravitee/assets/dashboards/gravitee_apim.json @@ -4,343 +4,343 @@ "widgets": [ { "id": 5625895614485675, + "layout": { + "x": 0, + "y": 0, + "width": 12, + "height": 1 + }, "definition": { - "type": "image", "url": "https://www.gravitee.io/hubfs/_branding/Horizontal_LightMode.svg", - "url_dark_theme": "https://www.gravitee.io/hubfs/_branding/Horizontal_DarkMode.svg", + "type": "image", "sizing": "fill", - "has_background": true, "has_border": true, + "has_background": true, + "url_dark_theme": "https://www.gravitee.io/hubfs/_branding/Horizontal_DarkMode.svg", "vertical_align": "center", "horizontal_align": "center" - }, - "layout": { - "x": 0, - "y": 0, - "width": 12, - "height": 1 } }, { "id": 6668986822008233, + "layout": { + "x": 0, + "y": 1, + "width": 12, + "height": 18 + }, "definition": { - "title": "API Usage", - "background_color": "vivid_orange", - "show_title": true, "type": "group", - "layout_type": "ordered", + "title": "API Usage", "widgets": [ { "id": 601833063235248, + "layout": { + "x": 0, + "y": 0, + "width": 4, + "height": 2 + }, "definition": { - "title": "Most Used APIs", "type": "treemap", + "title": "Most Used APIs", "requests": [ { + "style": { + "palette": "datadog16" + }, "queries": [ { - "data_source": "metrics", "name": "query1", "query": "sum:gravitee.apim.api_request_count{$apiname} by {apiname}.as_count()", - "aggregator": "sum" + "aggregator": "sum", + "data_source": "metrics" } ], - "response_format": "scalar", - "style": { - "palette": "datadog16" - }, "formulas": [ { "formula": "query1" } - ] + ], + "response_format": "scalar" } ] - }, - "layout": { - "x": 0, - "y": 0, - "width": 4, - "height": 2 } }, { "id": 5180490577114153, + "layout": { + "x": 4, + "y": 0, + "width": 4, + "height": 2 + }, "definition": { - "title": "Overall Requests per Second", - "title_size": "16", - "title_align": "left", "type": "query_value", + "title": "Overall Requests per Second", "requests": [ { - "response_format": "scalar", "queries": [ { - "data_source": "metrics", "name": "query1", "query": "sum:gravitee.apim.api_request_count{$apiname}.as_rate()", - "aggregator": "max" + "aggregator": "max", + "data_source": "metrics" } ], "formulas": [ { + "formula": "query1", "number_format": { "unit": { "type": "canonical_unit", "unit_name": "request", "per_unit_name": "second" } - }, - "formula": "query1" + } } - ] + ], + "response_format": "scalar" } ], "autoscale": false, "precision": 0, + "title_size": "16", + "title_align": "left", "timeseries_background": { + "type": "area", "yaxis": { "include_zero": false - }, - "type": "area" + } } - }, - "layout": { - "x": 4, - "y": 0, - "width": 4, - "height": 2 } }, { "id": 3251671389632073, + "layout": { + "x": 8, + "y": 0, + "width": 4, + "height": 2 + }, "definition": { - "title": "Average Request Content Size", - "title_size": "16", - "title_align": "left", "type": "toplist", + "style": { + "display": { + "type": "stacked", + "legend": "automatic" + }, + "palette": "dog_classic" + }, + "title": "Average Request Content Size", "requests": [ { + "sort": { + "count": 10, + "order_by": [ + { + "type": "formula", + "index": 0, + "order": "desc" + } + ] + }, "queries": [ { - "data_source": "metrics", "name": "query2", "query": "avg:gravitee.apim.request_content_length{$apiname} by {apiname}", - "aggregator": "avg" + "aggregator": "avg", + "data_source": "metrics" } ], - "response_format": "scalar", "formulas": [ { "formula": "query2" } ], - "sort": { - "order_by": [ - { - "type": "formula", - "index": 0, - "order": "desc" - } - ], - "count": 10 - } + "response_format": "scalar" } ], + "title_size": "16", + "title_align": "left" + } + }, + { + "id": 5592667383733238, + "layout": { + "x": 0, + "y": 2, + "width": 4, + "height": 2 + }, + "definition": { + "type": "toplist", "style": { "display": { "type": "stacked", "legend": "automatic" }, "palette": "dog_classic" - } - }, - "layout": { - "x": 8, - "y": 0, - "width": 4, - "height": 2 - } - }, - { - "id": 5592667383733238, - "definition": { + }, "title": "Top Failing APIs (5xx status codes)", - "title_size": "16", - "title_align": "left", - "type": "toplist", "requests": [ { + "sort": { + "count": 10, + "order_by": [ + { + "type": "formula", + "index": 0, + "order": "desc" + } + ] + }, "queries": [ { "name": "query2", - "data_source": "logs", "search": { "query": "(@entrypointResponse.status:[500 TO 599] OR @clientResponse.status:[500 TO 599]) $apiname" }, + "compute": { + "metric": "@apiResponse.status", + "aggregation": "count" + }, "indexes": [ "*" ], + "storage": "hot", "group_by": [ { - "facet": "@apiName", - "limit": 10, "sort": { - "aggregation": "count", "order": "desc", - "metric": "@apiResponse.status" - } + "metric": "@apiResponse.status", + "aggregation": "count" + }, + "facet": "@apiName", + "limit": 10 } ], - "compute": { - "aggregation": "count", - "metric": "@apiResponse.status" - }, - "storage": "hot" + "data_source": "logs" } ], - "response_format": "scalar", "formulas": [ { + "formula": "query2", "number_format": { "unit": { "type": "canonical_unit", "unit_name": "request" } - }, - "formula": "query2" + } } ], - "sort": { - "count": 10, - "order_by": [ - { - "type": "formula", - "index": 0, - "order": "desc" - } - ] - } + "response_format": "scalar" } ], + "title_size": "16", + "title_align": "left", "custom_links": [ { - "override_label": "logs", "link": "/logs?live=false&from_ts={{timestamp_start}}&to_ts={{timestamp_end}}&query={{@apiName}}%20%26%26%20{{@apiResponse.status}}", - "is_hidden": false + "is_hidden": false, + "override_label": "logs" } - ], - "style": { - "display": { - "type": "stacked", - "legend": "automatic" - }, - "palette": "dog_classic" - } - }, - "layout": { - "x": 0, - "y": 2, - "width": 4, - "height": 2 + ] } }, { "id": 7390054803493266, + "layout": { + "x": 4, + "y": 2, + "width": 4, + "height": 2 + }, "definition": { - "title": "Slowest Performing APIs", - "title_size": "16", - "title_align": "left", "type": "toplist", + "style": { + "display": { + "type": "stacked", + "legend": "automatic" + } + }, + "title": "Slowest Performing APIs", "requests": [ { + "sort": { + "count": 10, + "order_by": [ + { + "type": "formula", + "index": 0, + "order": "desc" + } + ] + }, "queries": [ { - "data_source": "metrics", "name": "query1", "query": "avg:gravitee.apim.gateway_latency_ms{$apiname} by {apiname}", - "aggregator": "avg" + "aggregator": "avg", + "data_source": "metrics" }, { - "data_source": "metrics", "name": "query2", "query": "avg:gravitee.apim.proxy_latency_ms{$apiname} by {apiname}", - "aggregator": "avg" + "aggregator": "avg", + "data_source": "metrics" } ], - "response_format": "scalar", "formulas": [ { + "formula": "query1", "number_format": { "unit": { "type": "canonical_unit", "unit_name": "millisecond" } - }, - "formula": "query1" + } } ], - "sort": { - "count": 10, - "order_by": [ - { - "type": "formula", - "index": 0, - "order": "desc" - } - ] - } + "response_format": "scalar" } ], + "title_size": "16", + "title_align": "left", "custom_links": [ { - "override_label": "metrics_summary", "link": "/metric/summary?metric={{gravitee.apim.gateway_latency_ms}}", - "is_hidden": false + "is_hidden": false, + "override_label": "metrics_summary" }, { - "override_label": "logs", "link": "/logs?live=false&from_ts={{timestamp_start}}&to_ts={{timestamp_end}}&query={{apiname}}", - "is_hidden": false - } - ], - "style": { - "display": { - "type": "stacked", - "legend": "automatic" + "is_hidden": false, + "override_label": "logs" } - } - }, - "layout": { - "x": 4, - "y": 2, - "width": 4, - "height": 2 + ] } }, { "id": 7352973444909604, + "layout": { + "x": 8, + "y": 2, + "width": 4, + "height": 2 + }, "definition": { - "title": "Average Response Content Size", - "title_size": "16", - "title_align": "left", "type": "toplist", - "requests": [ - { - "queries": [ - { - "data_source": "metrics", - "name": "query1", - "query": "avg:gravitee.apim.response_content_length{$apiname} by {apiname}", - "aggregator": "avg" - } - ], - "response_format": "scalar", - "formulas": [ - { - "formula": "query1" - } - ], + "style": { + "display": { + "type": "stacked", + "legend": "automatic" + }, + "palette": "dog_classic" + }, + "title": "Average Response Content Size", + "requests": [ + { "sort": { "count": 10, "order_by": [ @@ -350,371 +350,390 @@ "order": "desc" } ] - } + }, + "queries": [ + { + "name": "query1", + "query": "avg:gravitee.apim.response_content_length{$apiname} by {apiname}", + "aggregator": "avg", + "data_source": "metrics" + } + ], + "formulas": [ + { + "formula": "query1" + } + ], + "response_format": "scalar" } ], - "style": { - "display": { - "type": "stacked", - "legend": "automatic" - }, - "palette": "dog_classic" - } - }, - "layout": { - "x": 8, - "y": 2, - "width": 4, - "height": 2 + "title_size": "16", + "title_align": "left" } }, { "id": 6407836397361125, + "layout": { + "x": 0, + "y": 4, + "width": 4, + "height": 4 + }, "definition": { - "title": "Responses by Status Code (over time)", - "title_size": "16", - "title_align": "left", - "show_legend": true, - "legend_layout": "horizontal", - "legend_columns": [ - "avg", - "min", - "max", - "value", - "sum" - ], "type": "timeseries", + "title": "Responses by Status Code (over time)", "requests": [ { - "response_format": "timeseries", + "style": { + "palette": "dog_classic", + "order_by": "values", + "line_type": "solid", + "line_width": "normal", + "order_reverse": false + }, "queries": [ { - "data_source": "metrics", "name": "query1", - "query": "sum:gravitee.apim.api_request_count{status:1*} by {status}.as_count()" + "query": "sum:gravitee.apim.api_request_count{status:1*} by {status}.as_count()", + "data_source": "metrics" }, { - "data_source": "metrics", "name": "query2", - "query": "sum:gravitee.apim.api_request_count{status:2*} by {status}.as_count()" + "query": "sum:gravitee.apim.api_request_count{status:2*} by {status}.as_count()", + "data_source": "metrics" }, { - "data_source": "metrics", "name": "query3", - "query": "sum:gravitee.apim.api_request_count{status:3*} by {status}.as_count()" + "query": "sum:gravitee.apim.api_request_count{status:3*} by {status}.as_count()", + "data_source": "metrics" }, { - "data_source": "metrics", "name": "query4", - "query": "sum:gravitee.apim.api_request_count{status:4*} by {status}.as_count()" + "query": "sum:gravitee.apim.api_request_count{status:4*} by {status}.as_count()", + "data_source": "metrics" }, { - "data_source": "metrics", "name": "query5", - "query": "sum:gravitee.apim.api_request_count{status:5*} by {status}.as_count()" + "query": "sum:gravitee.apim.api_request_count{status:5*} by {status}.as_count()", + "data_source": "metrics" } ], "formulas": [ { - "number_format": { - "unit": { - "type": "canonical_unit", - "unit_name": "request" - } - }, "style": { "palette": "grey" }, - "formula": "query1" - }, - { + "formula": "query1", "number_format": { "unit": { "type": "canonical_unit", "unit_name": "request" } - }, + } + }, + { "style": { "palette": "green" }, - "formula": "query2" - }, - { + "formula": "query2", "number_format": { "unit": { "type": "canonical_unit", "unit_name": "request" } - }, + } + }, + { "style": { "palette": "cool" }, - "formula": "query3" - }, - { + "formula": "query3", "number_format": { "unit": { "type": "canonical_unit", "unit_name": "request" } - }, + } + }, + { "style": { "palette": "orange" }, - "formula": "query4" - }, - { + "formula": "query4", "number_format": { "unit": { "type": "canonical_unit", "unit_name": "request" } - }, + } + }, + { "style": { "palette": "red" }, - "formula": "query5" + "formula": "query5", + "number_format": { + "unit": { + "type": "canonical_unit", + "unit_name": "request" + } + } } ], - "style": { - "palette": "dog_classic", - "order_by": "values", - "order_reverse": false, - "line_type": "solid", - "line_width": "normal" - }, - "display_type": "bars" + "display_type": "bars", + "response_format": "timeseries" } ], + "title_size": "16", + "show_legend": true, + "title_align": "left", "custom_links": [ { - "override_label": "logs", "link": "/logs?live=false&from_ts={{timestamp_start}}&to_ts={{timestamp_end}}&query=@entrypointResponse.status%3A{{status.value}}%20OR%20@clientResponse.status%3A{{status.value}}", - "is_hidden": false + "is_hidden": false, + "override_label": "logs" } + ], + "legend_layout": "horizontal", + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" ] - }, - "layout": { - "x": 0, - "y": 4, - "width": 4, - "height": 4 } }, { "id": 6329582462457350, + "layout": { + "x": 4, + "y": 4, + "width": 4, + "height": 4 + }, "definition": { - "title": "APIs by Average Response Times (excl: websockets & webhooks)", - "title_size": "16", - "title_align": "left", - "show_legend": true, - "legend_layout": "vertical", - "legend_columns": [ - "avg", - "min", - "max" - ], "type": "timeseries", + "title": "APIs by Average Response Times (excl: websockets & webhooks)", "requests": [ { + "style": { + "palette": "dog_classic", + "line_type": "solid", + "line_width": "normal" + }, + "queries": [ + { + "name": "query1", + "query": "avg:gravitee.apim.api_response_time_ms{$apiname} by {apiname}", + "data_source": "metrics" + }, + { + "name": "query2", + "query": "avg:gravitee.apim.endpoint_response_time_ms{(entrypointid NOT IN (websocket,webhook)) AND $apiname} by {apiname}", + "data_source": "metrics" + } + ], "formulas": [ { + "alias": "ResponseTime", + "formula": "query1", "number_format": { "unit": { "type": "canonical_unit", "unit_name": "millisecond" } - }, - "alias": "ResponseTime", - "formula": "query1" + } }, { + "alias": "ResponseTime", + "formula": "query2", "number_format": { "unit": { "type": "canonical_unit", "unit_name": "millisecond" } - }, - "alias": "ResponseTime", - "formula": "query2" - } - ], - "queries": [ - { - "query": "avg:gravitee.apim.api_response_time_ms{$apiname} by {apiname}", - "data_source": "metrics", - "name": "query1" - }, - { - "query": "avg:gravitee.apim.endpoint_response_time_ms{(entrypointid NOT IN (websocket,webhook)) AND $apiname} by {apiname}", - "data_source": "metrics", - "name": "query2" + } } ], - "response_format": "timeseries", - "style": { - "palette": "dog_classic", - "line_type": "solid", - "line_width": "normal" - }, - "display_type": "line" + "display_type": "line", + "response_format": "timeseries" } + ], + "title_size": "16", + "show_legend": true, + "title_align": "left", + "legend_layout": "vertical", + "legend_columns": [ + "avg", + "min", + "max" ] - }, - "layout": { - "x": 4, - "y": 4, - "width": 4, - "height": 4 } }, { "id": 2019903893486560, + "layout": { + "x": 8, + "y": 4, + "width": 4, + "height": 4 + }, "definition": { + "type": "timeseries", "title": "Max Latency Times (by Gateway and Endpoint)", - "title_size": "16", - "title_align": "left", - "show_legend": true, - "legend_layout": "horizontal", - "legend_columns": [ - "avg", - "min", - "max", - "value", - "sum" + "markers": [ + { + "label": " WARNING ", + "value": "y > 500", + "display_type": "warning dashed" + }, + { + "label": " BAD ", + "value": "y > 1000", + "display_type": "error dashed" + }, + { + "label": " GOOD ", + "value": "y < 500", + "display_type": "ok dashed" + } ], - "type": "timeseries", "requests": [ { - "response_format": "timeseries", + "style": { + "palette": "dog_classic", + "order_by": "values", + "line_type": "solid", + "line_width": "normal", + "order_reverse": false + }, "queries": [ { - "data_source": "metrics", "name": "query3", - "query": "max:gravitee.apim.proxy_latency_ms{$apiname}" + "query": "max:gravitee.apim.proxy_latency_ms{$apiname}", + "data_source": "metrics" }, { - "data_source": "metrics", "name": "query1", - "query": "max:gravitee.apim.api_response_time_ms{$apiname}" + "query": "max:gravitee.apim.api_response_time_ms{$apiname}", + "data_source": "metrics" } ], "formulas": [ { - "number_format": { - "unit": { - "type": "canonical_unit", - "unit_name": "millisecond" - } - }, "alias": "Gateway Latency (auth+policies)", "style": { "palette": "purple", "palette_index": 1 }, - "formula": "query3" - }, - { + "formula": "query3", "number_format": { "unit": { "type": "canonical_unit", "unit_name": "millisecond" } - }, - "alias": "Endpoint Latency (upstream service)", + } + }, + { + "alias": "Endpoint Latency (upstream service)", "style": { "palette": "purple", "palette_index": 5 }, - "formula": "query1" + "formula": "query1", + "number_format": { + "unit": { + "type": "canonical_unit", + "unit_name": "millisecond" + } + } } ], - "style": { - "palette": "dog_classic", - "order_by": "values", - "order_reverse": false, - "line_type": "solid", - "line_width": "normal" - }, - "display_type": "bars" - } - ], - "markers": [ - { - "label": " WARNING ", - "value": "y > 500", - "display_type": "warning dashed" - }, - { - "label": " BAD ", - "value": "y > 1000", - "display_type": "error dashed" - }, - { - "label": " GOOD ", - "value": "y < 500", - "display_type": "ok dashed" + "display_type": "bars", + "response_format": "timeseries" } ], + "title_size": "16", + "show_legend": true, + "title_align": "left", "custom_links": [ { - "override_label": "logs", "link": "/logs?live=false&from_ts={{timestamp_start}}&to_ts={{timestamp_end}}&query={{@apiResponse.status}}", - "is_hidden": false + "is_hidden": false, + "override_label": "logs" } + ], + "legend_layout": "horizontal", + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" ] - }, - "layout": { - "x": 8, - "y": 4, - "width": 4, - "height": 4 } }, { "id": 2953985880892720, + "layout": { + "x": 0, + "y": 8, + "width": 6, + "height": 3 + }, "definition": { + "type": "sunburst", "title": "Responses by Status Code", - "title_size": "16", - "title_align": "left", + "legend": { + "type": "automatic" + }, "requests": [ { + "sort": { + "order_by": [ + { + "type": "formula", + "index": 0, + "order": "desc" + } + ] + }, + "style": { + "palette": "semantic" + }, "queries": [ { - "data_source": "metrics", "name": "query1", "query": "sum:gravitee.apim.api_request_count{status:1*} by {status}.as_count()", - "aggregator": "sum" + "aggregator": "sum", + "data_source": "metrics" }, { - "data_source": "metrics", "name": "query2", "query": "sum:gravitee.apim.api_request_count{status:2*} by {status}.as_count()", - "aggregator": "sum" + "aggregator": "sum", + "data_source": "metrics" }, { - "data_source": "metrics", "name": "query3", "query": "sum:gravitee.apim.api_request_count{status:3*} by {status}.as_count()", - "aggregator": "sum" + "aggregator": "sum", + "data_source": "metrics" }, { - "data_source": "metrics", "name": "query4", "query": "sum:gravitee.apim.api_request_count{status:4*} by {status}.as_count()", - "aggregator": "sum" + "aggregator": "sum", + "data_source": "metrics" }, { - "data_source": "metrics", "name": "query5", "query": "sum:gravitee.apim.api_request_count{status:5*} by {status}.as_count()", - "aggregator": "sum" + "aggregator": "sum", + "data_source": "metrics" } ], - "response_format": "scalar", - "style": { - "palette": "semantic" - }, "formulas": [ { "formula": "query1+query2+query3+query4+query5", @@ -726,63 +745,64 @@ } } ], - "sort": { - "order_by": [ - { - "type": "formula", - "index": 0, - "order": "desc" - } - ] - } + "response_format": "scalar" } ], - "type": "sunburst", "hide_total": false, - "legend": { - "type": "automatic" - }, + "title_size": "16", + "title_align": "left", "custom_links": [ { - "override_label": "logs", "link": "/logs?live=false&from_ts={{timestamp_start}}&to_ts={{timestamp_end}}&query=@entrypointResponse.status%3A{{status.value}}%20OR%20@clientResponse.status%3A{{status.value}}", - "is_hidden": false + "is_hidden": false, + "override_label": "logs" } ] - }, - "layout": { - "x": 0, - "y": 8, - "width": 6, - "height": 3 } }, { "id": 5422211689129905, + "layout": { + "x": 6, + "y": 8, + "width": 6, + "height": 3 + }, "definition": { + "type": "sunburst", "title": "(V2 & V4 API) Requests by Response Times", - "title_size": "16", - "title_align": "left", + "legend": { + "type": "automatic" + }, "requests": [ { + "sort": { + "count": 500, + "order_by": [ + { + "type": "formula", + "index": 0, + "order": "desc" + } + ] + }, + "style": { + "palette": "datadog16" + }, "queries": [ { - "data_source": "metrics", "name": "query1", "query": "max:gravitee.apim.endpoint_response_time_ms{(entrypointid NOT IN (websocket,webhook)) AND $apiname} by {apiname}", - "aggregator": "avg" + "aggregator": "avg", + "data_source": "metrics" }, { - "data_source": "metrics", "name": "query2", "query": "max:gravitee.apim.api_response_time_ms{$apiname} by {apiname}", - "aggregator": "avg" + "aggregator": "avg", + "data_source": "metrics" } ], - "response_format": "scalar", - "style": { - "palette": "datadog16" - }, "formulas": [ { "formula": "query1" @@ -791,192 +811,175 @@ "formula": "query2" } ], - "sort": { - "count": 500, - "order_by": [ - { - "type": "formula", - "index": 0, - "order": "desc" - } - ] - } + "response_format": "scalar" } ], - "type": "sunburst", "hide_total": true, - "legend": { - "type": "automatic" - }, + "title_size": "16", + "title_align": "left", "custom_links": [ { - "override_label": "logs", "link": "/logs?live=false&from_ts={{timestamp_start}}&to_ts={{timestamp_end}}&query={{@APINAME}}", - "is_hidden": false + "is_hidden": false, + "override_label": "logs" } ] - }, - "layout": { - "x": 6, - "y": 8, - "width": 6, - "height": 3 } }, { "id": 4641773626082915, + "layout": { + "x": 6, + "y": 11, + "width": 6, + "height": 3 + }, "definition": { + "type": "sunburst", "title": "(V4 API) Requests by Response Times", - "title_size": "16", - "title_align": "left", + "legend": { + "type": "automatic" + }, "requests": [ { + "sort": { + "count": 500, + "order_by": [ + { + "type": "formula", + "index": 0, + "order": "desc" + } + ] + }, + "style": { + "palette": "datadog16" + }, "queries": [ { - "data_source": "metrics", "name": "query2", "query": "max:gravitee.apim.endpoint_response_time_ms{(entrypointid NOT IN (websocket,webhook)) AND $apiname} by {apiname}", - "aggregator": "avg" + "aggregator": "avg", + "data_source": "metrics" } ], - "response_format": "scalar", - "style": { - "palette": "datadog16" - }, "formulas": [ { "formula": "query2" } ], - "sort": { - "count": 500, - "order_by": [ - { - "type": "formula", - "index": 0, - "order": "desc" - } - ] - } + "response_format": "scalar" } ], - "type": "sunburst", - "legend": { - "type": "automatic" - }, + "title_size": "16", + "title_align": "left", "custom_links": [ { - "override_label": "logs", "link": "/logs?live=false&from_ts={{timestamp_start}}&to_ts={{timestamp_end}}&query={{@APINAME}}", - "is_hidden": false + "is_hidden": false, + "override_label": "logs" } ] - }, - "layout": { - "x": 6, - "y": 11, - "width": 6, - "height": 3 } }, { "id": 4698986652784730, + "layout": { + "x": 6, + "y": 14, + "width": 6, + "height": 3 + }, "definition": { + "type": "sunburst", "title": "(V2 API) Requests by Response Times", - "title_size": "16", - "title_align": "left", + "legend": { + "type": "automatic" + }, "requests": [ { + "sort": { + "count": 500, + "order_by": [ + { + "type": "formula", + "index": 0, + "order": "desc" + } + ] + }, + "style": { + "palette": "datadog16" + }, "queries": [ { - "data_source": "metrics", "name": "query1", "query": "max:gravitee.apim.api_response_time_ms{$apiname} by {apiname}", - "aggregator": "avg" + "aggregator": "avg", + "data_source": "metrics" } ], - "response_format": "scalar", - "style": { - "palette": "datadog16" - }, "formulas": [ { "formula": "query1" } ], - "sort": { - "count": 500, - "order_by": [ - { - "type": "formula", - "index": 0, - "order": "desc" - } - ] - } + "response_format": "scalar" } ], - "type": "sunburst", - "legend": { - "type": "automatic" - }, + "title_size": "16", + "title_align": "left", "custom_links": [ { - "override_label": "logs", "link": "/logs?live=false&from_ts={{timestamp_start}}&to_ts={{timestamp_end}}&query={{@APINAME}}", - "is_hidden": false + "is_hidden": false, + "override_label": "logs" } ] - }, - "layout": { - "x": 6, - "y": 14, - "width": 6, - "height": 3 } } - ] - }, - "layout": { - "x": 0, - "y": 1, - "width": 12, - "height": 18 + ], + "show_title": true, + "layout_type": "ordered", + "background_color": "vivid_orange" } }, { "id": 5961648438515334, + "layout": { + "x": 0, + "y": 19, + "width": 12, + "height": 7 + }, "definition": { - "title": "Gateway Performance", - "background_color": "vivid_orange", - "show_title": true, "type": "group", - "layout_type": "ordered", + "title": "Gateway Performance", "widgets": [ { "id": 6926168646749738, + "layout": { + "x": 0, + "y": 0, + "width": 4, + "height": 2 + }, "definition": { - "title": "Total Requests (Overall)", - "title_size": "16", - "title_align": "left", - "show_legend": true, - "legend_layout": "auto", - "legend_columns": [ - "avg", - "min", - "max", - "value", - "sum" - ], "type": "timeseries", + "title": "Total Requests (Overall)", "requests": [ { - "response_format": "timeseries", + "style": { + "palette": "dog_classic", + "order_by": "values", + "line_type": "solid", + "line_width": "normal" + }, "queries": [ { - "data_source": "metrics", "name": "query1", - "query": "sum:gravitee.apim.api_request_count{*}.as_count()" + "query": "sum:gravitee.apim.api_request_count{*}.as_count()", + "data_source": "metrics" } ], "formulas": [ @@ -990,123 +993,106 @@ } } ], - "style": { - "palette": "dog_classic", - "order_by": "values", - "line_type": "solid", - "line_width": "normal" - }, - "display_type": "line" + "display_type": "line", + "response_format": "timeseries" } + ], + "title_size": "16", + "show_legend": true, + "title_align": "left", + "legend_layout": "auto", + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" ] - }, - "layout": { - "x": 0, - "y": 0, - "width": 4, - "height": 2 } }, { "id": 2045321448815244, + "layout": { + "x": 4, + "y": 0, + "width": 4, + "height": 2 + }, "definition": { - "title": "Gateway Node Uptimes", "type": "treemap", + "title": "Gateway Node Uptimes", "requests": [ { + "style": { + "palette": "datadog16" + }, "queries": [ { - "query": "avg:gravitee.apim.uptime_in_millis{*} by {nodehost}", - "data_source": "metrics", "name": "query1", - "aggregator": "last" + "query": "avg:gravitee.apim.uptime_in_millis{*} by {nodehost}", + "aggregator": "last", + "data_source": "metrics" } ], - "response_format": "scalar", - "style": { - "palette": "datadog16" - }, "formulas": [ { "formula": "query1" } - ] + ], + "response_format": "scalar" } ] - }, - "layout": { - "x": 4, - "y": 0, - "width": 4, - "height": 2 } }, { "id": 6562679517717368, + "layout": { + "x": 8, + "y": 0, + "width": 4, + "height": 2 + }, "definition": { + "type": "timeseries", "title": "Gateway(s) CPU Load", - "title_size": "16", - "title_align": "left", - "show_legend": true, - "legend_layout": "horizontal", - "legend_columns": [ - "avg", - "min", - "max", - "value", - "sum" + "markers": [ + { + "value": "y = 90", + "display_type": "error dashed" + } ], - "type": "timeseries", "requests": [ { + "style": { + "palette": "green", + "line_type": "solid", + "line_width": "normal" + }, + "queries": [ + { + "name": "query1", + "query": "avg:gravitee.apim.process_percent{*} by {nodehost}", + "data_source": "metrics" + } + ], "formulas": [ { + "formula": "query1", "number_format": { "unit": { "type": "canonical_unit", "unit_name": "percent" } - }, - "formula": "query1" - } - ], - "queries": [ - { - "query": "avg:gravitee.apim.process_percent{*} by {nodehost}", - "data_source": "metrics", - "name": "query1" + } } ], - "response_format": "timeseries", - "style": { - "palette": "green", - "line_type": "solid", - "line_width": "normal" - }, - "display_type": "line" + "display_type": "line", + "response_format": "timeseries" } ], - "markers": [ - { - "value": "y = 90", - "display_type": "error dashed" - } - ] - }, - "layout": { - "x": 8, - "y": 0, - "width": 4, - "height": 2 - } - }, - { - "id": 4948405401462116, - "definition": { - "title": "Total Requests (per Gateway Node)", "title_size": "16", - "title_align": "left", "show_legend": true, + "title_align": "left", "legend_layout": "horizontal", "legend_columns": [ "avg", @@ -1114,53 +1100,53 @@ "max", "value", "sum" - ], + ] + } + }, + { + "id": 4948405401462116, + "layout": { + "x": 0, + "y": 2, + "width": 4, + "height": 2 + }, + "definition": { "type": "timeseries", + "title": "Total Requests (per Gateway Node)", "requests": [ { - "response_format": "timeseries", + "style": { + "palette": "dog_classic", + "order_by": "values", + "line_type": "solid", + "line_width": "normal" + }, "queries": [ { - "data_source": "metrics", "name": "query1", - "query": "sum:gravitee.apim.api_request_count{*} by {nodehost}.as_count()" + "query": "sum:gravitee.apim.api_request_count{*} by {nodehost}.as_count()", + "data_source": "metrics" } ], "formulas": [ { + "formula": "query1", "number_format": { "unit": { "type": "canonical_unit", "unit_name": "request" } - }, - "formula": "query1" + } } ], - "style": { - "palette": "dog_classic", - "order_by": "values", - "line_type": "solid", - "line_width": "normal" - }, - "display_type": "line" + "display_type": "line", + "response_format": "timeseries" } - ] - }, - "layout": { - "x": 0, - "y": 2, - "width": 4, - "height": 2 - } - }, - { - "id": 4369853661978842, - "definition": { - "title": "Gateway(s) Memory Consumed", + ], "title_size": "16", - "title_align": "left", "show_legend": true, + "title_align": "left", "legend_layout": "horizontal", "legend_columns": [ "avg", @@ -1168,46 +1154,94 @@ "max", "value", "sum" - ], + ] + } + }, + { + "id": 4369853661978842, + "layout": { + "x": 8, + "y": 2, + "width": 4, + "height": 2 + }, + "definition": { "type": "timeseries", + "title": "Gateway(s) Memory Consumed", "requests": [ { - "formulas": [ + "style": { + "palette": "green", + "line_type": "solid", + "line_width": "normal" + }, + "queries": [ { - "formula": "query1" + "name": "query1", + "query": "avg:gravitee.apim.mem_used_in_bytes{*} by {nodehost}", + "data_source": "metrics" } ], - "response_format": "timeseries", - "queries": [ + "formulas": [ { - "query": "avg:gravitee.apim.mem_used_in_bytes{*} by {nodehost}", - "data_source": "metrics", - "name": "query1" + "formula": "query1" } ], - "style": { - "palette": "green", - "line_type": "solid", - "line_width": "normal" - }, - "display_type": "line" + "display_type": "line", + "response_format": "timeseries" } + ], + "title_size": "16", + "show_legend": true, + "title_align": "left", + "legend_layout": "horizontal", + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" ] - }, - "layout": { - "x": 8, - "y": 2, - "width": 4, - "height": 2 } }, { "id": 6783770556258174, + "layout": { + "x": 0, + "y": 4, + "width": 4, + "height": 2 + }, "definition": { + "type": "timeseries", "title": "Average Latency", + "requests": [ + { + "style": { + "palette": "dog_classic", + "order_by": "values", + "line_type": "solid", + "line_width": "normal" + }, + "queries": [ + { + "name": "query1", + "query": "avg:gravitee.apim.proxy_latency_ms{*}", + "data_source": "metrics" + } + ], + "formulas": [ + { + "formula": "query1" + } + ], + "display_type": "line", + "response_format": "timeseries" + } + ], "title_size": "16", - "title_align": "left", "show_legend": true, + "title_align": "left", "legend_layout": "auto", "legend_columns": [ "avg", @@ -1215,16 +1249,38 @@ "max", "value", "sum" - ], + ] + } + }, + { + "id": 4291307960404796, + "layout": { + "x": 8, + "y": 4, + "width": 4, + "height": 2 + }, + "definition": { "type": "timeseries", + "title": "Gateway(s) JVM Heap Used", + "markers": [ + { + "value": "y = 90", + "display_type": "error dashed" + } + ], "requests": [ { - "response_format": "timeseries", + "style": { + "palette": "green", + "line_type": "solid", + "line_width": "normal" + }, "queries": [ { - "data_source": "metrics", "name": "query1", - "query": "avg:gravitee.apim.proxy_latency_ms{*}" + "query": "avg:gravitee.apim.heap_used_percent{*} by {nodehost}", + "data_source": "metrics" } ], "formulas": [ @@ -1232,30 +1288,13 @@ "formula": "query1" } ], - "style": { - "palette": "dog_classic", - "order_by": "values", - "line_type": "solid", - "line_width": "normal" - }, - "display_type": "line" + "display_type": "line", + "response_format": "timeseries" } - ] - }, - "layout": { - "x": 0, - "y": 4, - "width": 4, - "height": 2 - } - }, - { - "id": 4291307960404796, - "definition": { - "title": "Gateway(s) JVM Heap Used", + ], "title_size": "16", - "title_align": "left", "show_legend": true, + "title_align": "left", "legend_layout": "horizontal", "legend_columns": [ "avg", @@ -1263,77 +1302,46 @@ "max", "value", "sum" - ], - "type": "timeseries", - "requests": [ - { - "formulas": [ - { - "formula": "query1" - } - ], - "response_format": "timeseries", - "queries": [ - { - "query": "avg:gravitee.apim.heap_used_percent{*} by {nodehost}", - "data_source": "metrics", - "name": "query1" - } - ], - "style": { - "palette": "green", - "line_type": "solid", - "line_width": "normal" - }, - "display_type": "line" - } - ], - "markers": [ - { - "value": "y = 90", - "display_type": "error dashed" - } ] - }, - "layout": { - "x": 8, - "y": 4, - "width": 4, - "height": 2 } } - ] - }, - "layout": { - "x": 0, - "y": 19, - "width": 12, - "height": 7 + ], + "show_title": true, + "layout_type": "ordered", + "background_color": "vivid_orange" } }, { "id": 2809737573659696, + "layout": { + "x": 0, + "y": 26, + "width": 12, + "height": 9 + }, "definition": { + "size": "xs", + "type": "split_group", "title": "max:gravitee.apim.process_percent{*} : top 24 nodeid", "title_size": "16", "title_align": "left", - "type": "split_group", + "split_config": { + "sort": { + "order": "desc" + }, + "limit": 24, + "split_dimensions": [ + { + "one_graph_per": "nodehost" + } + ] + }, + "has_uniform_y_axes": true, "source_widget_definition": { - "title": "", - "title_size": "16", - "title_align": "left", "type": "query_table", + "title": "", "requests": [ { - "queries": [ - { - "query": "max:gravitee.apim.process_percent{*}", - "data_source": "metrics", - "name": "query1", - "aggregator": "avg" - } - ], - "response_format": "scalar", "sort": { "count": 500, "order_by": [ @@ -1344,228 +1352,227 @@ } ] }, + "queries": [ + { + "name": "query1", + "query": "max:gravitee.apim.process_percent{*}", + "aggregator": "avg", + "data_source": "metrics" + } + ], "formulas": [ { - "cell_display_mode": "bar", - "formula": "query1" + "formula": "query1", + "cell_display_mode": "bar" } - ] + ], + "response_format": "scalar" } ], + "title_size": "16", + "title_align": "left", "has_search_bar": "auto" - }, - "split_config": { - "split_dimensions": [ - { - "one_graph_per": "nodehost" - } - ], - "limit": 24, - "sort": { - "order": "desc" - } - }, - "size": "xs", - "has_uniform_y_axes": true - }, - "layout": { - "x": 0, - "y": 26, - "width": 12, - "height": 9 + } } }, { "id": 613533994368135, + "layout": { + "x": 0, + "y": 35, + "width": 12, + "height": 8 + }, "definition": { - "title": "Logs", - "background_color": "vivid_orange", - "show_title": true, "type": "group", - "layout_type": "ordered", + "title": "Logs", "widgets": [ { "id": 220474932486185, + "layout": { + "x": 0, + "y": 0, + "width": 12, + "height": 3 + }, "definition": { - "title": "Responses by Status Code", - "title_size": "16", - "title_align": "left", - "show_legend": true, - "legend_layout": "horizontal", - "legend_columns": [ - "avg", - "min", - "max", - "value", - "sum" - ], "type": "timeseries", + "title": "Responses by Status Code", "requests": [ { - "response_format": "timeseries", + "style": { + "palette": "dog_classic", + "order_by": "values", + "line_type": "solid", + "line_width": "normal", + "order_reverse": false + }, "queries": [ { "name": "query1", - "data_source": "logs", "search": { "query": "(@entrypointResponse.status:[200 TO 299] OR @clientResponse.status:[200 TO 299]) $apiname" }, + "compute": { + "metric": "@apiResponse.status", + "aggregation": "count" + }, "indexes": [ "*" ], + "storage": "hot", "group_by": [ { - "facet": "@apiResponse.status", - "limit": 10, "sort": { - "aggregation": "count", "order": "desc", - "metric": "@apiResponse.status" + "metric": "@apiResponse.status", + "aggregation": "count" }, + "facet": "@apiResponse.status", + "limit": 10, "should_exclude_missing": true } ], - "compute": { - "aggregation": "count", - "metric": "@apiResponse.status" - }, - "storage": "hot" + "data_source": "logs" }, { "name": "query2", - "data_source": "logs", "search": { "query": "(@entrypointResponse.status:([400 TO 499] OR [500 TO 599]) OR @clientResponse.status:([400 TO 499] OR [500 TO 599])) $apiname" }, + "compute": { + "metric": "@apiResponse.status", + "aggregation": "count" + }, "indexes": [ "*" ], + "storage": "hot", "group_by": [ { - "facet": "@apiResponse.status", - "limit": 10, "sort": { - "aggregation": "count", "order": "desc", - "metric": "@apiResponse.status" + "metric": "@apiResponse.status", + "aggregation": "count" }, + "facet": "@apiResponse.status", + "limit": 10, "should_exclude_missing": true } ], - "compute": { - "aggregation": "count", - "metric": "@apiResponse.status" - }, - "storage": "hot" + "data_source": "logs" }, { "name": "query3", - "data_source": "logs", "search": { "query": "(@entrypointResponse.status:([100 TO 199] OR [300 TO 399]) OR @clientResponse.status:([100 TO 199] OR [300 TO 399])) $apiname" }, + "compute": { + "metric": "@apiResponse.status", + "aggregation": "count" + }, "indexes": [ "*" ], + "storage": "hot", "group_by": [ { - "facet": "@apiResponse.status", - "limit": 10, "sort": { - "aggregation": "count", "order": "desc", - "metric": "@apiResponse.status" - } + "metric": "@apiResponse.status", + "aggregation": "count" + }, + "facet": "@apiResponse.status", + "limit": 10 } ], - "compute": { - "aggregation": "count", - "metric": "@apiResponse.status" - }, - "storage": "hot" + "data_source": "logs" } ], "formulas": [ { - "number_format": { - "unit": { - "type": "canonical_unit", - "unit_name": "request" - } - }, "alias": "Status Code", "style": { "palette": "green" }, - "formula": "query1" - }, - { + "formula": "query1", "number_format": { "unit": { "type": "canonical_unit", "unit_name": "request" } - }, + } + }, + { "alias": "Status Code", "style": { "palette": "red" }, - "formula": "query2" - }, - { + "formula": "query2", "number_format": { "unit": { "type": "canonical_unit", "unit_name": "request" } - }, + } + }, + { "alias": "Status Code", "style": { "palette": "grey" }, - "formula": "query3" + "formula": "query3", + "number_format": { + "unit": { + "type": "canonical_unit", + "unit_name": "request" + } + } } ], - "style": { - "palette": "dog_classic", - "order_by": "values", - "order_reverse": false, - "line_type": "solid", - "line_width": "normal" - }, - "display_type": "bars" + "display_type": "bars", + "response_format": "timeseries" } ], + "title_size": "16", + "show_legend": true, + "title_align": "left", "custom_links": [ { - "override_label": "logs", "link": "/logs?live=false&from_ts={{timestamp_start}}&to_ts={{timestamp_end}}&query={{@apiResponse.status}}", - "is_hidden": false + "is_hidden": false, + "override_label": "logs" } + ], + "legend_layout": "horizontal", + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" ] - }, - "layout": { - "x": 0, - "y": 0, - "width": 12, - "height": 3 } }, { "id": 2972223684765538, + "layout": { + "x": 0, + "y": 3, + "width": 12, + "height": 4 + }, "definition": { + "type": "list_stream", "title": "", - "title_size": "16", - "title_align": "left", "requests": [ { "query": { - "query_string": "source:gravitee", - "data_source": "logs_stream", "indexes": [], - "storage": "hot" + "storage": "hot", + "data_source": "logs_stream", + "query_string": "source:gravitee" }, - "response_format": "event_list", "columns": [ { "field": "status_line", @@ -1587,25 +1594,18 @@ "field": "content", "width": "compact" } - ] + ], + "response_format": "event_list" } ], - "type": "list_stream" - }, - "layout": { - "x": 0, - "y": 3, - "width": 12, - "height": 4 + "title_size": "16", + "title_align": "left" } } - ] - }, - "layout": { - "x": 0, - "y": 35, - "width": 12, - "height": 8 + ], + "show_title": true, + "layout_type": "ordered", + "background_color": "vivid_orange" } } ], @@ -1623,6 +1623,5 @@ ], "layout_type": "ordered", "notify_list": [], - "reflow_type": "fixed", - "tags": [] + "reflow_type": "fixed" } \ No newline at end of file diff --git a/gravitee/assets/logs/gravitee.yaml b/gravitee/assets/logs/gravitee.yaml index afbdd8564e..c7ad61f283 100644 --- a/gravitee/assets/logs/gravitee.yaml +++ b/gravitee/assets/logs/gravitee.yaml @@ -1,6 +1,9 @@ -# bypass-global-no-service-config-checks id: gravitee +# See app_id in your integration's manifest.json file to learn more: +# https://docs.datadoghq.com/developers/integrations/check_references/#manifest-file metric_id: gravitee +# If for some reason id must be different than app_id, add the app_id in this field instead. +# If id and app_id already match, this field can be left blank. backend_only: false facets: - description: The human-readable name of the API diff --git a/gravitee/assets/logs/gravitee_tests.yaml b/gravitee/assets/logs/gravitee_tests.yaml index ceba8a9064..40ee29061f 100644 --- a/gravitee/assets/logs/gravitee_tests.yaml +++ b/gravitee/assets/logs/gravitee_tests.yaml @@ -1,160 +1,89 @@ -id: "gravitee" +id: gravitee tests: - - - sample: |- - { - "apiName" : "Temperature Conversion", - "hostname" : "23b3c1fc3d25", - "service" : "gio-apim-gateway", - "requestId" : "deffe8bf-7176-4b6b-bfe8-bf71761b6b45", - "requestEnded" : true, - "endpointResponse" : { - "status" : 0 - }, - "entrypointResponse" : { - "headers" : { - "X-Gravitee-Transaction-Id" : [ "deffe8bf-7176-4b6b-bfe8-bf71761b6b45" ], - "Content-Length" : [ "49" ], - "X-Gravitee-Request-Id" : [ "deffe8bf-7176-4b6b-bfe8-bf71761b6b45" ], - "Content-Type" : [ "application/json" ] - }, - "body" : "{\"message\":\"Unauthorized\",\"http_status_code\":401}", - "status" : 401 - }, - "entrypointRequest" : { - "headers" : { - "Cookie" : [ "cookiesession1=678B2878D1E757203AB1586B9AD2D496" ], - "SOAPAction" : [ "https://www.w3schools.com/xml/CelsiusToFahrenheit" ], - "Accept" : [ "*/*" ], - "Connection" : [ "keep-alive" ], - "User-Agent" : [ "PostmanRuntime/7.44.0" ], - "X-Gravitee-Api-Key" : [ "ffb674f8-970f-4785-b674-f8970f4785ff" ], - "X-Gravitee-Transaction-Id" : [ "deffe8bf-7176-4b6b-bfe8-bf71761b6b45" ], - "Host" : [ "localhost:8082" ], - "Accept-Encoding" : [ "gzip, deflate, br" ], - "Postman-Token" : [ "85fdd53e-b179-43a0-8135-f432a5540568" ], - "Content-Length" : [ "374" ], - "X-Gravitee-Request-Id" : [ "deffe8bf-7176-4b6b-bfe8-bf71761b6b45" ], - "Content-Type" : [ "text/xml" ] - }, - "method" : "POST", - "uri" : "/tempconvert-v4" - }, - "apiId" : "297c43be-8c8b-4fcd-bc43-be8c8bdfcdff", - "endpointRequest" : { - "method" : "POST", - "uri" : "" - }, - "status" : "info", - "timestamp" : 1749198092502 - } - result: - custom: - apiId: "297c43be-8c8b-4fcd-bc43-be8c8bdfcdff" - endpointRequest: - method: "POST" - uri: "" - endpointResponse: - status: 0 - entrypointRequest: - headers: - Accept: - - "*/*" - Accept-Encoding: - - "gzip, deflate, br" - Connection: - - "keep-alive" - Content-Length: - - "374" - Content-Type: - - "text/xml" - Cookie: - - "cookiesession1=678B2878D1E757203AB1586B9AD2D496" - Host: - - "localhost:8082" - Postman-Token: - - "85fdd53e-b179-43a0-8135-f432a5540568" - SOAPAction: - - "https://www.w3schools.com/xml/CelsiusToFahrenheit" - User-Agent: - - "PostmanRuntime/7.44.0" - X-Gravitee-Api-Key: - - "ffb674f8-970f-4785-b674-f8970f4785ff" - X-Gravitee-Request-Id: - - "deffe8bf-7176-4b6b-bfe8-bf71761b6b45" - X-Gravitee-Transaction-Id: - - "deffe8bf-7176-4b6b-bfe8-bf71761b6b45" - method: "POST" - uri: "/tempconvert-v4" - entrypointResponse: - body: "{\"message\":\"Unauthorized\",\"http_status_code\":401}" - headers: - Content-Length: - - "49" - Content-Type: - - "application/json" - X-Gravitee-Request-Id: - - "deffe8bf-7176-4b6b-bfe8-bf71761b6b45" - X-Gravitee-Transaction-Id: - - "deffe8bf-7176-4b6b-bfe8-bf71761b6b45" - status: 401 - gravitee: - apiName: "Temperature Conversion" - hostname: "23b3c1fc3d25" - requestEnded: true - requestId: "deffe8bf-7176-4b6b-bfe8-bf71761b6b45" - service: "gio-apim-gateway" - status: "info" - timestamp: 1749198092502 - message: |- + - sample: |- { - "apiName" : "Temperature Conversion", - "hostname" : "23b3c1fc3d25", - "service" : "gio-apim-gateway", - "requestId" : "deffe8bf-7176-4b6b-bfe8-bf71761b6b45", - "requestEnded" : true, - "endpointResponse" : { - "status" : 0 + "apiName": "Temperature Conversion", + "hostname": "23b3c1fc3d25", + "service": "gio-apim-gateway", + "requestId": "deffe8bf-7176-4b6b-bfe8-bf71761b6b45", + "requestEnded": true, + "endpointResponse": { + "status": 0 }, - "entrypointResponse" : { - "headers" : { - "X-Gravitee-Transaction-Id" : [ "deffe8bf-7176-4b6b-bfe8-bf71761b6b45" ], - "Content-Length" : [ "49" ], - "X-Gravitee-Request-Id" : [ "deffe8bf-7176-4b6b-bfe8-bf71761b6b45" ], - "Content-Type" : [ "application/json" ] + "entrypointResponse": { + "headers": { + "X-Gravitee-Transaction-Id": [ + "deffe8bf-7176-4b6b-bfe8-bf71761b6b45" + ], + "Content-Length": [ + "49" + ], + "X-Gravitee-Request-Id": [ + "deffe8bf-7176-4b6b-bfe8-bf71761b6b45" + ], + "Content-Type": [ + "application/json" + ] }, - "body" : "{\"message\":\"Unauthorized\",\"http_status_code\":401}", - "status" : 401 + "body": "{\"message\":\"Unauthorized\",\"http_status_code\":401}", + "status": 401 }, - "entrypointRequest" : { - "headers" : { - "Cookie" : [ "cookiesession1=678B2878D1E757203AB1586B9AD2D496" ], - "SOAPAction" : [ "https://www.w3schools.com/xml/CelsiusToFahrenheit" ], - "Accept" : [ "*/*" ], - "Connection" : [ "keep-alive" ], - "User-Agent" : [ "PostmanRuntime/7.44.0" ], - "X-Gravitee-Api-Key" : [ "ffb674f8-970f-4785-b674-f8970f4785ff" ], - "X-Gravitee-Transaction-Id" : [ "deffe8bf-7176-4b6b-bfe8-bf71761b6b45" ], - "Host" : [ "localhost:8082" ], - "Accept-Encoding" : [ "gzip, deflate, br" ], - "Postman-Token" : [ "85fdd53e-b179-43a0-8135-f432a5540568" ], - "Content-Length" : [ "374" ], - "X-Gravitee-Request-Id" : [ "deffe8bf-7176-4b6b-bfe8-bf71761b6b45" ], - "Content-Type" : [ "text/xml" ] + "entrypointRequest": { + "headers": { + "Cookie": [ + "cookiesession1=678B2878D1E757203AB1586B9AD2D496" + ], + "SOAPAction": [ + "https://www.w3schools.com/xml/CelsiusToFahrenheit" + ], + "Accept": [ + "*/*" + ], + "Connection": [ + "keep-alive" + ], + "User-Agent": [ + "PostmanRuntime/7.44.0" + ], + "X-Gravitee-Api-Key": [ + "ffb674f8-970f-4785-b674-f8970f4785ff" + ], + "X-Gravitee-Transaction-Id": [ + "deffe8bf-7176-4b6b-bfe8-bf71761b6b45" + ], + "Host": [ + "localhost:8082" + ], + "Accept-Encoding": [ + "gzip, deflate, br" + ], + "Postman-Token": [ + "85fdd53e-b179-43a0-8135-f432a5540568" + ], + "Content-Length": [ + "374" + ], + "X-Gravitee-Request-Id": [ + "deffe8bf-7176-4b6b-bfe8-bf71761b6b45" + ], + "Content-Type": [ + "text/xml" + ] }, - "method" : "POST", - "uri" : "/tempconvert-v4" + "method": "POST", + "uri": "/tempconvert-v4" }, - "apiId" : "297c43be-8c8b-4fcd-bc43-be8c8bdfcdff", - "endpointRequest" : { - "method" : "POST", - "uri" : "" + "apiId": "297c43be-8c8b-4fcd-bc43-be8c8bdfcdff", + "endpointRequest": { + "method": "POST", + "uri": "" }, - "status" : "info", - "timestamp" : 1749198092502 + "status": "info", + "timestamp": 1749198092502 } - service: "gio-apim-gateway" - status: "info" - tags: - - "source:LOGS_SOURCE" - timestamp: 1749198092502 + result: + +# The `result` field should be left blank to start. Once you submit your log asset files with +# your integration pull-request in a Datadog GitHub repository, Datadog's validations will +# run your raw logs against your pipeline and return the result. If the result output in the +# validation is accurate, take the output and add it to the `result` field in your test YAML file. \ No newline at end of file diff --git a/gravitee/manifest.json b/gravitee/manifest.json index da1806af08..db24195256 100644 --- a/gravitee/manifest.json +++ b/gravitee/manifest.json @@ -1,6 +1,5 @@ { "app_id": "gravitee", - "owner": "integrations-developer-platform", "app_uuid": "0196aad1-ada8-7064-951a-d8d2f5931688", "manifest_version": "2.0.0", "display_on_public_website": true, @@ -82,5 +81,6 @@ "source_type_id": 47483218, "supports_ddr_coordinated_failover": false } - } + }, + "owner": "integrations-developer-platform" } \ No newline at end of file