From 7985441581e2445236464295ca2464799f2e11ca Mon Sep 17 00:00:00 2001
From: musa-asad <musaasad@amazon.com>
Date: Thu, 24 Apr 2025 11:41:32 -0400
Subject: [PATCH 1/3] Add check for prometheus cluster name

---
 translator/translate/otel/common/common.go    | 11 +++--
 .../processor/awsentity/translator_test.go    | 40 +++++++++++++++++++
 2 files changed, 48 insertions(+), 3 deletions(-)

diff --git a/translator/translate/otel/common/common.go b/translator/translate/otel/common/common.go
index ea8e00f309..e240825da3 100644
--- a/translator/translate/otel/common/common.go
+++ b/translator/translate/otel/common/common.go
@@ -486,9 +486,14 @@ func KueueContainerInsightsEnabled(conf *confmap.Conf) bool {
 }
 
 func GetClusterName(conf *confmap.Conf) string {
-	val, ok := GetString(conf, ConfigKey(LogsKey, MetricsCollectedKey, KubernetesKey, "cluster_name"))
-	if ok && val != "" {
-		return val
+	val1, ok1 := GetString(conf, ConfigKey(LogsKey, MetricsCollectedKey, KubernetesKey, "cluster_name"))
+	if ok1 && val1 != "" {
+		return val1
+	}
+
+	val2, ok2 := GetString(conf, ConfigKey(LogsKey, MetricsCollectedKey, PrometheusKey, "cluster_name"))
+	if ok2 && val2 != "" {
+		return val2
 	}
 
 	envVarClusterName := os.Getenv("K8S_CLUSTER_NAME")
diff --git a/translator/translate/otel/processor/awsentity/translator_test.go b/translator/translate/otel/processor/awsentity/translator_test.go
index f9e42de5a7..05f84bbeaf 100644
--- a/translator/translate/otel/processor/awsentity/translator_test.go
+++ b/translator/translate/otel/processor/awsentity/translator_test.go
@@ -96,6 +96,9 @@ func TestTranslate(t *testing.T) {
 						"kubernetes": map[string]interface{}{
 							"cluster_name": "ci-logs",
 						},
+						"prometheus": map[string]interface{}{
+							"cluster_name": "ci-prometheus",
+						},
 					},
 				},
 			},
@@ -108,6 +111,43 @@ func TestTranslate(t *testing.T) {
 				Platform:       config.ModeEC2,
 			},
 		},
+		"PrometheusUnderLogs": {
+			input: map[string]interface{}{
+				"logs": map[string]interface{}{
+					"metrics_collected": map[string]interface{}{
+						"prometheus": map[string]interface{}{
+							"cluster_name": "ci-prometheus",
+						},
+					},
+				},
+			},
+			mode:           config.ModeEC2,
+			kubernetesMode: config.ModeEKS,
+			want: &awsentity.Config{
+				ClusterName:    "ci-prometheus",
+				KubernetesMode: config.ModeEKS,
+				Platform:       config.ModeEC2,
+			},
+		},
+		"PrometheusPrecedence": {
+			input: map[string]interface{}{
+				"logs": map[string]interface{}{
+					"metrics_collected": map[string]interface{}{
+						"prometheus": map[string]interface{}{
+							"cluster_name": "ci-prometheus",
+						},
+					},
+				},
+			},
+			mode:           config.ModeEC2,
+			kubernetesMode: config.ModeEKS,
+			envClusterName: "env-cluster",
+			want: &awsentity.Config{
+				ClusterName:    "ci-prometheus",
+				KubernetesMode: config.ModeEKS,
+				Platform:       config.ModeEC2,
+			},
+		},
 		"ECS": {
 			input: map[string]interface{}{},
 			mode:  config.ModeECS,

From 5074e338589415bc258ba895271f05d2f912829e Mon Sep 17 00:00:00 2001
From: musa-asad <musaasad@amazon.com>
Date: Thu, 24 Apr 2025 11:44:41 -0400
Subject: [PATCH 2/3] add under app signals test too

---
 .../translate/otel/processor/awsentity/translator_test.go      | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/translator/translate/otel/processor/awsentity/translator_test.go b/translator/translate/otel/processor/awsentity/translator_test.go
index 05f84bbeaf..82b7091883 100644
--- a/translator/translate/otel/processor/awsentity/translator_test.go
+++ b/translator/translate/otel/processor/awsentity/translator_test.go
@@ -79,6 +79,9 @@ func TestTranslate(t *testing.T) {
 						"kubernetes": map[string]interface{}{
 							"cluster_name": "ci-logs",
 						},
+						"prometheus": map[string]interface{}{
+							"cluster_name": "ci-prometheus",
+						},
 					},
 				}},
 			mode:           config.ModeEC2,

From 993b008d3e84039ea42c475685d39c75a96bbd3f Mon Sep 17 00:00:00 2001
From: musa-asad <musaasad@amazon.com>
Date: Mon, 28 Apr 2025 08:54:40 -0400
Subject: [PATCH 3/3] add env var check

---
 translator/translate/logs/util/get_eks_cluster_name.go | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/translator/translate/logs/util/get_eks_cluster_name.go b/translator/translate/logs/util/get_eks_cluster_name.go
index f5aa8539af..1febfd6078 100644
--- a/translator/translate/logs/util/get_eks_cluster_name.go
+++ b/translator/translate/logs/util/get_eks_cluster_name.go
@@ -5,6 +5,7 @@ package util
 
 import (
 	"log"
+	"os"
 	"strings"
 	"time"
 
@@ -34,6 +35,12 @@ func GetEKSClusterName(sectionKey string, input map[string]interface{}) string {
 		//The key is in current input instance, use the value in JSON.
 		clusterName = val.(string)
 	}
+	if clusterName == "" {
+		envVarClusterName := os.Getenv("K8S_CLUSTER_NAME")
+		if envVarClusterName != "" {
+			clusterName = envVarClusterName
+		}
+	}
 	if clusterName == "" {
 		clusterName = GetClusterNameFromEc2Tagger()
 	}