[stable/rabbitmq] Log to stdout and add metrics exporter (#8337)

* [stable/rabbitmq] Log to stdout and add metrics exporter

Signed-off-by: Javier J. Salmeron Garcia <jsalmeron@bitnami.com>

* Update readme

Signed-off-by: Javier J. Salmeron Garcia <jsalmeron@bitnami.com>
This commit is contained in:
Javier J. Salmerón-García
2018-10-11 00:47:37 -07:00
committed by k8s-ci-robot
parent 2c4c2cb360
commit 63f3f1a578
7 changed files with 87 additions and 2 deletions
+1 -1
View File
@@ -1,5 +1,5 @@
name: rabbitmq
version: 3.3.6
version: 3.4.0
appVersion: 3.7.8
description: Open source message broker software that implements the Advanced Message Queuing Protocol (AMQP)
keywords:
+6
View File
@@ -96,6 +96,12 @@ The following table lists the configurable parameters of the RabbitMQ chart and
| `readinessProbe.periodSeconds ` | number of seconds | 5 |
| `readinessProbe.failureThreshold` | number of failures | 3 |
| `readinessProbe.successThreshold` | number of successes | 1 |
| `metrics.enabled` | Start a side-car prometheus exporter | `false` |
| `metrics.image.registry` | Exporter image registry | `docker.io` |
| `metrics.image.repository` | Exporter image name | `kbudde/rabbitmq-exporter` |
| `metrics.image.tag` | Exporter image tag | `v0.29.0` |
| `metrics.image.pullPolicy` | Exporter image pull policy | `IfNotPresent` |
| `metrics.resources` | Exporter resource requests/limit | `nil` |
The above parameters map to the env variables defined in [bitnami/rabbitmq](http://github.com/bitnami/bitnami-docker-rabbitmq). For more information please refer to the [bitnami/rabbitmq](http://github.com/bitnami/bitnami-docker-rabbitmq) image documentation.
+10
View File
@@ -30,3 +30,13 @@ Create chart name and version as used by the chart label.
{{- define "rabbitmq.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Return the proper metrics image name
*/}}
{{- define "metrics.image" -}}
{{- $registryName := .Values.metrics.image.registry -}}
{{- $repositoryName := .Values.metrics.image.repository -}}
{{- $tag := .Values.metrics.image.tag | toString -}}
{{- printf "%s/%s:%s" $registryName $repositoryName $tag -}}
{{- end -}}
+37 -1
View File
@@ -48,7 +48,7 @@ spec:
{{- end }}
terminationGracePeriodSeconds: 10
containers:
- name: {{ template "rabbitmq.fullname" . }}
- name: rabbitmq
image: "{{ .Values.image.registry }}/{{ .Values.image.repository }}:{{ .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy | quote }}
command:
@@ -68,6 +68,9 @@ spec:
ulimit -n "${RABBITMQ_ULIMIT_NOFILES}"
#replace the default password that is generated
sed -i "s/CHANGEME/$RABBITMQ_PASSWORD/g" /opt/bitnami/rabbitmq/etc/rabbitmq/rabbitmq.conf
# Move logs to stdout
ln -sF /dev/stdout /opt/bitnami/rabbitmq/var/log/rabbitmq/rabbit@${MY_POD_IP}.log
ln -sF /dev/stdout /opt/bitnami/rabbitmq/var/log/rabbitmq/rabbit@${MY_POD_IP}_upgrade.log
exec rabbitmq-server
{{- if .Values.resources }}
resources:
@@ -153,6 +156,39 @@ spec:
secretKeyRef:
name: {{ template "rabbitmq.fullname" . }}
key: rabbitmq-password
{{- if .Values.metrics.enabled }}
- name: metrics
image: {{ template "metrics.image" . }}
imagePullPolicy: {{ .Values.metrics.image.pullPolicy | quote }}
env:
- name: RABBIT_PASSWORD
valueFrom:
secretKeyRef:
name: {{ template "rabbitmq.fullname" . }}
key: rabbitmq-password
- name: RABBIT_URL
value: "http://localhost:{{ .Values.rabbitmq.managerPort }}"
- name: RABBIT_USER
value: {{ .Values.rabbitmq.username }}
ports:
- name: metrics
containerPort: 9090
livenessProbe:
httpGet:
path: /metrics
port: metrics
initialDelaySeconds: 15
timeoutSeconds: 5
readinessProbe:
httpGet:
path: /metrics
port: metrics
initialDelaySeconds: 5
timeoutSeconds: 1
resources:
{{ toYaml .Values.metrics.resources | indent 10 }}
{{- end }}
{{- if .Values.securityContext.enabled }}
securityContext:
fsGroup: {{ .Values.securityContext.fsGroup }}
+9
View File
@@ -7,6 +7,10 @@ metadata:
chart: {{ template "rabbitmq.chart" . }}
release: "{{ .Release.Name }}"
heritage: "{{ .Release.Service }}"
{{- if .Values.metrics.enabled }}
annotations:
{{ toYaml .Values.metrics.annotations | indent 4 }}
{{- end }}
spec:
type: {{ .Values.serviceType }}
ports:
@@ -25,6 +29,11 @@ spec:
- name: stats
port: {{ .Values.rabbitmq.managerPort }}
targetPort: stats
{{- if .Values.metrics.enabled }}
- name: metrics
port: 9090
targetPort: metrics
{{- end }}
selector:
app: {{ template "rabbitmq.name" . }}
release: "{{ .Release.Name }}"
+12
View File
@@ -186,3 +186,15 @@ readinessProbe:
periodSeconds: 5
failureThreshold: 3
successThreshold: 1
metrics:
enabled: true
image:
registry: docker.io
repository: kbudde/rabbitmq-exporter
tag: v0.29.0
pullPolicy: IfNotPresent
resources: {}
annotations:
prometheus.io/scrape: "true"
prometheus.io/port: "9090"
+12
View File
@@ -195,3 +195,15 @@ readinessProbe:
periodSeconds: 5
failureThreshold: 3
successThreshold: 1
metrics:
enabled: false
image:
registry: docker.io
repository: kbudde/rabbitmq-exporter
tag: v0.29.0
pullPolicy: IfNotPresent
resources: {}
annotations:
prometheus.io/scrape: "true"
prometheus.io/port: "9090"