From 86d8f365116db08db5e06d212f8d69dc2421a07c Mon Sep 17 00:00:00 2001 From: ikjeong Date: Sat, 8 Mar 2025 21:04:01 +0900 Subject: [PATCH 1/2] fix: add argocd secret --- modules/infra/argocd/output.tf | 8 -------- projects/k8s/infra/deployments/main.tf | 5 +++++ 2 files changed, 5 insertions(+), 8 deletions(-) delete mode 100644 modules/infra/argocd/output.tf diff --git a/modules/infra/argocd/output.tf b/modules/infra/argocd/output.tf deleted file mode 100644 index f72d869..0000000 --- a/modules/infra/argocd/output.tf +++ /dev/null @@ -1,8 +0,0 @@ -output "admin_username" { - value = "admin" -} - -output "admin_password" { - value = data.kubernetes_secret.argocd_initial_password.data.password - sensitive = true -} diff --git a/projects/k8s/infra/deployments/main.tf b/projects/k8s/infra/deployments/main.tf index 361d72a..edc7d57 100644 --- a/projects/k8s/infra/deployments/main.tf +++ b/projects/k8s/infra/deployments/main.tf @@ -29,6 +29,11 @@ module "opentelemetry" { source = "../../../../modules/infra/opentelemetry" } +data "vault_kv_secret_v2" "argocd" { + mount = "kv" + name = "infra/argocd" +} + module "argocd" { source = "../../../../modules/infra/argocd" admin_password = data.vault_kv_secret_v2.argocd.data["password"] From c7c383d6d8c1d197a4133f067aaebee5d9574c6c Mon Sep 17 00:00:00 2001 From: ikjeong Date: Sat, 8 Mar 2025 22:30:30 +0900 Subject: [PATCH 2/2] feat: change metric names --- modules/infra/kafka/kafka-jmx-config.yaml | 137 ++++++++++++++++++++++ modules/infra/kafka/kafka-values.yaml | 2 +- modules/infra/kafka/main.tf | 6 + 3 files changed, 144 insertions(+), 1 deletion(-) create mode 100644 modules/infra/kafka/kafka-jmx-config.yaml diff --git a/modules/infra/kafka/kafka-jmx-config.yaml b/modules/infra/kafka/kafka-jmx-config.yaml new file mode 100644 index 0000000..193db32 --- /dev/null +++ b/modules/infra/kafka/kafka-jmx-config.yaml @@ -0,0 +1,137 @@ +apiVersion: v1 +data: + jmx-kafka-prometheus.yml: |- + jmxUrl: service:jmx:rmi:///jndi/rmi://127.0.0.1:5555/jmxrmi + lowercaseOutputName: true + lowercaseOutputLabelNames: true + ssl: false + whitelistObjectNames: ["kafka.controller:*","kafka.server:*","java.lang:*","kafka.network:*","kafka.log:*"] + rules: + - pattern : kafka.server<>Value + name: kafka_server_$1_$2 + type: GAUGE + labels: + clientId: "$3" + topic: "$4" + partition: "$5" + - pattern : kafka.server<>Value + name: kafka_server_$1_$2 + type: GAUGE + labels: + clientId: "$3" + broker: "$4:$5" + - pattern : kafka.coordinator.(\w+)<>Value + name: kafka_coordinator_$1_$2_$3 + type: GAUGE + - pattern: "kafka.server<>current-state: ([a-z]+)" + name: kafka_server_raft_metrics_current_state_info + type: GAUGE + value: 1 + labels: + "state": "$1" + - pattern: kafka.server<>([a-z-]+)-total + name: kafka_server_$1_$2_total + type: COUNTER + - pattern: kafka.server<>([a-z-]+) + name: kafka_server_$1_$2 + type: GAUGE + - pattern: kafka.(\w+)<>Count + name: kafka_$1_$2_$3_total + type: COUNTER + labels: + "$4": "$5" + "$6": "$7" + - pattern: kafka.(\w+)<>Count + name: kafka_$1_$2_$3_total + type: COUNTER + labels: + "$4": "$5" + - pattern: kafka.(\w+)<>Count + name: kafka_$1_$2_$3_total + type: COUNTER + - pattern: kafka.server<>([a-z-]+) + name: kafka_server_quota_$4 + type: GAUGE + labels: + resource: "$1" + user: "$2" + clientId: "$3" + - pattern: kafka.server<>([a-z-]+) + name: kafka_server_quota_$3 + type: GAUGE + labels: + resource: "$1" + clientId: "$2" + - pattern: kafka.server<>([a-z-]+) + name: kafka_server_quota_$3 + type: GAUGE + labels: + resource: "$1" + user: "$2" + - pattern: kafka.(\w+)<>Value + name: kafka_$1_$2_$3 + type: GAUGE + labels: + "$4": "$5" + "$6": "$7" + - pattern: kafka.(\w+)<>Value + name: kafka_$1_$2_$3 + type: GAUGE + labels: + "$4": "$5" + - pattern: kafka.(\w+)<>Value + name: kafka_$1_$2_$3 + type: GAUGE + - pattern: kafka.(\w+)<>Count + name: kafka_$1_$2_$3_count + type: COUNTER + labels: + "$4": "$5" + "$6": "$7" + - pattern: kafka.(\w+)<>(\d+)thPercentile + name: kafka_$1_$2_$3 + type: GAUGE + labels: + "$4": "$5" + "$6": "$7" + quantile: "0.$8" + - pattern: kafka.(\w+)<>Count + name: kafka_$1_$2_$3_count + type: COUNTER + labels: + "$4": "$5" + - pattern: kafka.(\w+)<>(\d+)thPercentile + name: kafka_$1_$2_$3 + type: GAUGE + labels: + "$4": "$5" + quantile: "0.$6" + - pattern: kafka.(\w+)<>Count + name: kafka_$1_$2_$3_count + type: COUNTER + - pattern: kafka.(\w+)<>(\d+)thPercentile + name: kafka_$1_$2_$3 + type: GAUGE + labels: + quantile: "0.$4" + - pattern: kafka.(\w+)<>MeanRate + name: kafka_$1_$2_$3_percent + type: GAUGE + - pattern: kafka.(\w+)<>Value + name: kafka_$1_$2_$3_percent + type: GAUGE + - pattern: kafka.(\w+)<>Value + name: kafka_$1_$2_$3_percent + type: GAUGE + labels: + "$4": "$5" + +kind: ConfigMap +metadata: + labels: + app.kubernetes.io/component: metrics + app.kubernetes.io/instance: kafka + app.kubernetes.io/name: kafka + app.kubernetes.io/version: 3.9.0 + name: kafka-jmx-config + namespace: kafka diff --git a/modules/infra/kafka/kafka-values.yaml b/modules/infra/kafka/kafka-values.yaml index add6c65..cd723d3 100644 --- a/modules/infra/kafka/kafka-values.yaml +++ b/modules/infra/kafka/kafka-values.yaml @@ -2085,7 +2085,7 @@ metrics: ## @param metrics.jmx.existingConfigmap Name of existing ConfigMap with JMX exporter configuration ## NOTE: This will override metrics.jmx.config ## - existingConfigmap: "" + existingConfigmap: "kafka-jmx-config" ## @param metrics.jmx.extraRules Add extra rules to JMX exporter configuration ## e.g: ## extraRules: |- diff --git a/modules/infra/kafka/main.tf b/modules/infra/kafka/main.tf index fe4801e..d6ad54d 100644 --- a/modules/infra/kafka/main.tf +++ b/modules/infra/kafka/main.tf @@ -1,3 +1,7 @@ +resource "kubernetes_manifest" "kafka-jmx-config" { + manifest = yamldecode(file("${path.module}/kafka-jmx-config.yaml")) +} + resource "helm_release" "kafka" { name = "kafka" chart = "kafka" @@ -8,6 +12,8 @@ resource "helm_release" "kafka" { values = [file("${path.module}/kafka-values.yaml")] timeout = 600 + + depends_on = [ kubernetes_manifest.kafka-jmx-config ] } resource "helm_release" "prometheus-kafka-exporter" {