Convert RabbitMQ to use internal metrics only
Change-Id: Ifb2adec36daf82ddd7ec628bb7f67d2b53371ca2 Signed-off-by: SPEARS, DUSTIN (ds443n) <ds443n@att.com>
This commit is contained in:
@@ -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 }}
|
||||
|
||||
@@ -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 }}
|
||||
@@ -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 -}}
|
||||
@@ -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 }}
|
||||
@@ -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:
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
6
releasenotes/notes/rabbitmq-04d68343d1f9dbec.yaml
Normal file
6
releasenotes/notes/rabbitmq-04d68343d1f9dbec.yaml
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
rabbitmq:
|
||||
- |
|
||||
Removing rabbitmq exporter due to EOL. Converted to use
|
||||
built-in metrics instead.
|
||||
...
|
||||
Reference in New Issue
Block a user