diff --git a/rabbitmq/templates/configmap-etc.yaml b/rabbitmq/templates/configmap-etc.yaml index 7544a1c04e..631710dc3a 100644 --- a/rabbitmq/templates/configmap-etc.yaml +++ b/rabbitmq/templates/configmap-etc.yaml @@ -87,8 +87,4 @@ data: rabbitmq-env.conf: | SERVER_ADDITIONAL_ERL_ARGS={{ $erlvm_scheduler_conf | quote }} {{- end }} -{{ if not .Values.conf.prometheus_exporter.rabbitmq_mgmt_metrics_collector_disabled }} - management_agent.disable_metrics_collector.conf: | - management_agent.disable_metrics_collector = false -{{- end }} {{ end }} diff --git a/rabbitmq/templates/monitoring/prometheus/exporter-deployment.yaml b/rabbitmq/templates/monitoring/prometheus/exporter-deployment.yaml deleted file mode 100644 index b08fc88571..0000000000 --- a/rabbitmq/templates/monitoring/prometheus/exporter-deployment.yaml +++ /dev/null @@ -1,119 +0,0 @@ -{{/* -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/}} - -{{- if (.Values.global).subchart_release_name }} -{{- $_ := set . "deployment_name" .Chart.Name }} -{{- else }} -{{- $_ := set . "deployment_name" .Release.Name }} -{{- end }} - -{{- define "exporterProbeTemplate" }} -httpGet: - scheme: HTTP - path: / - port: {{ tuple "prometheus_rabbitmq_exporter" "internal" "metrics" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }} -{{- end }} - -{{- if and .Values.manifests.monitoring.prometheus.deployment_exporter .Values.monitoring.prometheus.enabled }} -{{- $envAll := . }} - -{{- $rcControllerName := printf "%s-%s" $envAll.deployment_name "rabbitmq-exporter" }} -{{ tuple $envAll "prometheus_rabbitmq_exporter" $rcControllerName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }} - -{{- $protocol := "http" }} -{{- if $envAll.Values.manifests.certificates }} -{{- $protocol = "https" }} -{{- end }} - ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ $rcControllerName | quote }} - labels: -{{ tuple $envAll "prometheus_rabbitmq_exporter" "exporter" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 4 }} -spec: - replicas: {{ $envAll.Values.pod.replicas.prometheus_rabbitmq_exporter }} - selector: - matchLabels: -{{ tuple $envAll "prometheus_rabbitmq_exporter" "exporter" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 6 }} -{{ tuple $envAll | include "helm-toolkit.snippets.kubernetes_upgrades_deployment" | indent 2 }} - template: - metadata: - labels: -{{ tuple $envAll "prometheus_rabbitmq_exporter" "exporter" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 8 }} - namespace: {{ $envAll.Values.endpoints.prometheus_rabbitmq_exporter.namespace }} - annotations: -{{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" | indent 8 }} -{{ dict "envAll" $envAll "podName" "prometheus-rabbitmq-exporter" "containerNames" (list "init" "rabbitmq-exporter") | include "helm-toolkit.snippets.kubernetes_mandatory_access_control_annotation" | indent 8 }} - spec: -{{ dict "envAll" $envAll "application" "exporter" | include "helm-toolkit.snippets.kubernetes_pod_security_context" | indent 6 }} - serviceAccountName: {{ $rcControllerName | quote }} - nodeSelector: - {{ $envAll.Values.labels.prometheus_rabbitmq_exporter.node_selector_key }}: {{ $envAll.Values.labels.prometheus_rabbitmq_exporter.node_selector_value | quote }} - terminationGracePeriodSeconds: {{ $envAll.Values.pod.lifecycle.termination_grace_period.prometheus_rabbitmq_exporter.timeout | default "30" }} - initContainers: -{{ tuple $envAll "prometheus_rabbitmq_exporter" list | include "helm-toolkit.snippets.kubernetes_entrypoint_init_container" | indent 8 }} - containers: - - name: rabbitmq-exporter -{{ tuple $envAll "prometheus_rabbitmq_exporter" | include "helm-toolkit.snippets.image" | indent 10 }} -{{ tuple $envAll $envAll.Values.pod.resources.prometheus_rabbitmq_exporter | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }} -{{ dict "envAll" $envAll "application" "exporter" "container" "rabbitmq_exporter" | include "helm-toolkit.snippets.kubernetes_container_security_context" | indent 10 }} -{{ dict "envAll" $envAll "component" "prometheus_rabbitmq_exporter" "container" "rabbitmq_exporter" "type" "readiness" "probeTemplate" (include "exporterProbeTemplate" $envAll | fromYaml) | include "helm-toolkit.snippets.kubernetes_probe" | trim | indent 10 }} -{{ dict "envAll" $envAll "component" "prometheus_rabbitmq_exporter" "container" "rabbitmq_exporter" "type" "liveness" "probeTemplate" (include "exporterProbeTemplate" $envAll | fromYaml) | include "helm-toolkit.snippets.kubernetes_probe" | trim | indent 10 }} - ports: - - name: metrics - containerPort: {{ tuple "prometheus_rabbitmq_exporter" "internal" "metrics" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }} - env: - - name: RABBIT_TIMEOUT - value: "{{ .Values.conf.rabbitmq_exporter.rabbit_timeout }}" - - name: RABBIT_URL - value: {{ printf "%s" $protocol }}://{{ tuple "oslo_messaging" "internal" . | include "helm-toolkit.endpoints.hostname_fqdn_endpoint_lookup" }}:{{ tuple "oslo_messaging" "internal" $protocol . | include "helm-toolkit.endpoints.endpoint_port_lookup" }} - - name: RABBIT_USER - valueFrom: - secretKeyRef: - name: {{ printf "%s-%s" $envAll.deployment_name "admin-user" | quote }} - key: RABBITMQ_ADMIN_USERNAME - - name: RABBIT_PASSWORD - valueFrom: - secretKeyRef: - name: {{ printf "%s-%s" $envAll.deployment_name "admin-user" | quote }} - key: RABBITMQ_ADMIN_PASSWORD - - name: RABBIT_CAPABILITIES - value: {{ include "helm-toolkit.utils.joinListWithComma" $envAll.Values.conf.prometheus_exporter.capabilities | quote }} - - name: PUBLISH_PORT - value: {{ tuple "prometheus_rabbitmq_exporter" "internal" "metrics" . | include "helm-toolkit.endpoints.endpoint_port_lookup" | quote }} - - name: LOG_LEVEL - value: {{ $envAll.Values.conf.prometheus_exporter.log_level | quote }} - - name: SKIPVERIFY - value: {{ $envAll.Values.conf.prometheus_exporter.skipverify | quote }} - - name: SKIP_QUEUES - value: {{ $envAll.Values.conf.prometheus_exporter.skip_queues | default "^$" | quote }} - - name: INCLUDE_QUEUES - value: {{ $envAll.Values.conf.prometheus_exporter.include_queues | default ".*" | quote }} - - name: RABBIT_EXPORTERS - value: {{ $envAll.Values.conf.prometheus_exporter.rabbit_exporters | default "overview,exchange,node,queue" | quote }} -{{- if $envAll.Values.manifests.certificates }} - - name: CAFILE - value: "/etc/rabbitmq/certs/ca.crt" - - name: CERTFILE - value: "/etc/rabbitmq/certs/tls.crt" - - name: KEYFILE - value: "/etc/rabbitmq/certs/tls.key" - volumeMounts: -{{- dict "enabled" .Values.manifests.certificates "name" .Values.secrets.tls.oslo_messaging.server.internal "path" "/etc/rabbitmq/certs" | include "helm-toolkit.snippets.tls_volume_mount" | indent 12 }} - volumes: -{{- dict "enabled" .Values.manifests.certificates "name" .Values.secrets.tls.oslo_messaging.server.internal | include "helm-toolkit.snippets.tls_volume" | indent 8 }} -{{- end }} -{{- end }} diff --git a/rabbitmq/templates/monitoring/prometheus/exporter-network-policy.yaml b/rabbitmq/templates/monitoring/prometheus/exporter-network-policy.yaml deleted file mode 100644 index 504572dc04..0000000000 --- a/rabbitmq/templates/monitoring/prometheus/exporter-network-policy.yaml +++ /dev/null @@ -1,18 +0,0 @@ -{{/* -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/}} - -{{- if and .Values.manifests.monitoring.prometheus.network_policy_exporter .Values.monitoring.prometheus.enabled -}} -{{- $netpol_opts := dict "envAll" . "name" "application" "label" "prometheus_rabbitmq_exporter" -}} -{{ $netpol_opts | include "helm-toolkit.manifests.kubernetes_network_policy" }} -{{- end -}} diff --git a/rabbitmq/templates/monitoring/prometheus/exporter-service.yaml b/rabbitmq/templates/monitoring/prometheus/exporter-service.yaml deleted file mode 100644 index 824859adfe..0000000000 --- a/rabbitmq/templates/monitoring/prometheus/exporter-service.yaml +++ /dev/null @@ -1,35 +0,0 @@ -{{/* -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/}} - -{{- if and .Values.manifests.monitoring.prometheus.service_exporter .Values.monitoring.prometheus.enabled }} -{{- $envAll := . }} -{{- $prometheus_annotations := $envAll.Values.monitoring.prometheus.rabbitmq_exporter }} ---- -apiVersion: v1 -kind: Service -metadata: - name: {{ tuple "prometheus_rabbitmq_exporter" "internal" . | include "helm-toolkit.endpoints.hostname_short_endpoint_lookup" }} - labels: -{{ tuple $envAll "prometheus_rabbitmq_exporter" "metrics" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 4 }} - annotations: -{{- if $envAll.Values.monitoring.prometheus.enabled }} -{{ tuple $prometheus_annotations | include "helm-toolkit.snippets.prometheus_service_annotations" | indent 4 }} -{{- end }} -spec: - ports: - - name: metrics - port: {{ tuple "prometheus_rabbitmq_exporter" "internal" "metrics" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }} - selector: -{{ tuple $envAll "prometheus_rabbitmq_exporter" "exporter" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 4 }} -{{- end }} diff --git a/rabbitmq/templates/service.yaml b/rabbitmq/templates/service.yaml index ed7d0dba10..8b4f4e6f60 100644 --- a/rabbitmq/templates/service.yaml +++ b/rabbitmq/templates/service.yaml @@ -14,6 +14,7 @@ limitations under the License. {{- if .Values.manifests.service }} {{- $envAll := . }} +{{- $prometheus_annotations := $envAll.Values.monitoring.prometheus.rabbitmq }} {{- $protocol := "http" }} {{- if $envAll.Values.manifests.certificates }} {{- $protocol = "https" }} @@ -25,6 +26,10 @@ metadata: name: {{ tuple "oslo_messaging" "internal" . | include "helm-toolkit.endpoints.hostname_short_endpoint_lookup" }} labels: {{ tuple $envAll "rabbitmq" "server" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 4 }} + annotations: +{{- if $envAll.Values.monitoring.prometheus.enabled }} +{{ tuple $prometheus_annotations | include "helm-toolkit.snippets.prometheus_service_annotations" | indent 4 }} +{{- end }} spec: clusterIP: None ports: diff --git a/rabbitmq/templates/statefulset.yaml b/rabbitmq/templates/statefulset.yaml index 771c5ff3ce..4fceca0ce4 100644 --- a/rabbitmq/templates/statefulset.yaml +++ b/rabbitmq/templates/statefulset.yaml @@ -313,12 +313,6 @@ spec: subPath: erl_inetrc readOnly: true {{- end }} -{{- if not .Values.conf.prometheus_exporter.rabbitmq_mgmt_metrics_collector_disabled }} - - name: rabbitmq-etc - mountPath: /etc/rabbitmq/conf.d/management_agent.disable_metrics_collector.conf - subPath: management_agent.disable_metrics_collector.conf - readOnly: true -{{- end }} {{ dict "enabled" $envAll.Values.manifests.certificates "name" $envAll.Values.secrets.tls.oslo_messaging.server.internal "path" "/etc/rabbitmq/certs" | include "helm-toolkit.snippets.tls_volume_mount" | indent 12 }} volumes: - name: pod-tmp diff --git a/rabbitmq/values.yaml b/rabbitmq/values.yaml index bcce046dfb..fca24ae0d4 100644 --- a/rabbitmq/values.yaml +++ b/rabbitmq/values.yaml @@ -20,9 +20,6 @@ labels: server: node_selector_key: openstack-control-plane node_selector_value: enabled - prometheus_rabbitmq_exporter: - node_selector_key: openstack-control-plane - node_selector_value: enabled test: node_selector_key: openstack-control-plane node_selector_value: enabled @@ -32,8 +29,6 @@ labels: images: tags: - prometheus_rabbitmq_exporter: docker.io/kbudde/rabbitmq-exporter:v1.0.0-RC7.1 - prometheus_rabbitmq_exporter_helm_tests: quay.io/airshipit/openstack-client:2025.1-ubuntu_noble rabbitmq_init: quay.io/airshipit/openstack-client:2025.1-ubuntu_noble rabbitmq: quay.io/airshipit/rabbitmq:3.10.18 dep_check: quay.io/airshipit/kubernetes-entrypoint:latest-ubuntu_jammy @@ -54,20 +49,6 @@ forceBoot: pod: probes: - prometheus_rabbitmq_exporter: - rabbitmq_exporter: - readiness: - enabled: true - params: - initialDelaySeconds: 30 - periodSeconds: 30 - timeoutSeconds: 5 - liveness: - enabled: true - params: - initialDelaySeconds: 120 - periodSeconds: 90 - timeoutSeconds: 5 rabbitmq: rabbitmq: readiness: @@ -87,13 +68,6 @@ pod: successThreshold: 1 failureThreshold: 5 security_context: - exporter: - pod: - runAsUser: 65534 - container: - rabbitmq_exporter: - readOnlyRootFilesystem: true - allowPrivilegeEscalation: false server: pod: runAsUser: 999 @@ -148,7 +122,6 @@ pod: effect: NoSchedule replicas: server: 2 - prometheus_rabbitmq_exporter: 1 lifecycle: upgrades: deployments: @@ -157,21 +130,11 @@ pod: rolling_update: max_unavailable: 1 max_surge: 3 - termination_grace_period: - prometheus_rabbitmq_exporter: - timeout: 30 disruption_budget: mariadb: min_available: 0 resources: enabled: false - prometheus_rabbitmq_exporter: - limits: - memory: "1024Mi" - cpu: "2000m" - requests: - memory: "128Mi" - cpu: "500m" server: limits: memory: "128Mi" @@ -199,15 +162,7 @@ conf: enabled_plugins: - rabbitmq_management - rabbitmq_peer_discovery_k8s - prometheus_exporter: - capabilities: - - no_sort - log_level: info - skipverify: 1 - skip_queues: "^$" - include_queues: ".*" - rabbit_exporters: "overview,exchange,node,queue" - rabbitmq_mgmt_metrics_collector_disabled: false + - rabbitmq_prometheus # This IP could be IPv4/IPv6 and the tcp port will be appended to it and eventually it is set to rabbitmq.listeners.tcp.1 bind_address: "::" rabbitmq: @@ -233,8 +188,6 @@ conf: rabbit_advanced_config: enabled: false default_consumer_prefetch: 250 - rabbitmq_exporter: - rabbit_timeout: 30 # Feature Flags is introduced in RabbitMQ 3.8.0 # To deploy with standard list of feature, leave as default # To deploy with specific feature, separate each feature with comma @@ -282,16 +235,6 @@ dependencies: - endpoint: node service: local_image_registry static: - prometheus_rabbitmq_exporter: - services: - - endpoint: internal - service: oslo_messaging - prometheus_rabbitmq_exporter_tests: - services: - - endpoint: internal - service: prometheus_rabbitmq_exporter - - endpoint: internal - service: monitoring rabbitmq: jobs: null tests: @@ -313,8 +256,8 @@ dependencies: monitoring: prometheus: - enabled: false - rabbitmq_exporter: + enabled: true + rabbitmq: scrape: true network: @@ -415,19 +358,6 @@ endpoints: public: 80 metrics: default: 15692 - prometheus_rabbitmq_exporter: - namespace: null - hosts: - default: rabbitmq-exporter - host_fqdn_override: - default: null - path: - default: /metrics - scheme: - default: 'http' - port: - metrics: - default: 9095 kube_dns: namespace: kube-system name: kubernetes-dns @@ -446,11 +376,6 @@ endpoints: protocol: UDP network_policy: - prometheus_rabbitmq_exporter: - ingress: - - {} - egress: - - {} rabbitmq: ingress: - {} @@ -481,9 +406,6 @@ manifests: monitoring: prometheus: configmap_bin: false - deployment_exporter: false - service_exporter: false - network_policy_exporter: false network_policy: false pod_test: true secret_admin_user: true diff --git a/releasenotes/notes/rabbitmq-04d68343d1f9dbec.yaml b/releasenotes/notes/rabbitmq-04d68343d1f9dbec.yaml new file mode 100644 index 0000000000..e0ff0638c9 --- /dev/null +++ b/releasenotes/notes/rabbitmq-04d68343d1f9dbec.yaml @@ -0,0 +1,6 @@ +--- +rabbitmq: + - | + Removing rabbitmq exporter due to EOL. Converted to use + built-in metrics instead. +...