From 0e6c3445f4080b9c024953dfa50df88829c28715 Mon Sep 17 00:00:00 2001 From: Aravind Kumar - Newrelic <167523561+AravindKumar8520@users.noreply.github.com> Date: Wed, 4 Dec 2024 14:22:46 +0530 Subject: [PATCH 01/11] Adding regex pattern to the APM-to-Elasticsearch relationship configuration (#1796) * feat: Adding candidate and relationship btw APM/OTel to Elastisearch * feat: Changing name * feat: Changed field attribute for elasticsearch cluster * feat: Adding regex to elasticsearch cluster relationship --- .../APM-APPLICATION-to-INFRA-AWSELASTICSEARCHCLUSTER.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/relationships/synthesis/APM-APPLICATION-to-INFRA-AWSELASTICSEARCHCLUSTER.yml b/relationships/synthesis/APM-APPLICATION-to-INFRA-AWSELASTICSEARCHCLUSTER.yml index 417a9ddb7b..4f326b6d55 100644 --- a/relationships/synthesis/APM-APPLICATION-to-INFRA-AWSELASTICSEARCHCLUSTER.yml +++ b/relationships/synthesis/APM-APPLICATION-to-INFRA-AWSELASTICSEARCHCLUSTER.yml @@ -6,8 +6,8 @@ relationships: conditions: - attribute: eventType anyOf: [ "Span" ] - - attribute: db.system - anyOf: [ "elasticsearch" ] + - attribute: server.address + regex: ^search-[a-zA-Z0-9-]+-[a-zA-Z0-9]+\.([a-zA-Z0-9-]+)\.es\.amazonaws\.com$ relationship: expires: P75M relationshipType: CALLS From c8e0ec3f7474b9b40854c3275862033a57f0fcb3 Mon Sep 17 00:00:00 2001 From: Juan Vega Date: Wed, 4 Dec 2024 14:29:57 +0000 Subject: [PATCH 02/11] fix(NR-313566): Team and TeamOrganizationSettings aren't alertable (#1800) --- entity-types/ngep-team/definition.yml | 2 +- entity-types/ngep-teams_organization_settings/definition.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/entity-types/ngep-team/definition.yml b/entity-types/ngep-team/definition.yml index e83b187466..5b46cc73ab 100644 --- a/entity-types/ngep-team/definition.yml +++ b/entity-types/ngep-team/definition.yml @@ -3,4 +3,4 @@ type: TEAM configuration: entityExpirationTime: MANUAL - alertable: true + alertable: false diff --git a/entity-types/ngep-teams_organization_settings/definition.yml b/entity-types/ngep-teams_organization_settings/definition.yml index 868c862be3..6e84f9a22e 100644 --- a/entity-types/ngep-teams_organization_settings/definition.yml +++ b/entity-types/ngep-teams_organization_settings/definition.yml @@ -3,4 +3,4 @@ type: TEAMS_ORGANIZATION_SETTINGS configuration: entityExpirationTime: MANUAL - alertable: true + alertable: false From 62dca70e4c409553540b615547890a4acf276e32 Mon Sep 17 00:00:00 2001 From: Avinash Date: Wed, 4 Dec 2024 20:02:52 +0530 Subject: [PATCH 03/11] feat: Add Golden and Summary metrics for Media Streaming (#1803) Co-authored-by: nr-cmorenoin --- .../media_streaming-video/golden_metrics.yml | 61 +++++++++++++++++++ .../media_streaming-video/summary_metrics.yml | 40 ++++++++++++ 2 files changed, 101 insertions(+) create mode 100644 entity-types/media_streaming-video/golden_metrics.yml create mode 100644 entity-types/media_streaming-video/summary_metrics.yml diff --git a/entity-types/media_streaming-video/golden_metrics.yml b/entity-types/media_streaming-video/golden_metrics.yml new file mode 100644 index 0000000000..d10fce48fe --- /dev/null +++ b/entity-types/media_streaming-video/golden_metrics.yml @@ -0,0 +1,61 @@ +rebufferingRatio: + title: Video Rebuffering Ratio (%) + unit: PERCENTAGE + query: + select : sum(timeSinceBufferBegin) / sum(timeSinceLastHeartbeat) - filter(sum(timeSincePaused), where actionName = 'CONTENT_RESUME' - filter(sum(timeSinceSeekBegin), where actionName = 'CONTENT_SEEK_END')) * 100 + from: VideoAction +adRebufferingRatio: + title: Ad Rebuffering Ratio (%) + unit: PERCENTAGE + query: + select: sum(timeSinceAdBufferBegin) / sum(timeSinceLastAdHeartbeat) - filter(sum(timeSinceAdPaused), where actionName = 'AD_RESUME' - filter(sum(timeSinceAdSeekBegin), where actionName = 'AD_SEEK_END')) * 100 + from: VideoAdAction +averageBitrate: + title: Average Bitrate + unit: BITS_PER_SECOND + query: + select: average(contentBitrate) + from: VideoAction +adAverageBitrate: + title: Ad Average Bitrate + unit: BITS_PER_SECOND + query: + select: average(adBitrate) + from: VideoAdAction +averageStartTimeS: + title: Average Start Time (s) + unit: SECONDS + query: + select: average(timeSinceRequested) + from: VideoAction + where: actionName = 'CONTENT_START' +adAverageStartTimeS: + title: Ad Average Start Time (s) + unit: SECONDS + query: + select: average(timeSinceAdRequested) + from: VideoAdAction +videoStartFailures: + title: Video Start Failures + unit: PERCENTAGE + query: + select: count(*) WHERE actionName = 'CONENT_ERROR' and contentPlayhead = 0 / (FROM VideoAction SELECT count(*) WHERE actionName = 'CONENT_START' and contentPlayhead=0) * 100 + from: VideoErrorAction +adStartFailures: + title: Ad Start Failures + unit: PERCENTAGE + query: + select: count(*) WHERE actionName = 'AD_ERROR' and adPlayhead = 0 / (FROM VideoAdAction SELECT count(*) WHERE actionName = 'AD_START' and adPlayhead = 0) * 100 + from: VideoErrorAction +videoPlaybackFailures: + title: Video Playback Failures + unit: PERCENTAGE + query: + select: count(*) WHERE actionName = 'CONTENT_ERROR' and contentPlayhead > 0 / (FROM VideoAction SELECT count(*) WHERE actionName = 'CONENT_REQUEST') * 100 + from: VideoErrorAction +adPlaybackFailures: + title: Ad Playback Failures + unit: PERCENTAGE + query: + select: count(*) WHERE actionName = 'AD_ERROR' and adPlayhead > 0 / (FROM VideoAdAction SELECT count(*) WHERE actionName = 'AD_REQUEST') * 100 + from: VideoErrorAction \ No newline at end of file diff --git a/entity-types/media_streaming-video/summary_metrics.yml b/entity-types/media_streaming-video/summary_metrics.yml new file mode 100644 index 0000000000..281b09cfd4 --- /dev/null +++ b/entity-types/media_streaming-video/summary_metrics.yml @@ -0,0 +1,40 @@ +rebufferingRatio: + goldenMetric: rebufferingRatio + unit: PERCENTAGE + title: Video Rebuffering Ratio (%) +adRebufferingRation: + goldenMetric: adRebufferingRatio + unit: PERCENTAGE + title: Ad Rebuffering Ratio (%) +averageBitrateMbps: + goldenMetric: averageBitrateMbps + unit: BITS_PER_SECOND + title: Average Bitrate (Mbps) +adAverageBitrateMbps: + goldenMetric: adAverageBitrateMbps + unit: BITS_PER_SECOND + title: Ad Average Bitrate (Mbps) +averageStartTimeS: + goldenMetric: averageStartTimeS + unit: SECONDS + title: Average Start Time (s) +adAverageStartTimeS: + goldenMetric: adAverageStartTimeS + unit: SECONDS + title: Ad Average Start Time (s) +videoStartFailures: + goldenMetric: videoStartFailures + unit: PERCENTAGE + title: Video Start Failures +adStartFailures: + goldenMetric: adStartFailures + unit: PERCENTAGE + title: Ad Start Failures +videoPlaybackFailures: + goldenMetric: videoPlaybackFailures + unit: PERCENTAGE + title: Video Playback Failures +adPlaybackFailures: + goldenMetric: adPlaybackFailures + unit: PERCENTAGE + title: Ad Playback Failures \ No newline at end of file From 9e72ba6d9370344aea2a6a05626c6688a9691f95 Mon Sep 17 00:00:00 2001 From: bgalmesnr Date: Thu, 5 Dec 2024 15:50:26 +0100 Subject: [PATCH 04/11] Add temporal EXT-OnboardingApplication entity (#1806) --- entity-types/ext-onboarding_application/definition.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 entity-types/ext-onboarding_application/definition.yml diff --git a/entity-types/ext-onboarding_application/definition.yml b/entity-types/ext-onboarding_application/definition.yml new file mode 100644 index 0000000000..26026b72e2 --- /dev/null +++ b/entity-types/ext-onboarding_application/definition.yml @@ -0,0 +1,5 @@ +domain: EXT +type: ONBOARDING_APPLICATION + +configuration: + entityExpirationTime: FOUR_HOURS From 3714cfea37c2ae1a1dbcce840a8054b3e624f209 Mon Sep 17 00:00:00 2001 From: vinay konatala Date: Mon, 9 Dec 2024 15:03:01 +0530 Subject: [PATCH 05/11] feat: Enhance Entity Relationships - for APM and OTel to APPSYNC API (#1788) * feat: Added kiness delivery stream * feat: Added relationship condition * fix: Added apm kinesis relation file * fix:Removed apm relation file * fix: Add new condition * fix: Added quotes in array * feat: Added appsync api relationship files * fix: Removed other relationship files * fix: Updated the regex * fix: Updated relationship name * fix: Updated attribute names --------- Co-authored-by: nr-cmorenoin --- relationships/candidates/AWSAPPSYNCAPI.yml | 16 +++++++++++++ ...APM-APPLICATION-to-INFRA-AWSAPPSYNCAPI.yml | 22 +++++++++++++++++ .../EXT-SERVICE-to-INFRA-AWSAPPSYNCAPI.yml | 24 +++++++++++++++++++ 3 files changed, 62 insertions(+) create mode 100644 relationships/candidates/AWSAPPSYNCAPI.yml create mode 100644 relationships/synthesis/APM-APPLICATION-to-INFRA-AWSAPPSYNCAPI.yml create mode 100644 relationships/synthesis/EXT-SERVICE-to-INFRA-AWSAPPSYNCAPI.yml diff --git a/relationships/candidates/AWSAPPSYNCAPI.yml b/relationships/candidates/AWSAPPSYNCAPI.yml new file mode 100644 index 0000000000..9d4d030e0b --- /dev/null +++ b/relationships/candidates/AWSAPPSYNCAPI.yml @@ -0,0 +1,16 @@ +category: AWSAPPSYNCAPI +lookups: + - entityTypes: + - domain: INFRA + type: AWSAPPSYNCAPI + tags: + matchingMode: ALL + predicates: + - tagKeys: ["Http.Url"] + field: httpUrl + onMatch: + onMultipleMatches: RELATE_ALL + onMiss: + action: CREATE_UNINSTRUMENTED + uninstrumented: + type: AWSAPPSYNCAPI \ No newline at end of file diff --git a/relationships/synthesis/APM-APPLICATION-to-INFRA-AWSAPPSYNCAPI.yml b/relationships/synthesis/APM-APPLICATION-to-INFRA-AWSAPPSYNCAPI.yml new file mode 100644 index 0000000000..4f4b780fe6 --- /dev/null +++ b/relationships/synthesis/APM-APPLICATION-to-INFRA-AWSAPPSYNCAPI.yml @@ -0,0 +1,22 @@ +relationships: + - name: apmCallsInfraAppSyncApi + version: "1" + origins: + - Distributed Tracing + conditions: + - attribute: eventType + anyOf: [ "Span" ] + - attribute: peer.hostname + regex: '[a-z]+\d*[a-z]*\.appsync-api\.[a-z]{2}-[a-z]+-\d+\.amazonaws\.com' + relationship: + expires: P75M + relationshipType: CALLS + source: + extractGuid: + attribute: entity.guid + target: + lookupGuid: + candidateCategory: AWSAPPSYNCAPI + fields: + - field: httpUrl + attribute: Http.Url \ No newline at end of file diff --git a/relationships/synthesis/EXT-SERVICE-to-INFRA-AWSAPPSYNCAPI.yml b/relationships/synthesis/EXT-SERVICE-to-INFRA-AWSAPPSYNCAPI.yml new file mode 100644 index 0000000000..6b11d84189 --- /dev/null +++ b/relationships/synthesis/EXT-SERVICE-to-INFRA-AWSAPPSYNCAPI.yml @@ -0,0 +1,24 @@ +relationships: + - name: extServiceCallsInfraAppSyncApi + version: "1" + origins: + - Distributed Tracing + conditions: + - attribute: eventType + anyOf: [ "Span" ] + - attribute: instrumentation.provider + anyOf: [ "opentelemetry" ] + - attribute: net.peer.name + regex: '[a-z]+\d*[a-z]*\.appsync-api\.[a-z]{2}-[a-z]+-\d+\.amazonaws\.com' + relationship: + expires: P75M + relationshipType: CALLS + source: + extractGuid: + attribute: entity.guid + target: + lookupGuid: + candidateCategory: AWSAPPSYNCAPI + fields: + - field: httpUrl + attribute: Http.Url \ No newline at end of file From e0a8c8c27831c7d8bef35498506a1b01a7fd6f12 Mon Sep 17 00:00:00 2001 From: vinay konatala Date: Mon, 9 Dec 2024 15:11:29 +0530 Subject: [PATCH 06/11] feat: updated the relationship btw apm and redshift cluster and Otel and redshift cluster (#1798) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: Added kiness delivery stream * feat: Added relationship condition * fix: Added apm kinesis relation file * fix:Removed apm relation file * fix: Add new condition * fix: Added quotes in array * fix: Updated the tagkeys * fix: Added redshift cluster relation created * fix: Removed APM relationship file from pr --------- Co-authored-by: Otávio Carvalho Co-authored-by: nr-cmorenoin --- .../candidates/AWSREDSHIFTCLUSTER.yml | 16 +++++++++++++ .../EXT-SERVICE-to-INFRA-REDSHIFTCLUSTER.yml | 24 +++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 relationships/candidates/AWSREDSHIFTCLUSTER.yml create mode 100644 relationships/synthesis/EXT-SERVICE-to-INFRA-REDSHIFTCLUSTER.yml diff --git a/relationships/candidates/AWSREDSHIFTCLUSTER.yml b/relationships/candidates/AWSREDSHIFTCLUSTER.yml new file mode 100644 index 0000000000..465bb09a2d --- /dev/null +++ b/relationships/candidates/AWSREDSHIFTCLUSTER.yml @@ -0,0 +1,16 @@ +category: AWSREDSHIFTCLUSTER +lookups: + - entityTypes: + - domain: INFRA + type: AWSREDSHIFTCLUSTER + tags: + matchingMode: ALL + predicates: + - tagKeys: ["configuration.endpoint.address"] + field: cloudEndpointAddress + onMatch: + onMultipleMatches: RELATE_ALL + onMiss: + action: CREATE_UNINSTRUMENTED + uninstrumented: + type: AWSREDSHIFTCLUSTER \ No newline at end of file diff --git a/relationships/synthesis/EXT-SERVICE-to-INFRA-REDSHIFTCLUSTER.yml b/relationships/synthesis/EXT-SERVICE-to-INFRA-REDSHIFTCLUSTER.yml new file mode 100644 index 0000000000..6af42cdd1f --- /dev/null +++ b/relationships/synthesis/EXT-SERVICE-to-INFRA-REDSHIFTCLUSTER.yml @@ -0,0 +1,24 @@ +relationships: + - name: extServiceCallsInfraRedshiftCluster + version: "1" + origins: + - Distributed Tracing + conditions: + - attribute: eventType + anyOf: [ "Span" ] + - attribute: instrumentation.provider + anyOf: [ "opentelemetry" ] + - attribute: rpc.service + anyOf: [ "Redshift" ] + relationship: + expires: P75M + relationshipType: CALLS + source: + extractGuid: + attribute: entity.guid + target: + lookupGuid: + candidateCategory: AWSREDSHIFTCLUSTER + fields: + - field: cloudEndpointAddress + attribute: configuration.endpoint.address \ No newline at end of file From 57cd2c04a12d3785c973ee8650e7a7f4072f4168 Mon Sep 17 00:00:00 2001 From: vinay konatala Date: Mon, 9 Dec 2024 15:58:46 +0530 Subject: [PATCH 07/11] feat: Adding candidate and relationship btw apm and kinesis delivery stream (#1783) * feat: Added kiness delivery stream * feat: Added relationship condition * fix: Added apm kinesis relation file * fix:Removed apm relation file * fix: Add new condition * feat: created apm to kinesis delivery stream realationship * fix:Removed Otel related relationship file * Updated the cloud platform attribute --------- Co-authored-by: nr-cmorenoin --- ...CATION-to-INFRA-KINESSISDELIVERYSTREAM.yml | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 relationships/synthesis/APM-APPLICATION-to-INFRA-KINESSISDELIVERYSTREAM.yml diff --git a/relationships/synthesis/APM-APPLICATION-to-INFRA-KINESSISDELIVERYSTREAM.yml b/relationships/synthesis/APM-APPLICATION-to-INFRA-KINESSISDELIVERYSTREAM.yml new file mode 100644 index 0000000000..c7ac946f49 --- /dev/null +++ b/relationships/synthesis/APM-APPLICATION-to-INFRA-KINESSISDELIVERYSTREAM.yml @@ -0,0 +1,24 @@ +relationships: + - name: apmCallsInfraKinesisDeliveryStream + version: "1" + origins: + - Distributed Tracing + conditions: + - attribute: eventType + anyOf: [ "Span" ] + - attribute: cloud.platform + anyOf: [ "aws_kinesis_delivery_streams" ] + - attribute: cloud.resource_id + regex: "^arn:aws:firehose:([^:]*):([^:]*):deliverystream\/([^:]*)" + relationship: + expires: P75M + relationshipType: CALLS + source: + extractGuid: + attribute: entity.guid + target: + lookupGuid: + candidateCategory: AWSKINESISDELIVERYSTREAM + fields: + - field: cloudResourceId + attribute: cloud.resource_id \ No newline at end of file From 5ead222e755ea73eb5e64a83dd6aa165ad717576 Mon Sep 17 00:00:00 2001 From: dinesh-newrelic Date: Mon, 9 Dec 2024 18:51:12 +0530 Subject: [PATCH 08/11] Entity definitions for Github Config entity (#1805) * add github entity def --- entity-types/ngep-git_hub_integration/definition.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 entity-types/ngep-git_hub_integration/definition.yml diff --git a/entity-types/ngep-git_hub_integration/definition.yml b/entity-types/ngep-git_hub_integration/definition.yml new file mode 100644 index 0000000000..dd92f7560c --- /dev/null +++ b/entity-types/ngep-git_hub_integration/definition.yml @@ -0,0 +1,6 @@ +domain: NGEP +type: GIT_HUB_INTEGRATION + +configuration: + entityExpirationTime: MANUAL + alertable: false \ No newline at end of file From 0c1bff534e5c9d3cd8fd6fc59128e0ca4e864da1 Mon Sep 17 00:00:00 2001 From: Adrian Date: Mon, 9 Dec 2024 14:53:44 +0100 Subject: [PATCH 09/11] Update APM-APPLICATION-to-INFRA-KINESISSTREAM.yml (#1799) Co-authored-by: nr-cmorenoin --- .../synthesis/APM-APPLICATION-to-INFRA-KINESISSTREAM.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/relationships/synthesis/APM-APPLICATION-to-INFRA-KINESISSTREAM.yml b/relationships/synthesis/APM-APPLICATION-to-INFRA-KINESISSTREAM.yml index a7e291d4e7..09741c13d0 100644 --- a/relationships/synthesis/APM-APPLICATION-to-INFRA-KINESISSTREAM.yml +++ b/relationships/synthesis/APM-APPLICATION-to-INFRA-KINESISSTREAM.yml @@ -9,7 +9,7 @@ relationships: - attribute: cloud.platform anyOf: [ "aws_kinesis_data_streams"] - attribute: cloud.resource_id - regex: "^arn:aws:kinesis:([^:]*):([^:]*):stream\/([^:]*)" + regex: "^arn:aws:kinesis:([^:]*):([^:]*):stream/([^:]*)" relationship: expires: P75M relationshipType: CALLS @@ -21,4 +21,4 @@ relationships: candidateCategory: AWSKINESISSTREAM fields: - field: cloudResourceId - attribute: cloud.resource_id \ No newline at end of file + attribute: cloud.resource_id From 3eb0339691cfc8b959db6c51ac9c9002444124f8 Mon Sep 17 00:00:00 2001 From: Ferran Altimiras Date: Mon, 9 Dec 2024 16:20:14 +0100 Subject: [PATCH 10/11] pipeline cloud rule entity (#1808) --- entity-types/ngep-pipeline_cloud_rule/definition.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 entity-types/ngep-pipeline_cloud_rule/definition.yml diff --git a/entity-types/ngep-pipeline_cloud_rule/definition.yml b/entity-types/ngep-pipeline_cloud_rule/definition.yml new file mode 100644 index 0000000000..c270ffc610 --- /dev/null +++ b/entity-types/ngep-pipeline_cloud_rule/definition.yml @@ -0,0 +1,6 @@ +domain: NGEP +type: PIPELINE_CLOUD_RULE + +configuration: + entityExpirationTime: MANUAL + alertable: false From 9994ec0815bc0b53c45da9f48844d2c6da0328b7 Mon Sep 17 00:00:00 2001 From: Anish Malhotra Date: Mon, 9 Dec 2024 13:31:16 -0500 Subject: [PATCH 11/11] Create definition for NGEP SecurityFinding (#1809) Create definition for new NGEP entity type 'SECURITY_FINDING' --- entity-types/ngep-security_finding/definition.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 entity-types/ngep-security_finding/definition.yml diff --git a/entity-types/ngep-security_finding/definition.yml b/entity-types/ngep-security_finding/definition.yml new file mode 100644 index 0000000000..fd56d64951 --- /dev/null +++ b/entity-types/ngep-security_finding/definition.yml @@ -0,0 +1,6 @@ +domain: NGEP +type: SECURITY_FINDING + +configuration: + entityExpirationTime: MANUAL + alertable: false