diff --git a/entity-types/infra-ocidatabase/definition.stg.yml b/entity-types/infra-ocidatabase/definition.stg.yml new file mode 100644 index 000000000..2b99856e4 --- /dev/null +++ b/entity-types/infra-ocidatabase/definition.stg.yml @@ -0,0 +1,70 @@ +domain: INFRA +type: OCIDATABASE +goldenTags: + - oci.availabilityDomain + - oci.compartmentId + - oci.displayName + - oci.lifecycleState + - oci.subscriptionId + - oci.dbVersion + - oci.shape +configuration: + entityExpirationTime: DAILY + alertable: true +synthesis: + tags: + newrelic.cloudIntegrations.providerAccountName: + entityTagNames: [newrelic.cloudIntegrations.providerAccountName, providerAccountName] + multiValue: false + rules: + # Base Database Service (VM/BM DB systems) — resourceId is the DB System OCID + - ruleName: infra_ocidatabase_oci_resourceId + identifier: oci.resourceId + name: oci.resourceName + legacyFeatures: + overrideGuidType: true + encodeIdentifierInGUID: true + conditions: + - attribute: oci.resourceId + prefix: "ocid1.dbsystem" + - attribute: oci.namespace + value: "oci_database" + # Exadata Database Service (dedicated / Cloud) — resourceId is the Cloud VM Cluster OCID + - ruleName: infra_ocidatabase_oci_resourceId_2 + identifier: oci.resourceId + name: oci.resourceName + legacyFeatures: + overrideGuidType: true + encodeIdentifierInGUID: true + conditions: + - attribute: oci.resourceId + prefix: "ocid1.cloudvmcluster" + - attribute: oci.namespace + value: "oci_database" + # Exadata Database Service on Cloud@Customer — resourceId is the VM Cluster OCID + - ruleName: infra_ocidatabase_oci_resourceId_3 + identifier: oci.resourceId + name: oci.resourceName + legacyFeatures: + overrideGuidType: true + encodeIdentifierInGUID: true + conditions: + - attribute: oci.resourceId + prefix: "ocid1.vmcluster" + - attribute: oci.namespace + value: "oci_database" + # Globally Distributed Exadata Database on Exascale Infrastructure — resourceId is the Exadata DB VM Cluster OCID + - ruleName: infra_ocidatabase_oci_resourceId_4 + identifier: oci.resourceId + name: oci.resourceName + legacyFeatures: + overrideGuidType: true + encodeIdentifierInGUID: true + conditions: + - attribute: oci.resourceId + prefix: "ocid1.exadbvmcluster" + - attribute: oci.namespace + value: "oci_database" +ownership: + primaryOwner: + teamName: "Cloud Monitoring Platform" diff --git a/entity-types/infra-ocidatabase/golden_metrics.stg.yml b/entity-types/infra-ocidatabase/golden_metrics.stg.yml new file mode 100644 index 000000000..09f2e6d6e --- /dev/null +++ b/entity-types/infra-ocidatabase/golden_metrics.stg.yml @@ -0,0 +1,24 @@ +cpuUtilization: + title: CPU Utilization + unit: PERCENTAGE + queries: + oci: + select: average(oci.database.cpu.utilization) +storageUtilization: + title: Storage Utilization + unit: PERCENTAGE + queries: + oci: + select: average(oci.database.storage.utilization) +executeCount: + title: Execute Count + unit: COUNT + queries: + oci: + select: sum(oci.database.execute.count) +transactionCount: + title: Transaction Count + unit: COUNT + queries: + oci: + select: sum(oci.database.transaction.count) diff --git a/entity-types/infra-ocidatabase/summary_metrics.stg.yml b/entity-types/infra-ocidatabase/summary_metrics.stg.yml new file mode 100644 index 000000000..f25171030 --- /dev/null +++ b/entity-types/infra-ocidatabase/summary_metrics.stg.yml @@ -0,0 +1,21 @@ +providerAccountName: + tag: + key: providerAccountName + title: OCI account + unit: STRING +cpuUtilization: + goldenMetric: cpuUtilization + unit: PERCENTAGE + title: CPU Utilization +storageUtilization: + goldenMetric: storageUtilization + unit: PERCENTAGE + title: Storage Utilization +executeCount: + goldenMetric: executeCount + unit: COUNT + title: Execute Count +transactionCount: + goldenMetric: transactionCount + unit: COUNT + title: Transaction Count diff --git a/entity-types/infra-ocidatabase/tests/Metric.stg.json b/entity-types/infra-ocidatabase/tests/Metric.stg.json new file mode 100644 index 000000000..7f9f54dba --- /dev/null +++ b/entity-types/infra-ocidatabase/tests/Metric.stg.json @@ -0,0 +1,66 @@ +[ + { + "oci.availabilityDomain": "AD-1", + "oci.compartmentId": "ocid1.compartment.oc1..exampleuniqueID", + "oci.displayName": "Test Database", + "oci.lifecycleState": "AVAILABLE", + "oci.subscriptionId": "ocid1.subscription.oc1..exampleuniqueSubID", + "oci.namespace": "oci_database", + "oci.region": "us-ashburn-1", + "oci.resourceId": "ocid1.dbsystem.oc1.us-ashburn-1.exampleuniqueID", + "oci.resourceName": "test-database", + "collector.name": "oci-monitor", + "instrumentation.provider": "oci", + "metricName": "oci.database.cpu.utilization", + "newrelic.cloudIntegrations.integrationName": "OCI Monitor metrics", + "newrelic.cloudIntegrations.providerAccountName": "oci-dev-all-metrics" + }, + { + "oci.availabilityDomain": "AD-1", + "oci.compartmentId": "ocid1.compartment.oc1..exampleuniqueID", + "oci.displayName": "Test Exadata VM Cluster", + "oci.lifecycleState": "AVAILABLE", + "oci.subscriptionId": "ocid1.subscription.oc1..exampleuniqueSubID", + "oci.namespace": "oci_database", + "oci.region": "us-ashburn-1", + "oci.resourceId": "ocid1.cloudvmcluster.oc1.us-ashburn-1.exampleuniqueID", + "oci.resourceName": "test-exadata-vmcluster", + "collector.name": "oci-monitor", + "instrumentation.provider": "oci", + "metricName": "oci.database.cpu.utilization", + "newrelic.cloudIntegrations.integrationName": "OCI Monitor metrics", + "newrelic.cloudIntegrations.providerAccountName": "oci-dev-all-metrics" + }, + { + "oci.availabilityDomain": "AD-1", + "oci.compartmentId": "ocid1.compartment.oc1..exampleuniqueID", + "oci.displayName": "Test ExaCC VM Cluster", + "oci.lifecycleState": "AVAILABLE", + "oci.subscriptionId": "ocid1.subscription.oc1..exampleuniqueSubID", + "oci.namespace": "oci_database", + "oci.region": "us-ashburn-1", + "oci.resourceId": "ocid1.vmcluster.oc1.us-ashburn-1.exampleuniqueID", + "oci.resourceName": "test-exacc-vmcluster", + "collector.name": "oci-monitor", + "instrumentation.provider": "oci", + "metricName": "oci.database.cpu.utilization", + "newrelic.cloudIntegrations.integrationName": "OCI Monitor metrics", + "newrelic.cloudIntegrations.providerAccountName": "oci-dev-all-metrics" + }, + { + "oci.availabilityDomain": "AD-1", + "oci.compartmentId": "ocid1.compartment.oc1..exampleuniqueID", + "oci.displayName": "Test Exascale DB VM Cluster", + "oci.lifecycleState": "AVAILABLE", + "oci.subscriptionId": "ocid1.subscription.oc1..exampleuniqueSubID", + "oci.namespace": "oci_database", + "oci.region": "us-ashburn-1", + "oci.resourceId": "ocid1.exadbvmcluster.oc1.us-ashburn-1.exampleuniqueID", + "oci.resourceName": "test-exascale-vmcluster", + "collector.name": "oci-monitor", + "instrumentation.provider": "oci", + "metricName": "oci.database.cpu.utilization", + "newrelic.cloudIntegrations.integrationName": "OCI Monitor metrics", + "newrelic.cloudIntegrations.providerAccountName": "oci-dev-all-metrics" + } +]