This is an automated email from the ASF dual-hosted git repository.
kezhenxu94 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/skywalking-showcase.git
The following commit(s) were added to refs/heads/main by this push:
new ac49470 RabbitMQ monitoring showcase (#134)
ac49470 is described below
commit ac494708985035910b0c2d840f933a6ef29bcda9
Author: Harry <[email protected]>
AuthorDate: Fri Jun 23 19:00:31 2023 +0800
RabbitMQ monitoring showcase (#134)
---
Makefile.in | 4 +-
.../config/rabbitmq/otel-collector-config.yaml | 54 +++++++
.../rabbitmq/rabbitmq-overview-definitions.json | 49 ++++++
.../docker/config/rabbitmq/rabbitmq-overview.conf | 32 ++++
deploy/platform/docker/docker-compose.cluster.yaml | 2 +-
.../docker/docker-compose.rabbitmq-monitor.yaml | 176 +++++++++++++++++++++
.../docker/docker-compose.single-node.yaml | 2 +-
deploy/platform/kubernetes/Chart.yaml | 5 +
deploy/platform/kubernetes/Makefile | 9 +-
deploy/platform/kubernetes/Makefile.in | 2 +-
.../opentelemetry-config.yaml} | 26 ++-
.../feature-rabbitmq-monitor/rabbitmq.yaml | 66 ++++++++
.../templates/otel-collector-config.yaml | 1 +
deploy/platform/kubernetes/values.yaml | 22 ++-
14 files changed, 435 insertions(+), 15 deletions(-)
diff --git a/Makefile.in b/Makefile.in
index 4121e95..654414d 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -29,10 +29,10 @@ ES_IMAGE ?=
docker.elastic.co/elasticsearch/elasticsearch-oss
ES_IMAGE_TAG ?= 7.10.2
SW_OAP_IMAGE ?= ghcr.io/apache/skywalking/oap
-SW_OAP_IMAGE_TAG ?= f587da584030d7e675252be11e4871c2ea99d71d
+SW_OAP_IMAGE_TAG ?= b5a2766cc1e4ad97d5bb8dd9fccf3419332584df
SW_UI_IMAGE ?= ghcr.io/apache/skywalking/ui
-SW_UI_IMAGE_TAG ?= f587da584030d7e675252be11e4871c2ea99d71d
+SW_UI_IMAGE_TAG ?= b5a2766cc1e4ad97d5bb8dd9fccf3419332584df
SW_CLI_IMAGE ?=
ghcr.io/apache/skywalking-cli/skywalking-cli:0883266bfaa36612927b69e35781b64ea181758d
SW_EVENT_EXPORTER_IMAGE ?=
ghcr.io/apache/skywalking-kubernetes-event-exporter/skywalking-kubernetes-event-exporter:8a012a3f968cb139f817189afb9b3748841bba22
diff --git a/deploy/platform/docker/config/rabbitmq/otel-collector-config.yaml
b/deploy/platform/docker/config/rabbitmq/otel-collector-config.yaml
new file mode 100644
index 0000000..46f71cd
--- /dev/null
+++ b/deploy/platform/docker/config/rabbitmq/otel-collector-config.yaml
@@ -0,0 +1,54 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You 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.
+
+receivers:
+ prometheus:
+ config:
+ scrape_configs:
+ - job_name: 'rabbitmq-monitoring'
+ scrape_interval: 30s
+ static_configs:
+ - targets:
+ - rmq0:15692
+ relabel_configs:
+ - source_labels: [ ]
+ target_label: cluster
+ replacement: rabbitmq-cluster
+ - source_labels: [ __address__ ]
+ regex: (.+)
+ target_label: node
+ replacement: $$1
+
+processors:
+ batch:
+
+exporters:
+
####################################################################################
+ # If you want to use otlp exporter please ensure that your OAP version is >=
9.2.0 #
+
####################################################################################
+ otlp:
+ endpoint: oap:11800
+ tls:
+ insecure: true
+
+service:
+ pipelines:
+ metrics:
+ receivers:
+ - prometheus
+ processors:
+ - batch
+ exporters:
+ - otlp
\ No newline at end of file
diff --git
a/deploy/platform/docker/config/rabbitmq/rabbitmq-overview-definitions.json
b/deploy/platform/docker/config/rabbitmq/rabbitmq-overview-definitions.json
new file mode 100644
index 0000000..0d58b23
--- /dev/null
+++ b/deploy/platform/docker/config/rabbitmq/rabbitmq-overview-definitions.json
@@ -0,0 +1,49 @@
+{
+ "global_parameters": [
+ {"name": "cluster_name", "value": "rabbitmq-overview"}
+ ],
+ "permissions": [
+ {
+ "configure": ".*",
+ "read": ".*",
+ "user": "guest",
+ "vhost": "/",
+ "write": ".*"
+ }
+ ],
+ "policies": [
+ {
+ "apply-to": "queues",
+ "definition": {"ha-mode": "exactly", "ha-params": 1},
+ "name": "ha1",
+ "pattern": "ha1.*",
+ "priority": 0,
+ "vhost": "/"
+ },
+ {
+ "apply-to": "queues",
+ "definition": {"ha-mode": "exactly", "ha-params": 2},
+ "name": "ha2",
+ "pattern": "ha2.*",
+ "priority": 0,
+ "vhost": "/"
+ },
+ {
+ "apply-to": "queues",
+ "definition": {"ha-mode": "exactly", "ha-params": 3},
+ "name": "ha3",
+ "pattern": "ha3.*",
+ "priority": 0,
+ "vhost": "/"
+ }
+ ],
+ "users": [
+ {
+ "hashing_algorithm": "rabbit_password_hashing_sha256",
+ "name": "guest",
+ "password_hash": "hENva+fxJ7gnmaBK/WhwNHOYbvB53/QjNcqhtF4KqF7p21+x",
+ "tags": "administrator"
+ }
+ ],
+ "vhosts": [{"name": "/"}]
+}
diff --git a/deploy/platform/docker/config/rabbitmq/rabbitmq-overview.conf
b/deploy/platform/docker/config/rabbitmq/rabbitmq-overview.conf
new file mode 100644
index 0000000..d6f87af
--- /dev/null
+++ b/deploy/platform/docker/config/rabbitmq/rabbitmq-overview.conf
@@ -0,0 +1,32 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You 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.
+
+#
https://github.com/rabbitmq/rabbitmq-server/blob/master/docs/rabbitmq.conf.example
+loopback_users.guest = false
+listeners.tcp.default = 5672
+management.listener.port = 15672
+management.listener.ssl = false
+
+vm_memory_high_watermark.absolute = 768MiB
+vm_memory_high_watermark_paging_ratio = 0.2
+
+cluster_name = rabbitmq-overview
+
+cluster_formation.peer_discovery_backend = rabbit_peer_discovery_classic_config
+cluster_formation.classic_config.nodes.1 = rabbit@rmq0
+
+load_definitions = /etc/rabbitmq/rabbitmq-definitions.json
+
+collect_statistics_interval = 10000
diff --git a/deploy/platform/docker/docker-compose.cluster.yaml
b/deploy/platform/docker/docker-compose.cluster.yaml
index 5cd5934..6bf0cbd 100644
--- a/deploy/platform/docker/docker-compose.cluster.yaml
+++ b/deploy/platform/docker/docker-compose.cluster.yaml
@@ -53,7 +53,7 @@ services:
SW_CLUSTER_ZK_HOST_PORT: zookeeper:2181 # @feature: cluster; set up the
cluster coordinator address
SW_HEALTH_CHECKER: default # @feature: health-check;
SW_OTEL_RECEIVER: default # @feature: vm; enable the OC receiver that
receives the VM metrics
- SW_OTEL_RECEIVER_ENABLED_OTEL_RULES:
vm,mysql/*,postgresql/*,apisix,elasticsearch/* # @feature: vm; enable the OC
rules that analyse the VM metrics
+ SW_OTEL_RECEIVER_ENABLED_OTEL_RULES:
vm,mysql/*,postgresql/*,apisix,elasticsearch/*,rabbitmq/* # @feature: vm;
enable the OC rules that analyse the VM metrics
SW_STORAGE: elasticsearch
SW_STORAGE_ES_CLUSTER_NODES: elasticsearch:9200
SW_TELEMETRY: prometheus # @feature: so11y; expose the metrics of self
o11y through prometheus
diff --git a/deploy/platform/docker/docker-compose.rabbitmq-monitor.yaml
b/deploy/platform/docker/docker-compose.rabbitmq-monitor.yaml
new file mode 100644
index 0000000..c57592b
--- /dev/null
+++ b/deploy/platform/docker/docker-compose.rabbitmq-monitor.yaml
@@ -0,0 +1,176 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you 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.
+#
+
+# @feature: elasticsearch; set up prometheus_elasticsearch_exporter and
OpenTelemetry collector
+
+version: '2.1'
+
+services:
+ rmq0: &rabbitmq
+ image: rabbitmq:3.11.14-management
+ networks:
+ - sw
+ ports:
+ - "15673:15672"
+ - "15693:15692"
+ cap_add:
+ - ALL
+ hostname: rmq0
+ environment:
+ RABBITMQ_ERLANG_COOKIE: rabbitmq-prometheus
+ volumes:
+ - ./config/rabbitmq/rabbitmq-overview.conf:/etc/rabbitmq/rabbitmq.conf:ro
+ -
./config/rabbitmq/rabbitmq-overview-definitions.json:/etc/rabbitmq/rabbitmq-definitions.json:ro
+ ulimits:
+ nofile:
+ soft: 2000
+ hard: 2000
+
+ # The following services are used for mocking test data
+ basic-get:
+ image: &perf-test-image pivotalrabbitmq/perf-test:2.15.0-ubuntu
+ networks:
+ - "e2e"
+ environment:
+ URI: "amqp://guest:guest@rmq0:5672/%2f"
+ QUEUE: basic-get
+ ROUTING_KEY: basic-get
+ VARIABLE_RATE: "1:1,0:30"
+ POLLING: "true"
+ POLLING_INTERVAL: 5000
+ AUTOACK: "false"
+ SERVERS_STARTUP_TIMEOUT: &startup_timeout 60
+ METRICS_PROMETHEUS: "true"
+ basic-get-auto:
+ image: *perf-test-image
+ networks:
+ - "e2e"
+ environment:
+ URI: "amqp://guest:guest@rmq0:5672/%2f"
+ QUEUE: basic-get
+ ROUTING_KEY: basic-get
+ PRODUCERS: 0
+ POLLING: "true"
+ POLLING_INTERVAL: 5000
+ AUTOACK: "true"
+ SERVERS_STARTUP_TIMEOUT: *startup_timeout
+ METRICS_PROMETHEUS: "true"
+ greedy-consumer:
+ image: *perf-test-image
+ networks:
+ - "e2e"
+ environment:
+ URI: "amqp://guest:guest@rmq0:5672/%2f"
+ QUEUE: greedy-consumer
+ ROUTING_KEY: greedy-consumer
+ VARIABLE_RATE: "100:20,0:20"
+ CONSUMER_RATE: 50
+ QOS: 2000
+ AUTOACK: "false"
+ SERVERS_STARTUP_TIMEOUT: *startup_timeout
+ METRICS_PROMETHEUS: "true"
+ publisher-confirms:
+ image: *perf-test-image
+ networks:
+ - "e2e"
+ environment:
+ URI: "amqp://guest:guest@rmq0:5672/%2f"
+ QUEUE: publisher-confirms
+ ROUTING_KEY: publisher-confirms
+ AUTOACK: "true"
+ VARIABLE_RATE: "12:30,25:30,50:30,100:30"
+ CONFIRM: 1
+ CONFIRM_TIMEOUT: 1
+ SERVERS_STARTUP_TIMEOUT: *startup_timeout
+ METRICS_PROMETHEUS: "true"
+ slow-consumer-persistent:
+ image: *perf-test-image
+ networks:
+ - "e2e"
+ environment:
+ URI: "amqp://guest:guest@rmq0:5672/%2f"
+ QUEUE: ha3-slow-consumer-persistent
+ ROUTING_KEY: slow-consumer-persistent
+ QUEUE_ARGS: x-max-length=10000
+ FLAG: persistent
+ AUTO_DELETE: "false"
+ SIZE: 51200
+ VARIABLE_RATE: "100:20,0:20"
+ CONSUMER_RATE: 50
+ QOS: 50
+ AUTOACK: "false"
+ SERVERS_STARTUP_TIMEOUT: *startup_timeout
+ METRICS_PROMETHEUS: "true"
+ nack:
+ image: *perf-test-image
+ networks:
+ - "e2e"
+ entrypoint: []
+ command: /bin/bash -c "while true; do bin/runjava
com.rabbitmq.perf.PerfTest; sleep 10; done"
+ environment:
+ TIME: 60
+ URI: "amqp://guest:guest@rmq0:5672/%2f"
+ VARIABLE_RATE: "1:10,0:20"
+ QUEUE: nack
+ QUEUE_ARGS: x-max-length=100
+ ROUTING_KEY: nack
+ AUTOACK: "false"
+ NACK: "true"
+ QOS: 5
+ CONSUMER_LATENCY: 3000000
+ SERVERS_STARTUP_TIMEOUT: *startup_timeout
+ METRICS_PROMETHEUS: "true"
+ unroutable-return:
+ image: *perf-test-image
+ networks:
+ - "e2e"
+ environment:
+ URI: "amqp://guest:guest@rmq0:5672/%2f"
+ VARIABLE_RATE: "2:30,4:30,10:30"
+ VARIABLE_SIZE: "100:30,200:30"
+ CONSUMERS: 0
+ FLAG: mandatory
+ SERVERS_STARTUP_TIMEOUT: *startup_timeout
+ METRICS_PROMETHEUS: "true"
+ unroutable-drop:
+ image: *perf-test-image
+ networks:
+ - "e2e"
+ environment:
+ URI: "amqp://guest:guest@rmq0:5672/%2f"
+ VARIABLE_RATE: "5:30,10:30,20:30"
+ VARIABLE_SIZE: "100:30,200:30"
+ CONSUMERS: 0
+ SERVERS_STARTUP_TIMEOUT: *startup_timeout
+ METRICS_PROMETHEUS: "true"
+
+ otel-collector:
+ image: ${OTEL_COLLECTOR_IMAGE}:${OTEL_COLLECTOR_IMAGE_TAG}
+ networks:
+ - sw
+ command: [ "--config=/etc/otel-collector-config.yaml" ]
+ volumes:
+ -
./config/rabbitmq/otel-collector-config.yaml:/etc/otel-collector-config.yaml
+ expose:
+ - 55678
+ depends_on:
+ oap:
+ condition: service_healthy
+
+networks:
+ sw:
diff --git a/deploy/platform/docker/docker-compose.single-node.yaml
b/deploy/platform/docker/docker-compose.single-node.yaml
index c45a0bf..caabd2d 100644
--- a/deploy/platform/docker/docker-compose.single-node.yaml
+++ b/deploy/platform/docker/docker-compose.single-node.yaml
@@ -43,7 +43,7 @@ services:
environment:
SW_HEALTH_CHECKER: default # @feature: health-check;
SW_OTEL_RECEIVER: default # @feature: vm; enable the OC receiver that
receives the VM metrics
- SW_OTEL_RECEIVER_ENABLED_OTEL_RULES:
vm,mysql/*,postgresql/*,elasticsearch/* # @feature:
vm,mysql,postgresql,elasticsearch; enable the OC rules that analyse the metrics
+ SW_OTEL_RECEIVER_ENABLED_OTEL_RULES:
vm,mysql/*,postgresql/*,elasticsearch/*,rabbitmq/* # @feature:
vm,mysql,postgresql,elasticsearch; enable the OC rules that analyse the metrics
SW_STORAGE: elasticsearch
SW_STORAGE_ES_CLUSTER_NODES: elasticsearch:9200
SW_TELEMETRY: prometheus # @feature: so11y; expose the metrics of self
o11y through prometheus
diff --git a/deploy/platform/kubernetes/Chart.yaml
b/deploy/platform/kubernetes/Chart.yaml
index dd59072..bae834d 100644
--- a/deploy/platform/kubernetes/Chart.yaml
+++ b/deploy/platform/kubernetes/Chart.yaml
@@ -50,6 +50,11 @@ dependencies:
repository: https://prometheus-community.github.io/helm-charts
condition: prometheus-elasticsearch-exporter.enabled
+ - name: rabbitmq
+ version: 12.0.1
+ repository: https://charts.bitnami.com/bitnami
+ condition: rabbitmq.enabled
+
- name: base
version: 1.14.4
repository: https://istio-release.storage.googleapis.com/charts
diff --git a/deploy/platform/kubernetes/Makefile
b/deploy/platform/kubernetes/Makefile
index cf698fa..25570b0 100644
--- a/deploy/platform/kubernetes/Makefile
+++ b/deploy/platform/kubernetes/Makefile
@@ -142,9 +142,12 @@ feature-kubernetes-monitor:
feature-elasticsearch-monitor:
$(eval HELM_OPTIONS := $(HELM_OPTIONS) --set
features.elasticsearchMonitor.enabled=true)
$(eval HELM_OPTIONS := $(HELM_OPTIONS) --set
prometheus-elasticsearch-exporter.enabled=true)
- $(eval HELM_OPTIONS := $(HELM_OPTIONS) --set
prometheus-elasticsearch-exporter.fullnameOverride=prometheus-elasticsearch-exporter)
- $(eval HELM_OPTIONS := $(HELM_OPTIONS) --set
prometheus-elasticsearch-exporter.service.httpPort=9114)
- $(eval HELM_OPTIONS := $(HELM_OPTIONS) --set
prometheus-elasticsearch-exporter.es.uri=http://elasticsearch-master:9200)
+ $(eval HELM_OPTIONS := $(HELM_OPTIONS) --set opentelemetry.enabled=true)
+
+.PHONY: feature-rabbitmq-monitor
+feature-rabbitmq-monitor:
+ $(eval HELM_OPTIONS := $(HELM_OPTIONS) --set
features.rabbitmqMonitor.enabled=true)
+ $(eval HELM_OPTIONS := $(HELM_OPTIONS) --set rabbitmq.enabled=true)
$(eval HELM_OPTIONS := $(HELM_OPTIONS) --set opentelemetry.enabled=true)
.PHONY: feature-function
diff --git a/deploy/platform/kubernetes/Makefile.in
b/deploy/platform/kubernetes/Makefile.in
index 4ac8e3b..9860066 100644
--- a/deploy/platform/kubernetes/Makefile.in
+++ b/deploy/platform/kubernetes/Makefile.in
@@ -23,4 +23,4 @@ SAMPLE_SERVICES_NAMESPACE ?= sample-services
RELEASE ?= demo
AGENTLESS ?= false
-FEATURE_FLAGS ?=
java-agent-injector,cluster,elasticsearch,kubernetes-monitor,so11y,vm-monitor,als,event,istiod-monitor,satellite,rover,trace-profiling,mysql-monitor,postgresql-monitor,apisix-monitor,promql,elasticsearch-monitor
+FEATURE_FLAGS ?=
java-agent-injector,cluster,elasticsearch,kubernetes-monitor,so11y,vm-monitor,als,event,istiod-monitor,satellite,rover,trace-profiling,mysql-monitor,postgresql-monitor,apisix-monitor,promql,elasticsearch-monitor,rabbitmq-monitor
diff --git a/deploy/platform/kubernetes/Makefile.in
b/deploy/platform/kubernetes/templates/feature-rabbitmq-monitor/opentelemetry-config.yaml
similarity index 56%
copy from deploy/platform/kubernetes/Makefile.in
copy to
deploy/platform/kubernetes/templates/feature-rabbitmq-monitor/opentelemetry-config.yaml
index 4ac8e3b..16142b7 100644
--- a/deploy/platform/kubernetes/Makefile.in
+++
b/deploy/platform/kubernetes/templates/feature-rabbitmq-monitor/opentelemetry-config.yaml
@@ -16,11 +16,25 @@
# under the License.
#
-.EXPORT_ALL_VARIABLES:
+{{- define "opentelemetry-config-rabbitmq-monitor" }}
+{{- if .Values.features.rabbitmqMonitor.enabled }}
-NAMESPACE ?= skywalking-showcase
-SAMPLE_SERVICES_NAMESPACE ?= sample-services
-RELEASE ?= demo
-AGENTLESS ?= false
+- job_name: rabbitmq-monitoring
+ scrape_interval: 30s
+ kubernetes_sd_configs:
+ - role: pod
+ relabel_configs:
+ - source_labels: [ __meta_kubernetes_pod_container_name,
__meta_kubernetes_pod_container_port_name ]
+ action: keep
+ regex: rabbitmq;metrics
+ - source_labels: [ ]
+ target_label: cluster
+ replacement: rabbitmq-cluster
+ - source_labels: [ __address__ ]
+ target_label: node
+ regex: (.+)
+ replacement: $$1
+ action: replace
-FEATURE_FLAGS ?=
java-agent-injector,cluster,elasticsearch,kubernetes-monitor,so11y,vm-monitor,als,event,istiod-monitor,satellite,rover,trace-profiling,mysql-monitor,postgresql-monitor,apisix-monitor,promql,elasticsearch-monitor
+{{- end }}
+{{- end }}
diff --git
a/deploy/platform/kubernetes/templates/feature-rabbitmq-monitor/rabbitmq.yaml
b/deploy/platform/kubernetes/templates/feature-rabbitmq-monitor/rabbitmq.yaml
new file mode 100644
index 0000000..c2af758
--- /dev/null
+++
b/deploy/platform/kubernetes/templates/feature-rabbitmq-monitor/rabbitmq.yaml
@@ -0,0 +1,66 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you 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.features.rabbitmqMonitor.enabled }}
+
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: rabbitmq-mock-client
+spec:
+ replicas: 1
+ strategy:
+ type: Recreate
+ selector:
+ matchLabels:
+ app: mock-client
+ template:
+ metadata:
+ labels:
+ app: mock-client
+ spec:
+ containers:
+ - env:
+ - name: URI
+ value: "amqp://guest:guest@demo-rabbitmq:5672/%2f"
+ - name: QUEUE
+ value: basic-get
+ - name: ROUTING_KEY
+ value: basic-get
+ - name: VARIABLE_RATE
+ value: "1:1,0:30"
+ - name: POLLING
+ value: "true"
+ - name: POLLING_INTERVAL
+ value: "5000"
+ - name: AUTOACK
+ value: "5000"
+ - name: SERVERS_STARTUP_TIMEOUT
+ value: "60"
+ - name: METRICS_PROMETHEUS
+ value: "true"
+ image: pivotalrabbitmq/perf-test:2.15.0-ubuntu
+ imagePullPolicy: IfNotPresent
+ name: install
+ ports:
+ - containerPort: 8080
+ name: http
+ protocol: TCP
+ restartPolicy: Always
+ securityContext: { }
+
+{{- end }}
diff --git a/deploy/platform/kubernetes/templates/otel-collector-config.yaml
b/deploy/platform/kubernetes/templates/otel-collector-config.yaml
index 1c4f31e..7ab890e 100644
--- a/deploy/platform/kubernetes/templates/otel-collector-config.yaml
+++ b/deploy/platform/kubernetes/templates/otel-collector-config.yaml
@@ -36,6 +36,7 @@ data:
{{- include "opentelemetry-config-so11y" . | indent 12 }}
{{- include "opentelemetry-config-vm" . | indent 12 }}
{{- include "opentelemetry-config-elasticsearch-monitor" . |
indent 12 }}
+ {{- include "opentelemetry-config-rabbitmq-monitor" . | indent 12
}}
exporters:
otlp:
diff --git a/deploy/platform/kubernetes/values.yaml
b/deploy/platform/kubernetes/values.yaml
index 6fb5e36..1792aa5 100644
--- a/deploy/platform/kubernetes/values.yaml
+++ b/deploy/platform/kubernetes/values.yaml
@@ -39,7 +39,7 @@ skywalking:
# @feature: istiod-monitor; enable rules to analyze Istio control plane
metrics
# @feature: mysql; enable mysql rules to analyze MySQL metrics
# @feature: apisix-monitor; enable APISIX rules to analyze APISIX metrics
- SW_OTEL_RECEIVER_ENABLED_OTEL_RULES:
vm,oap,k8s/*,istio-controlplane,mysql/*,postgresql/*,apisix,elasticsearch/*
+ SW_OTEL_RECEIVER_ENABLED_OTEL_RULES:
vm,oap,k8s/*,istio-controlplane,mysql/*,postgresql/*,apisix,elasticsearch/*,rabbitmq/*
SW_TELEMETRY: prometheus # @feature: so11y; expose the metrics of self
o11y through prometheus
SW_ENVOY_METRIC_ALS_HTTP_ANALYSIS: "mx-mesh,persistence" # @feature:
als; enable mesh analyzer (mx-mesh) to analyze ALS logs
K8S_SERVICE_NAME_RULE: "mesh-svr::${service.metadata.name}"
@@ -206,8 +206,25 @@ istiod:
kube-state-metrics:
enabled: false
+rabbitmq:
+ enabled: false
+ replicaCount: 1
+ persistence:
+ enabled: false
+ metrics:
+ enabled: true
+ auth:
+ username: guest
+ password: guest
+
prometheus-elasticsearch-exporter:
enabled: false
+ fullnameOverride: prometheus-elasticsearch-exporter
+ service:
+ httpPort: 9114
+ es:
+ uri: "http://elasticsearch-master:9200"
+
opentelemetry:
enabled: false
@@ -259,6 +276,9 @@ features:
elasticsearchMonitor:
enabled: false
+ rabbitmqMonitor:
+ enabled: false
+
mysqlMonitor:
enabled: false