mirror of
https://gitee.com/dolphinscheduler/DolphinScheduler.git
synced 2024-11-29 18:58:05 +08:00
Add a demo docker-compose for testing the meter module (#6938)
This commit is contained in:
parent
1edd2bd0f6
commit
2de4a3cbb5
@ -34,6 +34,10 @@
|
||||
<groupId>org.apache.dolphinscheduler</groupId>
|
||||
<artifactId>dolphinscheduler-remote</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.dolphinscheduler</groupId>
|
||||
<artifactId>dolphinscheduler-meter</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.dolphinscheduler</groupId>
|
||||
<artifactId>dolphinscheduler-alert-dingtalk</artifactId>
|
||||
|
@ -18,3 +18,15 @@
|
||||
spring:
|
||||
application:
|
||||
name: alert-server
|
||||
|
||||
server:
|
||||
port: 50053
|
||||
|
||||
management:
|
||||
endpoints:
|
||||
web:
|
||||
exposure:
|
||||
include: '*'
|
||||
metrics:
|
||||
tags:
|
||||
application: ${spring.application.name}
|
||||
|
@ -34,6 +34,10 @@
|
||||
<groupId>org.apache.dolphinscheduler</groupId>
|
||||
<artifactId>dolphinscheduler-service</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.dolphinscheduler</groupId>
|
||||
<artifactId>dolphinscheduler-meter</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.dolphinscheduler</groupId>
|
||||
|
@ -38,3 +38,12 @@ spring:
|
||||
max-request-size: 1024MB
|
||||
messages:
|
||||
basename: i18n/messages
|
||||
|
||||
management:
|
||||
endpoints:
|
||||
web:
|
||||
exposure:
|
||||
include: '*'
|
||||
metrics:
|
||||
tags:
|
||||
application: ${spring.application.name}
|
||||
|
@ -35,10 +35,18 @@
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-actuator</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-actuator</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-aop</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.micrometer</groupId>
|
||||
<artifactId>micrometer-registry-prometheus</artifactId>
|
||||
@ -53,6 +61,7 @@
|
||||
<configuration>
|
||||
<excludes>
|
||||
<exclude>grafana/</exclude>
|
||||
<exclude>grafana-demo/</exclude>
|
||||
<exclude>*.yaml</exclude>
|
||||
</excludes>
|
||||
</configuration>
|
||||
|
@ -31,7 +31,6 @@ import io.micrometer.core.aop.TimedAspect;
|
||||
import io.micrometer.core.instrument.MeterRegistry;
|
||||
|
||||
@Configuration
|
||||
@Profile("meter")
|
||||
@EnableAspectJAutoProxy
|
||||
@EnableAutoConfiguration
|
||||
public class MeterConfiguration {
|
||||
|
@ -15,13 +15,9 @@
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
management:
|
||||
endpoints:
|
||||
web:
|
||||
exposure:
|
||||
include: '*'
|
||||
server:
|
||||
port: 5679
|
||||
metrics:
|
||||
tags:
|
||||
application: ${spring.application.name}
|
||||
apiVersion: 1
|
||||
providers:
|
||||
- name: general
|
||||
folder: 'DolphinScheduler'
|
||||
options:
|
||||
path: /dashboards
|
@ -0,0 +1,22 @@
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
|
||||
apiVersion: 1
|
||||
datasources:
|
||||
- name: Prometheus
|
||||
type: prometheus
|
||||
url: http://prom:9090
|
@ -0,0 +1,44 @@
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
|
||||
version: '2.1'
|
||||
|
||||
services:
|
||||
prom:
|
||||
image: prom/prometheus
|
||||
networks: [ test ]
|
||||
ports:
|
||||
- "9090:9090"
|
||||
volumes:
|
||||
- ./prometheus.yml:/etc/prometheus/prometheus.yml
|
||||
command:
|
||||
- --config.file=/etc/prometheus/prometheus.yml
|
||||
|
||||
grafana:
|
||||
image: grafana/grafana
|
||||
networks: [ test ]
|
||||
ports:
|
||||
- "3000:3000"
|
||||
environment:
|
||||
GF_AUTH_ANONYMOUS_ENABLED: true
|
||||
volumes:
|
||||
- ../grafana:/dashboards:ro
|
||||
- ./datasources:/etc/grafana/provisioning/datasources:ro
|
||||
- ./dashboards/provisioning.yaml:/etc/grafana/provisioning/dashboards/provisioning.yaml:ro
|
||||
|
||||
networks:
|
||||
test:
|
@ -0,0 +1,31 @@
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
|
||||
global:
|
||||
scrape_interval: 15s
|
||||
evaluation_interval: 15s
|
||||
rule_files:
|
||||
scrape_configs:
|
||||
- job_name: 'DolphinScheduler'
|
||||
metrics_path: '/actuator/prometheus'
|
||||
scrape_interval: 5s
|
||||
static_configs:
|
||||
- targets:
|
||||
- 'host.docker.internal:5679' # Change the address to the address of DolphinScheduler master server
|
||||
- 'host.docker.internal:1235' # Change the address to the address of DolphinScheduler worker server
|
||||
- 'host.docker.internal:50053' # Change the address to the address of DolphinScheduler alert server
|
||||
- 'host.docker.internal:8080' # Change the address to the DolphinScheduler standalone server
|
@ -34,6 +34,10 @@
|
||||
<groupId>org.apache.dolphinscheduler</groupId>
|
||||
<artifactId>dolphinscheduler-service</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.dolphinscheduler</groupId>
|
||||
<artifactId>dolphinscheduler-meter</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.dolphinscheduler</groupId>
|
||||
<artifactId>dolphinscheduler-spi</artifactId>
|
||||
|
@ -38,15 +38,11 @@ import javax.annotation.PostConstruct;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.WebApplicationType;
|
||||
import org.springframework.boot.builder.SpringApplicationBuilder;
|
||||
import org.springframework.context.annotation.ComponentScan;
|
||||
import org.springframework.context.annotation.FilterType;
|
||||
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
||||
|
||||
/**
|
||||
* master server
|
||||
*/
|
||||
@ComponentScan(value = "org.apache.dolphinscheduler", excludeFilters = {
|
||||
@ComponentScan.Filter(type = FilterType.REGEX, pattern = {
|
||||
"org.apache.dolphinscheduler.server.worker.*",
|
||||
@ -80,7 +76,7 @@ public class MasterServer implements IStoppable {
|
||||
Thread.currentThread().setName(Constants.THREAD_NAME_MASTER_SERVER);
|
||||
new SpringApplicationBuilder(MasterServer.class)
|
||||
.profiles("master")
|
||||
.web(WebApplicationType.NONE).run(args);
|
||||
.run(args);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -44,7 +44,6 @@ import javax.annotation.PostConstruct;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.WebApplicationType;
|
||||
import org.springframework.boot.builder.SpringApplicationBuilder;
|
||||
import org.springframework.context.annotation.ComponentScan;
|
||||
import org.springframework.context.annotation.FilterType;
|
||||
@ -115,7 +114,6 @@ public class WorkerServer implements IStoppable {
|
||||
public static void main(String[] args) {
|
||||
Thread.currentThread().setName(Constants.THREAD_NAME_WORKER_SERVER);
|
||||
new SpringApplicationBuilder(WorkerServer.class)
|
||||
.web(WebApplicationType.NONE)
|
||||
.profiles("worker")
|
||||
.run(args);
|
||||
}
|
||||
|
@ -45,3 +45,15 @@ master:
|
||||
reserved-memory: 0.3
|
||||
# master cache process definition, default: true
|
||||
cache-process-definition: true
|
||||
|
||||
server:
|
||||
port: 5679
|
||||
|
||||
management:
|
||||
endpoints:
|
||||
web:
|
||||
exposure:
|
||||
include: '*'
|
||||
metrics:
|
||||
tags:
|
||||
application: ${spring.application.name}
|
||||
|
@ -38,3 +38,15 @@ worker:
|
||||
- default
|
||||
# alert server listen host
|
||||
alert-listen-host: localhost
|
||||
|
||||
server:
|
||||
port: 1235
|
||||
|
||||
management:
|
||||
endpoints:
|
||||
web:
|
||||
exposure:
|
||||
include: '*'
|
||||
metrics:
|
||||
tags:
|
||||
application: ${spring.application.name}
|
||||
|
@ -18,3 +18,17 @@
|
||||
spring:
|
||||
application:
|
||||
name: standalone-server
|
||||
|
||||
server:
|
||||
port: 12345
|
||||
|
||||
management:
|
||||
endpoints:
|
||||
web:
|
||||
exposure:
|
||||
include: '*'
|
||||
server:
|
||||
port: 8080
|
||||
metrics:
|
||||
tags:
|
||||
application: ${spring.application.name}
|
||||
|
@ -61,9 +61,6 @@ export DOLPHINSCHEDULER_OPTS="-server -XX:MetaspaceSize=128m -XX:MaxMetaspaceSiz
|
||||
|
||||
export dbtype=${dbtype:-"h2"}
|
||||
export SPRING_PROFILES_ACTIVE=${SPRING_PROFILES_ACTIVE:-"default"}
|
||||
if [ "$METER_ENABLED" = "true" ]; then
|
||||
export SPRING_PROFILES_ACTIVE="${SPRING_PROFILES_ACTIVE},meter"
|
||||
fi
|
||||
|
||||
if [ "$command" = "api-server" ]; then
|
||||
LOG_FILE="-Dlogging.config=classpath:logback-api.xml"
|
||||
|
Loading…
Reference in New Issue
Block a user