You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wu...@apache.org on 2023/04/24 09:23:07 UTC
[skywalking-showcase] branch main updated: elasticsearch monitoring showcase (#125)
This is an automated email from the ASF dual-hosted git repository.
wusheng 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 c53a35d elasticsearch monitoring showcase (#125)
c53a35d is described below
commit c53a35d92f5513c2b44e180f6257915b27ad7e7c
Author: innerpeacez <in...@gmail.com>
AuthorDate: Mon Apr 24 17:23:02 2023 +0800
elasticsearch monitoring showcase (#125)
---
Makefile.in | 4 +-
deploy/platform/docker/Makefile.in | 2 +-
.../otel-collector-config-elasticsearch.yaml | 46 +++++++++++++++
deploy/platform/docker/docker-compose.cluster.yaml | 2 +-
.../docker-compose.elasticsearch-monitor.yaml | 65 ++++++++++++++++++++++
.../docker/docker-compose.single-node.yaml | 2 +-
deploy/platform/kubernetes/Chart.yaml | 5 ++
deploy/platform/kubernetes/Makefile | 11 +++-
deploy/platform/kubernetes/Makefile.in | 2 +-
.../opentelemetry-config.yaml} | 19 +++++--
.../templates/otel-collector-config.yaml | 1 +
deploy/platform/kubernetes/values.yaml | 8 ++-
docs/readme.md | 47 ++++++++--------
13 files changed, 177 insertions(+), 37 deletions(-)
diff --git a/Makefile.in b/Makefile.in
index b01f631..740dfc6 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 ?= 935efe9f451868c92f6ce10d7cd6db889fc40cb5
+SW_OAP_IMAGE_TAG ?= cce87a99175cfb149ff2a3fe077f876313f72a9d
SW_UI_IMAGE ?= ghcr.io/apache/skywalking/ui
-SW_UI_IMAGE_TAG ?= 935efe9f451868c92f6ce10d7cd6db889fc40cb5
+SW_UI_IMAGE_TAG ?= cce87a99175cfb149ff2a3fe077f876313f72a9d
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/Makefile.in b/deploy/platform/docker/Makefile.in
index 6c8ef8f..37a4d4f 100644
--- a/deploy/platform/docker/Makefile.in
+++ b/deploy/platform/docker/Makefile.in
@@ -17,4 +17,4 @@
#
.EXPORT_ALL_VARIABLES:
-FEATURE_FLAGS ?= agent,cluster,so11y,vm-monitor,event,mysql-monitor,apisix-monitor,promql
+FEATURE_FLAGS ?= agent,cluster,so11y,vm-monitor,event,mysql-monitor,apisix-monitor,promql,elasticsearch-monitor
diff --git a/deploy/platform/docker/config/otel-collector-config-elasticsearch.yaml b/deploy/platform/docker/config/otel-collector-config-elasticsearch.yaml
new file mode 100644
index 0000000..055c4a3
--- /dev/null
+++ b/deploy/platform/docker/config/otel-collector-config-elasticsearch.yaml
@@ -0,0 +1,46 @@
+# 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-monitoring
+receivers:
+ prometheus:
+ config:
+ scrape_configs:
+ - job_name: 'elasticsearch-monitoring'
+ scrape_interval: 30s
+ static_configs:
+ - targets: ['es-exporter:9114']
+
+processors:
+ batch:
+
+exporters:
+ otlp:
+ endpoint: oap:11800
+ tls:
+ insecure: true
+ logging:
+ loglevel: debug
+
+service:
+ pipelines:
+ metrics:
+ receivers:
+ - prometheus
+ processors:
+ - batch
+ exporters:
+ - otlp
+ - logging
diff --git a/deploy/platform/docker/docker-compose.cluster.yaml b/deploy/platform/docker/docker-compose.cluster.yaml
index 5e35746..5cd5934 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 # @feature: vm; enable the OC rules that analyse 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_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.elasticsearch-monitor.yaml b/deploy/platform/docker/docker-compose.elasticsearch-monitor.yaml
new file mode 100644
index 0000000..6f0b483
--- /dev/null
+++ b/deploy/platform/docker/docker-compose.elasticsearch-monitor.yaml
@@ -0,0 +1,65 @@
+# 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:
+ es-exporter:
+ image: quay.io/prometheuscommunity/elasticsearch-exporter:v1.5.0
+ expose:
+ - 9114
+ networks:
+ - sw
+ depends_on:
+ elasticsearch:
+ condition: service_healthy
+ command:
+ - '--log.format=logfmt'
+ - '--log.level=info'
+ - '--es.uri=http://elasticsearch:9200'
+ - '--es.all'
+ - '--es.indices'
+ - '--es.indices_settings'
+ - '--es.indices_mappings'
+ - '--es.shards'
+ - '--es.snapshots'
+ - '--es.timeout=30s'
+ - '--web.telemetry-path=/metrics'
+ healthcheck:
+ interval: 5s
+ timeout: 60s
+ retries: 120
+ test: ["CMD", "sh", "-c", "nc -vz localhost 9114"]
+
+ otel-collector:
+ image: ${OTEL_COLLECTOR_IMAGE}:${OTEL_COLLECTOR_IMAGE_TAG}
+ networks:
+ - sw
+ command: [ "--config=/etc/otel-collector-config.yaml" ]
+ volumes:
+ - ./config/otel-collector-config-elasticsearch.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 9ef58a4..c45a0bf 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/* # @feature: vm,mysql,postgresql; enable the OC rules that analyse the 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_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 a525e16..004b672 100644
--- a/deploy/platform/kubernetes/Chart.yaml
+++ b/deploy/platform/kubernetes/Chart.yaml
@@ -45,6 +45,11 @@ dependencies:
repository: https://prometheus-community.github.io/helm-charts
condition: kube-state-metrics.enabled
+ - name: prometheus-elasticsearch-exporter
+ version: 5.1.1
+ repository: https://prometheus-community.github.io/helm-charts
+ condition: prometheus-elasticsearch-exporter.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 48f415c..43c3599 100644
--- a/deploy/platform/kubernetes/Makefile
+++ b/deploy/platform/kubernetes/Makefile
@@ -40,7 +40,7 @@ HELM_OPTIONS := $(HELM_OPTIONS) --set features.rover.image=$(SW_ROVER_IMAGE)
HELM_OPTIONS := $(HELM_OPTIONS) --set features.promql.grafana.image=$(GRAFANA_IMAGE)
ifeq ($(DEBUG),true)
- HELM_OPTIONS := $(HELM_OPTIONS) --dry-run
+ HELM_OPTIONS := $(HELM_OPTIONS) --dry-run --debug
endif
BACKEND_SERVICE := $(RELEASE)-oap.$(NAMESPACE).svc:11800
@@ -137,6 +137,15 @@ feature-kubernetes-monitor:
$(eval HELM_OPTIONS := $(HELM_OPTIONS) --set kube-state-metrics.enabled=true)
$(eval HELM_OPTIONS := $(HELM_OPTIONS) --set opentelemetry.enabled=true)
+.PHONY: feature-elasticsearch-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-function
feature-function:
$(eval HELM_OPTIONS := $(HELM_OPTIONS) --set features.function.enabled=true)
diff --git a/deploy/platform/kubernetes/Makefile.in b/deploy/platform/kubernetes/Makefile.in
index 24ac366..4ac8e3b 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
+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
diff --git a/deploy/platform/kubernetes/Makefile.in b/deploy/platform/kubernetes/templates/feature-elasticseasrch-monitor/opentelemetry-config.yaml
similarity index 63%
copy from deploy/platform/kubernetes/Makefile.in
copy to deploy/platform/kubernetes/templates/feature-elasticseasrch-monitor/opentelemetry-config.yaml
index 24ac366..ebc298d 100644
--- a/deploy/platform/kubernetes/Makefile.in
+++ b/deploy/platform/kubernetes/templates/feature-elasticseasrch-monitor/opentelemetry-config.yaml
@@ -16,11 +16,18 @@
# under the License.
#
-.EXPORT_ALL_VARIABLES:
+{{- define "opentelemetry-config-elasticsearch-monitor" }}
+{{- if .Values.features.elasticsearchMonitor.enabled }}
-NAMESPACE ?= skywalking-showcase
-SAMPLE_SERVICES_NAMESPACE ?= sample-services
-RELEASE ?= demo
-AGENTLESS ?= false
+- job_name: 'elasticsearch-monitoring'
+ scrape_interval: 30s
+ metrics_path: "/metrics"
+ kubernetes_sd_configs:
+ - role: service
+ relabel_configs:
+ - source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_service_port_name]
+ action: keep
+ regex: prometheus-elasticsearch-exporter;http
-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
+{{- end }}
+{{- end }}
diff --git a/deploy/platform/kubernetes/templates/otel-collector-config.yaml b/deploy/platform/kubernetes/templates/otel-collector-config.yaml
index 3831ee2..1c4f31e 100644
--- a/deploy/platform/kubernetes/templates/otel-collector-config.yaml
+++ b/deploy/platform/kubernetes/templates/otel-collector-config.yaml
@@ -35,6 +35,7 @@ data:
{{- include "opentelemetry-config-postgresql-monitor" . | indent 12 }}
{{- include "opentelemetry-config-so11y" . | indent 12 }}
{{- include "opentelemetry-config-vm" . | indent 12 }}
+ {{- include "opentelemetry-config-elasticsearch-monitor" . | indent 12 }}
exporters:
otlp:
diff --git a/deploy/platform/kubernetes/values.yaml b/deploy/platform/kubernetes/values.yaml
index 31d45d5..e2db355 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
+ SW_OTEL_RECEIVER_ENABLED_OTEL_RULES: vm,oap,k8s/*,istio-controlplane,mysql/*,postgresql/*,apisix,elasticsearch/*
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,6 +206,9 @@ istiod:
kube-state-metrics:
enabled: false
+prometheus-elasticsearch-exporter:
+ enabled: false
+
opentelemetry:
enabled: false
@@ -252,6 +255,9 @@ features:
kubernetesMonitor:
enabled: false
+ elasticsearchMonitor:
+ enabled: false
+
mysqlMonitor:
enabled: false
diff --git a/docs/readme.md b/docs/readme.md
index cefcab8..c6cda23 100644
--- a/docs/readme.md
+++ b/docs/readme.md
@@ -84,29 +84,30 @@ necessarily the same so make sure to specify the right feature flags.
Currently, the features supported are:
-| Name | Description | Note |
-|-----------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------|
-| `java-agent-injector` | Use the java agent injector to inject the Skywalking Java agent and deploy microservices with other SkyWalking agent enabled. | The microservices include agents for Java, NodeJS server, browser, Python. |
-| `agent` | Deploy microservices with SkyWalking agent pre-installed. | In Kubernetes scenarios, please use `java-agent-injector` instead of this, if possible. |
-| `cluster` | Deploy SkyWalking OAP in cluster mode, with 2 nodes, and SkyWalking UI. | Only one of `cluster` or `single-node` can be enabled. |
-| `single-node` | Deploy only one single node of SkyWalking OAP, and SkyWalking UI, ElasticSearch as storage. | Only one of `cluster` or `single-node` can be enabled. |
-| `elasticsearch` | Deploy ElasticSearch as storage, you may want to disable this if you want to use your own ElasticSearch deployments. | |
-| `postgresql` | Deploy PostgreSQL as storage, you may want to disable this if you want to use your own PostgreSQL deployments. | |
-| `so11y` | Enable SkyWalking self observability. | This is enabled by default for platform [Docker Compose](#docker-compose). |
-| `vm-monitor` | Start 2 virtual machines and export their metrics to SkyWalking. | The "virtual machines" are mimicked by Docker containers or Pods. |
-| `als` | Start microservices WITHOUT SkyWalking agent enabled, and configure SkyWalking to analyze the topology and metrics from their access logs. | Command `istioctl` is required to run this feature. The agentless microservices will be running at namespace `${NAMESPACE}-agentless` |
-| `kubernetes-monitor` | Deploy OpenTelemetry and export Kubernetes monitoring metrics to SkyWalking for analysis and display on UI. | |
-| `istiod-monitor` | Deploy OpenTelemetry and export Istio control plane metrics to SkyWalking for analysis and display on UI. | |
-| `event` | Deploy tools to trigger events, and SkyWalking Kubernetes event exporter to export events into SkyWalking. | |
-| `satellite` | Deploy SkyWalking Satellite to load balance the monitoring data. | |
-| `function` | Deploy [OpenFunction](https://openfunction.dev/) and export trace to SkyWalking. | Command `helm` is required to run this feature. |
-| `trace-profiling` | Deploy tools to submit trace profiling tasks. | Only support deployment with SkyWalking agents installed, currently Java agent and Python agent support trace profiling. |
-| `rover` | Deploy SkyWalking Rover and detect the processes in the Kubernetes environment. | Only support deployment in the Kubernetes environment, docker is not supported. |
-| `mysql-monitor` | Start a MySQL server and load generator to execute the sample SQLs periodically, set up fluent bit to fetch slow logs and export to OAP, and export their metrics to SkyWalking. | |
-| `postgresql-monitor` | Start a PostgreSQL server, and load generator to execute the sample SQLs periodically, set up fluent bit to fetch slow logs and export to OAP, and export their metrics to SkyWalking. | |
-| `apisix-monitor` | Deploy OpenTelemetry and export APISIX metrics to SkyWalking for analysis and display on UI | |
-| `mesh-with-agent` | Deploy services with java agent in the service mesh environment. | Only support deployment in the Kubernetes environment, docker is not supported. |
-| `promql` | Deploy a Grafana to use promql service and show SkyWalking UI on the Grafana. | Feel free to modify the Grafana config when deploy your own environment. |
+| Name | Description | Note |
+|-------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------|
+| `java-agent-injector` | Use the java agent injector to inject the Skywalking Java agent and deploy microservices with other SkyWalking agent enabled. | The microservices include agents for Java, NodeJS server, browser, Python. |
+| `agent` | Deploy microservices with SkyWalking agent pre-installed. | In Kubernetes scenarios, please use `java-agent-injector` instead of this, if possible. |
+| `cluster` | Deploy SkyWalking OAP in cluster mode, with 2 nodes, and SkyWalking UI. | Only one of `cluster` or `single-node` can be enabled. |
+| `single-node` | Deploy only one single node of SkyWalking OAP, and SkyWalking UI, ElasticSearch as storage. | Only one of `cluster` or `single-node` can be enabled. |
+| `elasticsearch` | Deploy ElasticSearch as storage, you may want to disable this if you want to use your own ElasticSearch deployments. | |
+| `postgresql` | Deploy PostgreSQL as storage, you may want to disable this if you want to use your own PostgreSQL deployments. | |
+| `so11y` | Enable SkyWalking self observability. | This is enabled by default for platform [Docker Compose](#docker-compose). |
+| `vm-monitor` | Start 2 virtual machines and export their metrics to SkyWalking. | The "virtual machines" are mimicked by Docker containers or Pods. |
+| `als` | Start microservices WITHOUT SkyWalking agent enabled, and configure SkyWalking to analyze the topology and metrics from their access logs. | Command `istioctl` is required to run this feature. The agentless microservices will be running at namespace `${NAMESPACE}-agentless` |
+| `kubernetes-monitor` | Deploy OpenTelemetry and export Kubernetes monitoring metrics to SkyWalking for analysis and display on UI. | |
+| `istiod-monitor` | Deploy OpenTelemetry and export Istio control plane metrics to SkyWalking for analysis and display on UI. | |
+| `event` | Deploy tools to trigger events, and SkyWalking Kubernetes event exporter to export events into SkyWalking. | |
+| `satellite` | Deploy SkyWalking Satellite to load balance the monitoring data. | |
+| `function` | Deploy [OpenFunction](https://openfunction.dev/) and export trace to SkyWalking. | Command `helm` is required to run this feature. |
+| `trace-profiling` | Deploy tools to submit trace profiling tasks. | Only support deployment with SkyWalking agents installed, currently Java agent and Python agent support trace profiling. |
+| `rover` | Deploy SkyWalking Rover and detect the processes in the Kubernetes environment. | Only support deployment in the Kubernetes environment, docker is not supported. |
+| `mysql-monitor` | Start a MySQL server and load generator to execute the sample SQLs periodically, set up fluent bit to fetch slow logs and export to OAP, and export their metrics to SkyWalking. | |
+| `postgresql-monitor` | Start a PostgreSQL server, and load generator to execute the sample SQLs periodically, set up fluent bit to fetch slow logs and export to OAP, and export their metrics to SkyWalking. | |
+| `elasticsearch-monitor` | Deploy OpenTelemetry and export Elasticsearch monitoring metrics to SkyWalking for analysis and display on UI. | |
+| `apisix-monitor` | Deploy OpenTelemetry and export APISIX metrics to SkyWalking for analysis and display on UI | |
+| `mesh-with-agent` | Deploy services with java agent in the service mesh environment. | Only support deployment in the Kubernetes environment, docker is not supported. |
+| `promql` | Deploy a Grafana to use promql service and show SkyWalking UI on the Grafana. | Feel free to modify the Grafana config when deploy your own environment. |
### Kubernetes