Skip to content

Commit

Permalink
add mysql,kibana,redis to metricbeat (#1072)
Browse files Browse the repository at this point in the history
Co-authored-by: Serhii Hladchenko <sgladc@softserveinc.com>
  • Loading branch information
SergiiGlad and Serhii Hladchenko authored Apr 28, 2023
1 parent a96bce5 commit f6c75ab
Show file tree
Hide file tree
Showing 3 changed files with 94 additions and 29 deletions.
14 changes: 8 additions & 6 deletions Terraform/GCP/k8s/elastic.tf
Original file line number Diff line number Diff line change
Expand Up @@ -29,33 +29,35 @@ resource "helm_release" "elastic" {
values = [
"${file("${path.module}/values/elastic.yaml")}"
]

set {
name = "kibana.ingress.annotations.nginx\\.ingress\\.kubernetes\\.io/whitelist-source-range"
value = join("\\,", var.admin_ips)
}

set {
name = "elasticsearch.ingress.tls[0].hosts[0]"
value = var.elastic_hostname
}

set {
name = "elasticsearch.ingress.hosts[0].host"
value = var.elastic_hostname
}

set {
name = "kibana.ingress.tls[0].hosts[0]"
value = var.kibana_hostname
}

set {
name = "kibana.ingress.hosts[0].host"
value = var.kibana_hostname
}

set {
name = "vector.env[0].value"
value = var.elastic_url
}
set {
name = "metricbeat.daemonset.extraEnvs[0].value"
value = var.elastic_url
name = "metricbeat.secrets[0].value.user"
value = var.mysql_user
}

depends_on = [
Expand Down
102 changes: 82 additions & 20 deletions Terraform/GCP/k8s/values/elastic.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,8 @@ vector:
- port: 8686

env:
- name: "ES_ENDPOINT" # helm set
- name: "ES_ENDPOINT"
value: "http://elasticsearch-master.default.svc:9200"
- name: "ES_USERNAME"
valueFrom:
secretKeyRef:
Expand Down Expand Up @@ -217,13 +218,12 @@ vector:

metricbeat:
enabled: true

daemonset:
# Include the daemonset
enabled: true

extraEnvs:
- name: "ES_ENDPOINT" # helm set
- name: "ES_ENDPOINT"
value: "http://elasticsearch-master.default.svc:9200"
- name: "ES_USERNAME"
valueFrom:
secretKeyRef:
Expand All @@ -234,7 +234,7 @@ metricbeat:
secretKeyRef:
name: elasticsearch-credentials
key: password

hostNetworking: true

extraVolumeMounts:
Expand All @@ -249,7 +249,7 @@ metricbeat:
type: File

metricbeatConfig:
metricbeat.yml: |
metricbeat.yml: |-
metricbeat.modules:
- module: kubernetes
metricsets:
Expand All @@ -265,10 +265,6 @@ metricbeat:
ssl.verification_mode: "none"
processors:
- add_kubernetes_metadata: ~
- module: kubernetes
enabled: true
metricsets:
- event
- module: system
period: 15s
metricsets:
Expand Down Expand Up @@ -300,6 +296,10 @@ metricbeat:
processors:
- drop_event.when.regexp:
system.filesystem.mount_point: '^/(sys|cgroup|proc|dev|etc|host|lib)($|/)'
- module: kubernetes
enabled: true
metricsets:
- event
output.elasticsearch:
hosts: "${ES_ENDPOINT}"
username: '${ES_USERNAME}'
Expand All @@ -319,13 +319,14 @@ metricbeat:
memory: "100Mi"
limits:
cpu: "1000m"
memory: "200Mi"
tolerations: []
memory: "250Mi"

deployment:
extraEnvs:
- name: "ES_ENDPOINT"
value: "http://elasticsearch-master.default.svc.cluster.local:9200"
value: "http://elasticsearch-master.default.svc:9200"
- name: "KIBANA_URL"
value: "http://elastic-kibana.default.svc:5601"
- name: "ES_USERNAME"
valueFrom:
secretKeyRef:
Expand All @@ -336,19 +337,47 @@ metricbeat:
secretKeyRef:
name: elasticsearch-credentials
key: password

- name: "MYSQL_HOST"
value: "tcp(mysql.default.svc:3306)/"
- name: "REDIS_HOST"
value: "redis-master.default.svc:6379"
- name: "MYSQL_USER"
valueFrom:
secretKeyRef:
name: elastic-metricbeat-mysql
key: user
- name: "REDIS_PASSWORD"
valueFrom:
secretKeyRef:
name: redis-auth
key: password
- name: "MYSQL_PASSWORD"
valueFrom:
secretKeyRef:
name: mysql-auth
key: mysql-password
metricbeatConfig:
metricbeat.yml: |
metricbeat.yml: |-
metricbeat.modules:
- module: kubernetes
enabled: true
metricsets:
- state_node
- state_deployment
- state_daemonset
- state_replicaset
- state_pod
- state_container
- state_job
- state_cronjob
- state_resourcequota
- state_statefulset
- state_service
- state_persistentvolume
- state_persistentvolumeclaim
- state_storageclass
period: 15s
add_metadata: true
hosts: ["${KUBE_STATE_METRICS_HOSTS}"]
- module: elasticsearch
metricsets:
Expand All @@ -359,13 +388,39 @@ metricbeat:
username: "${ES_USERNAME}"
password: "${ES_PASSWORD}"
xpack.enabled: true
#scope: node
- module: kibana
period: 60s
hosts:
- "${KIBANA_URL}"
username: "${ES_USERNAME}"
password: "${ES_PASSWORD}"
ssl:
enable: false
enabled: true
xpack.enabled: true
- module: mysql
enabled: true
metricsets: ["status"]
hosts: ["${MYSQL_HOST}"]
username: "${MYSQL_USER}"
password: "${MYSQL_PASSWORD}"
- module: redis
metricsets: ["info", "keyspace"]
enabled: true
period: 15s
# processors:
# - include_fields:
# fields: ["beat", "metricset", "redis.info.stats"]
# Redis hosts
hosts: ["${REDIS_HOST}"]
password: "${REDIS_PASSWORD}"
output.elasticsearch:
hosts: "${ES_ENDPOINT}"
username: "${ES_USERNAME}"
password: "${ES_PASSWORD}"
username: '${ES_USERNAME}'
password: '${ES_PASSWORD}'
enabled: true
allow_older_versions: true
allow_older_versions: true
secretMounts:
- name: elasticsearch-master-certs
secretName: elastic-certificates
Expand All @@ -382,6 +437,12 @@ metricbeat:
memory: "200Mi"
tolerations: []

#Secrets
secrets:
- name: "mysql"
value:
user:

# Replicas being used for the kube-state-metrics metricbeat deployment
replicas: 1

Expand Down Expand Up @@ -453,3 +514,4 @@ metricbeat:
verbs:
- get


7 changes: 4 additions & 3 deletions Terraform/GCP/k8s/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -81,8 +81,9 @@ variable "enable_ingress_http" {
type = bool
}

variable "elastic_url" {
type = string
default = "http://elasticsearch-master.default.svc.cluster.local:9200"
variable "mysql_user" {
type = string
default = "oos"
}


0 comments on commit f6c75ab

Please sign in to comment.