diff --git a/modules/eks-monitoring/README.md b/modules/eks-monitoring/README.md
index 1c984667..95a0f6b5 100644
--- a/modules/eks-monitoring/README.md
+++ b/modules/eks-monitoring/README.md
@@ -90,6 +90,7 @@ See examples using this Terraform modules in the **Amazon EKS** section of [this
| [enable\_grafana\_operator](#input\_enable\_grafana\_operator) | Deploys Grafana Operator to EKS Cluster | `bool` | `true` | no |
| [enable\_istio](#input\_enable\_istio) | Enable ISTIO workloads monitoring, alerting and default dashboards | `bool` | `false` | no |
| [enable\_java](#input\_enable\_java) | Enable Java workloads monitoring, alerting and default dashboards | `bool` | `false` | no |
+| [enable\_polyglot](#input\_enable\_polyglot) | Enable monitoring, alerting and default dashboards for .net,Rust and other languages | `bool` | `false` | no |
| [enable\_kube\_state\_metrics](#input\_enable\_kube\_state\_metrics) | Enables or disables Kube State metrics exporter. Disabling this might affect some data in the dashboards | `bool` | `true` | no |
| [enable\_logs](#input\_enable\_logs) | Using AWS For FluentBit to collect cluster and application logs to Amazon CloudWatch | `bool` | `true` | no |
| [enable\_managed\_prometheus](#input\_enable\_managed\_prometheus) | Creates a new Amazon Managed Service for Prometheus Workspace | `bool` | `true` | no |
diff --git a/modules/eks-monitoring/main.tf b/modules/eks-monitoring/main.tf
index 5b788b4a..a69de350 100644
--- a/modules/eks-monitoring/main.tf
+++ b/modules/eks-monitoring/main.tf
@@ -188,6 +188,10 @@ module "helm_addon" {
name = "enableIstio"
value = var.enable_istio
},
+ {
+ name = "enablePolyglot"
+ value = var.enable_polyglot
+ },
{
name = "istioScrapeSampleLimit"
value = try(var.istio_config.scrape_sample_limit, local.istio_pattern_config.scrape_sample_limit)
@@ -237,6 +241,8 @@ module "java_monitoring" {
count = var.enable_java ? 1 : 0
pattern_config = coalesce(var.java_config, local.java_pattern_config)
+
+ depends_on = [resource.helm_release.fluxcd]
}
module "nginx_monitoring" {
@@ -244,6 +250,8 @@ module "nginx_monitoring" {
count = var.enable_nginx ? 1 : 0
pattern_config = local.nginx_pattern_config
+
+ depends_on = [resource.helm_release.fluxcd]
}
module "istio_monitoring" {
@@ -251,6 +259,8 @@ module "istio_monitoring" {
count = var.enable_istio ? 1 : 0
pattern_config = coalesce(var.istio_config, local.istio_pattern_config)
+
+ depends_on = [resource.helm_release.fluxcd]
}
module "fluentbit_logs" {
diff --git a/modules/eks-monitoring/otel-config/templates/opentelemetrycollector.yaml b/modules/eks-monitoring/otel-config/templates/opentelemetrycollector.yaml
index ab022456..6ccfac7b 100644
--- a/modules/eks-monitoring/otel-config/templates/opentelemetrycollector.yaml
+++ b/modules/eks-monitoring/otel-config/templates/opentelemetrycollector.yaml
@@ -1386,6 +1386,12 @@ spec:
action: drop
{{ end }}
+ {{ if .Values.enablePolyglot }}
+ - job_name: 'kubernetes-polyglot'
+ kubernetes_sd_configs:
+ - role: pod
+ {{ end }}
+
{{ if .Values.enableNginx }}
- job_name: 'kubernetes-nginx'
sample_limit: {{ .Values.nginxScrapeSampleLimit }}
diff --git a/modules/eks-monitoring/otel-config/values.yaml b/modules/eks-monitoring/otel-config/values.yaml
index 2cf1c984..83c6144b 100644
--- a/modules/eks-monitoring/otel-config/values.yaml
+++ b/modules/eks-monitoring/otel-config/values.yaml
@@ -36,5 +36,7 @@ adotServiceTelemetryLoglevel: ${adot_service_telemetry_loglevel}
enableAdotcollectorMetrics: ${enable_adotcollector_metrics}
+enablePolyglot: ${enable_polyglot}
+
serviceAccount: ${service_account}
namespace: ${namespace}
diff --git a/modules/eks-monitoring/variables.tf b/modules/eks-monitoring/variables.tf
index e1e58da1..ff1eb0c1 100644
--- a/modules/eks-monitoring/variables.tf
+++ b/modules/eks-monitoring/variables.tf
@@ -565,3 +565,9 @@ variable "kubeproxy_monitoring_config" {
# defaults are pre-computed in locals.tf, provide a full definition to override
default = null
}
+
+variable "enable_polyglot" {
+ description = "Enable monitoring for .net,Rust and other languages"
+ type = bool
+ default = false
+}