diff --git a/entity-types/infra-gcpmanagedkafkaconnectcluster/dashboard.json b/entity-types/infra-gcpmanagedkafkaconnectcluster/dashboard.json new file mode 100644 index 000000000..38763d218 --- /dev/null +++ b/entity-types/infra-gcpmanagedkafkaconnectcluster/dashboard.json @@ -0,0 +1,128 @@ +{ + "name": "GCP Managed Kafka Connect Cluster", + "description": null, + "pages": [ + { + "name": "GCP Managed Kafka Connect Cluster", + "description": null, + "widgets": [ + { + "title": "Worker CPU Usage", + "layout": { + "column": 1, + "row": 1, + "width": 4, + "height": 3 + }, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountId": 0, + "query": "FROM Metric SELECT rate(sum(`gcp.managedkafka.cpu.worker_core_usage_time`), 1 minute) AS 'CPU (vCPU/s)' WHERE `entity.guid` = '{{entity.guid}}' TIMESERIES AUTO" + } + ], + "yAxisLeft": { + "zero": true + } + } + }, + { + "title": "Worker Memory (bytes)", + "layout": { + "column": 5, + "row": 1, + "width": 4, + "height": 3 + }, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountId": 0, + "query": "FROM Metric SELECT average(`gcp.managedkafka.memory.worker_usage`) AS 'Memory (bytes)' WHERE `entity.guid` = '{{entity.guid}}' TIMESERIES AUTO" + } + ], + "yAxisLeft": { + "zero": true + } + } + }, + { + "title": "Request Rate (req/s)", + "layout": { + "column": 9, + "row": 1, + "width": 4, + "height": 3 + }, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountId": 0, + "query": "FROM Metric SELECT average(`gcp.managedkafka.connector_request_rate`) AS 'Requests/s' WHERE `entity.guid` = '{{entity.guid}}' TIMESERIES AUTO" + } + ], + "yAxisLeft": { + "zero": true + } + } + }, + { + "title": "Response Rate (resp/s)", + "layout": { + "column": 1, + "row": 4, + "width": 4, + "height": 3 + }, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountId": 0, + "query": "FROM Metric SELECT average(`gcp.managedkafka.connector_response_rate`) AS 'Responses/s' WHERE `entity.guid` = '{{entity.guid}}' TIMESERIES AUTO" + } + ], + "yAxisLeft": { + "zero": true + } + } + } + ] + } + ] +} \ No newline at end of file diff --git a/entity-types/infra-gcpmanagedkafkaconnectcluster/definition.yml b/entity-types/infra-gcpmanagedkafkaconnectcluster/definition.yml new file mode 100644 index 000000000..acfd14a78 --- /dev/null +++ b/entity-types/infra-gcpmanagedkafkaconnectcluster/definition.yml @@ -0,0 +1,12 @@ +domain: INFRA +type: GCPMANAGEDKAFKACONNECTCLUSTER +goldenTags: +- gcp.projectId +- gcp.region +configuration: + entityExpirationTime: DAILY + alertable: true + +ownership: + primaryOwner: + teamName: "Cloud Monitoring Platform" diff --git a/entity-types/infra-gcpmanagedkafkaconnectcluster/golden_metrics.yml b/entity-types/infra-gcpmanagedkafkaconnectcluster/golden_metrics.yml new file mode 100644 index 000000000..d37f798a5 --- /dev/null +++ b/entity-types/infra-gcpmanagedkafkaconnectcluster/golden_metrics.yml @@ -0,0 +1,29 @@ +cpuWorkerCoreUsageTime: + title: Worker CPU Usage + unit: PERCENTAGE + queries: + gcp: + select: rate(sum(gcp.managedkafka.cpu.worker_core_usage_time), 1 minute) + from: Metric + eventId: entity.guid + eventName: entity.name + +memoryWorkerUsage: + title: Worker Memory Usage (bytes) + unit: BYTES + queries: + gcp: + select: average(gcp.managedkafka.memory.worker_usage) + from: Metric + eventId: entity.guid + eventName: entity.name + +connectorRequestRate: + title: Connector Request Rate + unit: COUNT + queries: + gcp: + select: average(gcp.managedkafka.connector_request_rate) + from: Metric + eventId: entity.guid + eventName: entity.name diff --git a/entity-types/infra-gcpmanagedkafkaconnectcluster/summary_metrics.yml b/entity-types/infra-gcpmanagedkafkaconnectcluster/summary_metrics.yml new file mode 100644 index 000000000..5bec32266 --- /dev/null +++ b/entity-types/infra-gcpmanagedkafkaconnectcluster/summary_metrics.yml @@ -0,0 +1,26 @@ +providerAccountName: + tag: + key: providerAccountName + title: GCP account + unit: STRING + +gcpProjectId: + tag: + key: gcp.projectId + title: GCP Project ID + unit: STRING + +cpuWorkerCoreUsageTime: + goldenMetric: cpuWorkerCoreUsageTime + title: Worker CPU Usage + unit: PERCENTAGE + +memoryWorkerUsage: + goldenMetric: memoryWorkerUsage + title: Worker Memory Usage (bytes) + unit: BYTES + +connectorRequestRate: + goldenMetric: connectorRequestRate + title: Connector Request Rate + unit: COUNT diff --git a/entity-types/infra-gcpmanagedkafkaconnector/dashboard.json b/entity-types/infra-gcpmanagedkafkaconnector/dashboard.json new file mode 100644 index 000000000..54c8cb339 --- /dev/null +++ b/entity-types/infra-gcpmanagedkafkaconnector/dashboard.json @@ -0,0 +1,157 @@ +{ + "name": "GCP Managed Kafka Connector", + "description": null, + "pages": [ + { + "name": "GCP Managed Kafka Connector", + "description": null, + "widgets": [ + { + "title": "Tasks by State", + "layout": { + "column": 1, + "row": 1, + "width": 4, + "height": 3 + }, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountId": 0, + "query": "FROM Metric SELECT average(`gcp.managedkafka.connector_tasks`) AS 'Tasks' WHERE `entity.guid` = '{{entity.guid}}' FACET `metric.state` TIMESERIES AUTO" + } + ], + "yAxisLeft": { + "zero": true + } + } + }, + { + "title": "Record Errors", + "layout": { + "column": 5, + "row": 1, + "width": 4, + "height": 3 + }, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountId": 0, + "query": "FROM Metric SELECT sum(`gcp.managedkafka.connector_total_error_record_count`) AS 'Errors' WHERE `entity.guid` = '{{entity.guid}}' FACET `metric.type` TIMESERIES AUTO" + } + ], + "yAxisLeft": { + "zero": true + } + } + }, + { + "title": "Sink Active Records", + "layout": { + "column": 9, + "row": 1, + "width": 4, + "height": 3 + }, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountId": 0, + "query": "FROM Metric SELECT average(`gcp.managedkafka.connector_sink_active_records`) AS 'Active Records' WHERE `entity.guid` = '{{entity.guid}}' TIMESERIES AUTO" + } + ], + "yAxisLeft": { + "zero": true + } + } + }, + { + "title": "Source Active Records", + "layout": { + "column": 1, + "row": 4, + "width": 4, + "height": 3 + }, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountId": 0, + "query": "FROM Metric SELECT average(`gcp.managedkafka.connector_source_active_records`) AS 'Active Records' WHERE `entity.guid` = '{{entity.guid}}' TIMESERIES AUTO" + } + ], + "yAxisLeft": { + "zero": true + } + } + }, + { + "title": "Sink Record Rate", + "layout": { + "column": 5, + "row": 4, + "width": 4, + "height": 3 + }, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountId": 0, + "query": "FROM Metric SELECT average(`gcp.managedkafka.connector_sink_record_rate`) AS 'Rate (rec/s)' WHERE `entity.guid` = '{{entity.guid}}' FACET `metric.type` TIMESERIES AUTO" + } + ], + "yAxisLeft": { + "zero": true + } + } + } + ] + } + ] +} \ No newline at end of file diff --git a/entity-types/infra-gcpmanagedkafkaconnector/definition.yml b/entity-types/infra-gcpmanagedkafkaconnector/definition.yml new file mode 100644 index 000000000..86c89cfc4 --- /dev/null +++ b/entity-types/infra-gcpmanagedkafkaconnector/definition.yml @@ -0,0 +1,13 @@ +domain: INFRA +type: GCPMANAGEDKAFKACONNECTOR +goldenTags: +- gcp.projectId +- gcp.region +- gcp.connectCluster +configuration: + entityExpirationTime: DAILY + alertable: true + +ownership: + primaryOwner: + teamName: "Cloud Monitoring Platform" diff --git a/entity-types/infra-gcpmanagedkafkaconnector/golden_metrics.yml b/entity-types/infra-gcpmanagedkafkaconnector/golden_metrics.yml new file mode 100644 index 000000000..606bfac16 --- /dev/null +++ b/entity-types/infra-gcpmanagedkafkaconnector/golden_metrics.yml @@ -0,0 +1,29 @@ +connectorTasks: + title: Connector Tasks + unit: COUNT + queries: + gcp: + select: average(gcp.managedkafka.connector_tasks) + from: Metric + eventId: entity.guid + eventName: entity.name + +connectorTotalErrorRecordCount: + title: Record Errors + unit: COUNT + queries: + gcp: + select: sum(gcp.managedkafka.connector_total_error_record_count) + from: Metric + eventId: entity.guid + eventName: entity.name + +connectorSinkActiveRecords: + title: Active Records (Sink) + unit: COUNT + queries: + gcp: + select: average(gcp.managedkafka.connector_sink_active_records) + from: Metric + eventId: entity.guid + eventName: entity.name diff --git a/entity-types/infra-gcpmanagedkafkaconnector/summary_metrics.yml b/entity-types/infra-gcpmanagedkafkaconnector/summary_metrics.yml new file mode 100644 index 000000000..4023f5551 --- /dev/null +++ b/entity-types/infra-gcpmanagedkafkaconnector/summary_metrics.yml @@ -0,0 +1,26 @@ +providerAccountName: + tag: + key: providerAccountName + title: GCP account + unit: STRING + +gcpProjectId: + tag: + key: gcp.projectId + title: GCP Project ID + unit: STRING + +connectorTasks: + goldenMetric: connectorTasks + title: Connector Tasks + unit: COUNT + +connectorTotalErrorRecordCount: + goldenMetric: connectorTotalErrorRecordCount + title: Record Errors + unit: COUNT + +connectorSinkActiveRecords: + goldenMetric: connectorSinkActiveRecords + title: Active Records (Sink) + unit: COUNT diff --git a/entity-types/infra-gcpmanagedkafkatopicpartition/dashboard.json b/entity-types/infra-gcpmanagedkafkatopicpartition/dashboard.json new file mode 100644 index 000000000..311e6dee2 --- /dev/null +++ b/entity-types/infra-gcpmanagedkafkatopicpartition/dashboard.json @@ -0,0 +1,128 @@ +{ + "name": "GCP Managed Kafka Topic Partition", + "description": null, + "pages": [ + { + "name": "GCP Managed Kafka Topic Partition", + "description": null, + "widgets": [ + { + "title": "Consumer Lag", + "layout": { + "column": 1, + "row": 1, + "width": 4, + "height": 3 + }, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountId": 0, + "query": "FROM Metric SELECT average(`gcp.managedkafka.consumer_lag`) AS 'Consumer Lag (messages)' WHERE `entity.guid` = '{{entity.guid}}' TIMESERIES AUTO" + } + ], + "yAxisLeft": { + "zero": true + } + } + }, + { + "title": "Partition Size (bytes)", + "layout": { + "column": 5, + "row": 1, + "width": 4, + "height": 3 + }, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountId": 0, + "query": "FROM Metric SELECT average(`gcp.managedkafka.byte_size`) AS 'Size (bytes)' WHERE `entity.guid` = '{{entity.guid}}' TIMESERIES AUTO" + } + ], + "yAxisLeft": { + "zero": true + } + } + }, + { + "title": "Log Offsets", + "layout": { + "column": 9, + "row": 1, + "width": 4, + "height": 3 + }, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountId": 0, + "query": "FROM Metric SELECT average(`gcp.managedkafka.last_offset`) AS 'Last Offset', average(`gcp.managedkafka.first_offset`) AS 'First Offset' WHERE `entity.guid` = '{{entity.guid}}' TIMESERIES AUTO" + } + ], + "yAxisLeft": { + "zero": true + } + } + }, + { + "title": "Log Segments", + "layout": { + "column": 1, + "row": 4, + "width": 4, + "height": 3 + }, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountId": 0, + "query": "FROM Metric SELECT average(`gcp.managedkafka.log_segments`) AS 'Log Segments' WHERE `entity.guid` = '{{entity.guid}}' TIMESERIES AUTO" + } + ], + "yAxisLeft": { + "zero": true + } + } + } + ] + } + ] +} \ No newline at end of file diff --git a/entity-types/infra-gcpmanagedkafkatopicpartition/definition.yml b/entity-types/infra-gcpmanagedkafkatopicpartition/definition.yml new file mode 100644 index 000000000..defa4ba8e --- /dev/null +++ b/entity-types/infra-gcpmanagedkafkatopicpartition/definition.yml @@ -0,0 +1,13 @@ +domain: INFRA +type: GCPMANAGEDKAFKATOPICPARTITION +goldenTags: +- gcp.projectId +- gcp.region +- gcp.cluster +configuration: + entityExpirationTime: DAILY + alertable: true + +ownership: + primaryOwner: + teamName: "Cloud Monitoring Platform" diff --git a/entity-types/infra-gcpmanagedkafkatopicpartition/golden_metrics.yml b/entity-types/infra-gcpmanagedkafkatopicpartition/golden_metrics.yml new file mode 100644 index 000000000..e2963111f --- /dev/null +++ b/entity-types/infra-gcpmanagedkafkatopicpartition/golden_metrics.yml @@ -0,0 +1,29 @@ +consumerLag: + title: Consumer Lag + unit: COUNT + queries: + gcp: + select: average(gcp.managedkafka.consumer_lag) + from: Metric + eventId: entity.guid + eventName: entity.name + +byteSize: + title: Partition Size (bytes) + unit: BYTES + queries: + gcp: + select: average(gcp.managedkafka.byte_size) + from: Metric + eventId: entity.guid + eventName: entity.name + +lastOffset: + title: Last Offset + unit: COUNT + queries: + gcp: + select: average(gcp.managedkafka.last_offset) + from: Metric + eventId: entity.guid + eventName: entity.name diff --git a/entity-types/infra-gcpmanagedkafkatopicpartition/summary_metrics.yml b/entity-types/infra-gcpmanagedkafkatopicpartition/summary_metrics.yml new file mode 100644 index 000000000..464dfcfe2 --- /dev/null +++ b/entity-types/infra-gcpmanagedkafkatopicpartition/summary_metrics.yml @@ -0,0 +1,26 @@ +providerAccountName: + tag: + key: providerAccountName + title: GCP account + unit: STRING + +gcpProjectId: + tag: + key: gcp.projectId + title: GCP Project ID + unit: STRING + +consumerLag: + goldenMetric: consumerLag + title: Consumer Lag + unit: COUNT + +byteSize: + goldenMetric: byteSize + title: Partition Size (bytes) + unit: BYTES + +lastOffset: + goldenMetric: lastOffset + title: Last Offset + unit: COUNT diff --git a/entity-types/infra-gcpmanagedkafkatopicpartitionconsumergroup/dashboard.json b/entity-types/infra-gcpmanagedkafkatopicpartitionconsumergroup/dashboard.json new file mode 100644 index 000000000..809ab3dea --- /dev/null +++ b/entity-types/infra-gcpmanagedkafkatopicpartitionconsumergroup/dashboard.json @@ -0,0 +1,70 @@ +{ + "name": "GCP Managed Kafka Consumer Group Partition", + "description": null, + "pages": [ + { + "name": "GCP Managed Kafka Consumer Group Partition", + "description": null, + "widgets": [ + { + "title": "Consumer Offset Lag", + "layout": { + "column": 1, + "row": 1, + "width": 4, + "height": 3 + }, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountId": 0, + "query": "FROM Metric SELECT average(`gcp.managedkafka.offset_lag`) AS 'Offset Lag (messages)' WHERE `entity.guid` = '{{entity.guid}}' TIMESERIES AUTO" + } + ], + "yAxisLeft": { + "zero": true + } + } + }, + { + "title": "Total Lag by Consumer Group", + "layout": { + "column": 5, + "row": 1, + "width": 4, + "height": 3 + }, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountId": 0, + "query": "FROM Metric SELECT sum(`gcp.managedkafka.offset_lag`) AS 'Total Lag' WHERE `entity.guid` = '{{entity.guid}}' TIMESERIES AUTO" + } + ], + "yAxisLeft": { + "zero": true + } + } + } + ] + } + ] +} \ No newline at end of file diff --git a/entity-types/infra-gcpmanagedkafkatopicpartitionconsumergroup/definition.yml b/entity-types/infra-gcpmanagedkafkatopicpartitionconsumergroup/definition.yml new file mode 100644 index 000000000..2d401db63 --- /dev/null +++ b/entity-types/infra-gcpmanagedkafkatopicpartitionconsumergroup/definition.yml @@ -0,0 +1,13 @@ +domain: INFRA +type: GCPMANAGEDKAFKATOPICPARTITIONCONSUMERGROUP +goldenTags: +- gcp.projectId +- gcp.region +- gcp.cluster +configuration: + entityExpirationTime: DAILY + alertable: true + +ownership: + primaryOwner: + teamName: "Cloud Monitoring Platform" diff --git a/entity-types/infra-gcpmanagedkafkatopicpartitionconsumergroup/golden_metrics.yml b/entity-types/infra-gcpmanagedkafkatopicpartitionconsumergroup/golden_metrics.yml new file mode 100644 index 000000000..5023ee88b --- /dev/null +++ b/entity-types/infra-gcpmanagedkafkatopicpartitionconsumergroup/golden_metrics.yml @@ -0,0 +1,9 @@ +offsetLag: + title: Consumer Offset Lag + unit: COUNT + queries: + gcp: + select: average(gcp.managedkafka.offset_lag) + from: Metric + eventId: entity.guid + eventName: entity.name diff --git a/entity-types/infra-gcpmanagedkafkatopicpartitionconsumergroup/summary_metrics.yml b/entity-types/infra-gcpmanagedkafkatopicpartitionconsumergroup/summary_metrics.yml new file mode 100644 index 000000000..aee0b0a6c --- /dev/null +++ b/entity-types/infra-gcpmanagedkafkatopicpartitionconsumergroup/summary_metrics.yml @@ -0,0 +1,16 @@ +providerAccountName: + tag: + key: providerAccountName + title: GCP account + unit: STRING + +gcpProjectId: + tag: + key: gcp.projectId + title: GCP Project ID + unit: STRING + +offsetLag: + goldenMetric: offsetLag + title: Consumer Offset Lag + unit: COUNT