Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 0 additions & 8 deletions modules/infra/argocd/output.tf

This file was deleted.

137 changes: 137 additions & 0 deletions modules/infra/kafka/kafka-jmx-config.yaml
Original file line number Diff line number Diff line change
@@ -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<type=(.+), name=(.+), clientId=(.+), topic=(.+), partition=(.*)><>Value
name: kafka_server_$1_$2
type: GAUGE
labels:
clientId: "$3"
topic: "$4"
partition: "$5"
- pattern : kafka.server<type=(.+), name=(.+), clientId=(.+), brokerHost=(.+), brokerPort=(.+)><>Value
name: kafka_server_$1_$2
type: GAUGE
labels:
clientId: "$3"
broker: "$4:$5"
- pattern : kafka.coordinator.(\w+)<type=(.+), name=(.+)><>Value
name: kafka_coordinator_$1_$2_$3
type: GAUGE
- pattern: "kafka.server<type=raft-metrics><>current-state: ([a-z]+)"
name: kafka_server_raft_metrics_current_state_info
type: GAUGE
value: 1
labels:
"state": "$1"
- pattern: kafka.server<type=(.+)><>([a-z-]+)-total
name: kafka_server_$1_$2_total
type: COUNTER
- pattern: kafka.server<type=(.+)><>([a-z-]+)
name: kafka_server_$1_$2
type: GAUGE
- pattern: kafka.(\w+)<type=(.+), name=(.+)PerSec\w*, (.+)=(.+), (.+)=(.+)><>Count
name: kafka_$1_$2_$3_total
type: COUNTER
labels:
"$4": "$5"
"$6": "$7"
- pattern: kafka.(\w+)<type=(.+), name=(.+)PerSec\w*, (.+)=(.+)><>Count
name: kafka_$1_$2_$3_total
type: COUNTER
labels:
"$4": "$5"
- pattern: kafka.(\w+)<type=(.+), name=(.+)PerSec\w*><>Count
name: kafka_$1_$2_$3_total
type: COUNTER
- pattern: kafka.server<type=(.+), user=(.+), client-id=(.+)><>([a-z-]+)
name: kafka_server_quota_$4
type: GAUGE
labels:
resource: "$1"
user: "$2"
clientId: "$3"
- pattern: kafka.server<type=(.+), client-id=(.+)><>([a-z-]+)
name: kafka_server_quota_$3
type: GAUGE
labels:
resource: "$1"
clientId: "$2"
- pattern: kafka.server<type=(.+), user=(.+)><>([a-z-]+)
name: kafka_server_quota_$3
type: GAUGE
labels:
resource: "$1"
user: "$2"
- pattern: kafka.(\w+)<type=(.+), name=(.+), (.+)=(.+), (.+)=(.+)><>Value
name: kafka_$1_$2_$3
type: GAUGE
labels:
"$4": "$5"
"$6": "$7"
- pattern: kafka.(\w+)<type=(.+), name=(.+), (.+)=(.+)><>Value
name: kafka_$1_$2_$3
type: GAUGE
labels:
"$4": "$5"
- pattern: kafka.(\w+)<type=(.+), name=(.+)><>Value
name: kafka_$1_$2_$3
type: GAUGE
- pattern: kafka.(\w+)<type=(.+), name=(.+), (.+)=(.+), (.+)=(.+)><>Count
name: kafka_$1_$2_$3_count
type: COUNTER
labels:
"$4": "$5"
"$6": "$7"
- pattern: kafka.(\w+)<type=(.+), name=(.+), (.+)=(.*), (.+)=(.+)><>(\d+)thPercentile
name: kafka_$1_$2_$3
type: GAUGE
labels:
"$4": "$5"
"$6": "$7"
quantile: "0.$8"
- pattern: kafka.(\w+)<type=(.+), name=(.+), (.+)=(.+)><>Count
name: kafka_$1_$2_$3_count
type: COUNTER
labels:
"$4": "$5"
- pattern: kafka.(\w+)<type=(.+), name=(.+), (.+)=(.*)><>(\d+)thPercentile
name: kafka_$1_$2_$3
type: GAUGE
labels:
"$4": "$5"
quantile: "0.$6"
- pattern: kafka.(\w+)<type=(.+), name=(.+)><>Count
name: kafka_$1_$2_$3_count
type: COUNTER
- pattern: kafka.(\w+)<type=(.+), name=(.+)><>(\d+)thPercentile
name: kafka_$1_$2_$3
type: GAUGE
labels:
quantile: "0.$4"
- pattern: kafka.(\w+)<type=(.+), name=(.+)Percent\w*><>MeanRate
name: kafka_$1_$2_$3_percent
type: GAUGE
- pattern: kafka.(\w+)<type=(.+), name=(.+)Percent\w*><>Value
name: kafka_$1_$2_$3_percent
type: GAUGE
- pattern: kafka.(\w+)<type=(.+), name=(.+)Percent\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
2 changes: 1 addition & 1 deletion modules/infra/kafka/kafka-values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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: |-
Expand Down
6 changes: 6 additions & 0 deletions modules/infra/kafka/main.tf
Original file line number Diff line number Diff line change
@@ -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"
Expand All @@ -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" {
Expand Down
5 changes: 5 additions & 0 deletions projects/k8s/infra/deployments/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -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"]
Expand Down