From b3c7658a0eb5a5acf7b27c8e3fc921589accf922 Mon Sep 17 00:00:00 2001 From: kezhenxu94 Date: Sun, 11 Sep 2022 16:33:53 +0800 Subject: [PATCH] webapp: migrate from Spring Web to Armeria (#9592) --- .github/workflows/skywalking.yaml | 4 +- .licenserc.yaml | 1 + README.md | 8 +- apm-dist/src/main/assembly/binary.xml | 7 +- apm-webapp/pom.xml | 126 +++++++-------- apm-webapp/src/main/assembly/log4j2.xml | 43 +++++ apm-webapp/src/main/assembly/webapp.yml | 45 ------ .../oap/server/webapp/ApplicationStartUp.java | 54 ++++++- .../oap/server/webapp/Configuration.java | 47 ++++++ .../GlobalErrorWebExceptionHandler.java | 54 ------- .../oap/server/webapp/OapProxyService.java | 79 ++++++++++ apm-webapp/src/main/resources/application.yml | 33 +--- .../src/main/resources/log4j2.xml | 20 ++- .../server/webapp/ApplicationContextTest.java | 33 ---- dist-material/bin/webappService.bat | 4 +- dist-material/bin/webappService.sh | 7 +- dist-material/release-docs/LICENSE | 147 +++++++----------- dist-material/release-docs/README.txt | 4 +- docker/ui/Dockerfile | 4 +- docker/ui/docker-entrypoint.sh | 12 +- .../ui/log4j2.xml | 25 ++- docs/en/changes/changes-9.0.0.md | 2 +- docs/en/changes/changes.md | 5 +- docs/en/guides/README.md | 4 +- docs/en/guides/backend-oal-scripts.md | 7 +- docs/en/protocols/README.md | 4 +- docs/en/setup/backend/backend-docker.md | 2 +- .../backend/backend-k8s-network-monitoring.md | 4 +- docs/en/setup/backend/backend-storage.md | 34 ++-- docs/en/setup/backend/ui-setup.md | 25 +-- docs/en/setup/service-agent/server-agents.md | 4 +- oap-server-bom/pom.xml | 19 +-- .../server/core/remote/HTTPServerTest.java | 5 - .../library/server/http/HTTPServer.java | 7 +- .../query-graphql-plugin/pom.xml | 4 - .../query/graphql/resolver/LogTestQuery.java | 2 +- .../resolver/UIConfigurationManagement.java | 6 +- .../src/main/resources/query-protocol | 2 +- .../browser/browser-root.json | 2 +- .../general/general-root.json | 2 +- .../general/general-service.json | 2 +- .../k8s/k8s-root.json | 2 +- .../k8s_service/k8s-service-root.json | 2 +- .../k8s_service/k8s-service-service.json | 2 +- .../mesh/mesh-root.json | 2 +- .../mesh/mesh-service.json | 2 +- .../mesh_cp/mesh-control-plane-root.json | 2 +- .../mesh_dp/mesh-data-plane-root.json | 2 +- .../mesh_dp/mesh-data-plane-service.json | 4 +- .../mysql/mysql-root.json | 4 +- .../os_linux/linux-root.json | 2 +- .../postgresql/postgresql-root.json | 4 +- .../so11y_oap/so11y-service.json | 2 +- .../so11y_satellite/so11y-root.json | 2 +- .../virtual-database-root.json | 2 +- pom.xml | 2 +- 56 files changed, 456 insertions(+), 479 deletions(-) create mode 100644 apm-webapp/src/main/assembly/log4j2.xml delete mode 100644 apm-webapp/src/main/assembly/webapp.yml create mode 100644 apm-webapp/src/main/java/org/apache/skywalking/oap/server/webapp/Configuration.java delete mode 100644 apm-webapp/src/main/java/org/apache/skywalking/oap/server/webapp/GlobalErrorWebExceptionHandler.java create mode 100644 apm-webapp/src/main/java/org/apache/skywalking/oap/server/webapp/OapProxyService.java rename docker/ui/logback.xml => apm-webapp/src/main/resources/log4j2.xml (61%) delete mode 100644 apm-webapp/src/test/java/org/apache/skywalking/oap/server/webapp/ApplicationContextTest.java rename apm-webapp/src/main/resources/logback-spring.xml => docker/ui/log4j2.xml (61%) diff --git a/.github/workflows/skywalking.yaml b/.github/workflows/skywalking.yaml index b86214e3f6..580f52e4e9 100644 --- a/.github/workflows/skywalking.yaml +++ b/.github/workflows/skywalking.yaml @@ -40,7 +40,7 @@ jobs: with: submodules: true - name: Check license header - uses: apache/skywalking-eyes@985866ce7e324454f61e22eb2db2e998db09d6f3 + uses: apache/skywalking-eyes@442d4621d10ae9e92a859d873e6e63664622a50d code-style: if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking') || (github.event_name != 'schedule') @@ -77,7 +77,7 @@ jobs: go-version: "1.16" - name: Check Dependencies Licenses run: | - go install github.com/apache/skywalking-eyes/cmd/license-eye@7a3e90b + go install github.com/apache/skywalking-eyes/cmd/license-eye@442d462 license-eye dependency resolve --summary ./dist-material/release-docs/LICENSE.tpl || exit 1 if [ ! -z "$(git diff -U0 ./dist-material/release-docs/LICENSE)" ]; then echo "LICENSE file is not updated correctly" diff --git a/.licenserc.yaml b/.licenserc.yaml index c57e4a0a24..fa034935e4 100644 --- a/.licenserc.yaml +++ b/.licenserc.yaml @@ -74,6 +74,7 @@ dependency: - skywalking-ui/package.json excludes: - name: org.openjdk.jmh:jmh-core # We don't distribute the dependencies, they are just for the build process + recursive: true - name: org.apache.skywalking:* # Exclude self dependencies licenses: - name: org.slf4j:slf4j-api diff --git a/README.md b/README.md index a410449d1f..e83fc4078d 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ in Cloud Native architecture. The core features are following. - Service, service instance, endpoint(URI) metrics analysis -- Root cause analysis. +- Root cause analysis. - Profile the code on the runtime powered by in-process agent and ebpf profiler. - Network profiler for TCP, TCP/TLS, HTTP(s) traffic - Service topology map analysis @@ -41,7 +41,7 @@ and multiple formats, including 1. Java, .NET Core, NodeJS, PHP, and Python auto-instrument agents. 2. Go, C++, and Rust SDKs. -3. [Agent profiling](https://skywalking.apache.org/docs/main/latest/en/concepts-and-designs/sdk-profiling/) for Java and Python. +3. [Agent profiling](https://skywalking.apache.org/docs/main/next/en/concepts-and-designs/sdk-profiling/) for Java and Python. 4. [ebpf](https://github.com/apache/skywalking-rover) network profling and ON/OFF CPU profiling. 5. LUA agent especially for Nginx, OpenResty and Apache APISIX. 6. Browser agent. @@ -50,7 +50,7 @@ including 9. Logs. 10. Zipkin v1/v2 trace.(No Analysis) -SkyWalking OAP is using the STAM(Streaming Topology Analysis Method) to analysis topology in the tracing based agent scenario +SkyWalking OAP is using the STAM(Streaming Topology Analysis Method) to analysis topology in the tracing based agent scenario for better performance. Read [the paper of STAM](https://wu-sheng.github.io/STAM/) for more details. # Documentation @@ -70,7 +70,7 @@ Please follow the [REPORTING GUIDELINES](https://www.apache.org/foundation/polic # Live Demo - Find the [live demo](https://skywalking.apache.org/#demo) and [screenshots](https://skywalking.apache.org/#arch) on our website. -- Follow the [showcase](https://skywalking.apache.org/docs/skywalking-showcase/latest/readme/) to set up preview deployment quickly. +- Follow the [showcase](https://skywalking.apache.org/docs/skywalking-showcase/next/readme/) to set up preview deployment quickly. # Contact Us * Mail list: **dev@skywalking.apache.org**. Mail to `dev-subscribe@skywalking.apache.org`, follow the reply to subscribe the mail list. diff --git a/apm-dist/src/main/assembly/binary.xml b/apm-dist/src/main/assembly/binary.xml index e92f776671..9f4cef1715 100644 --- a/apm-dist/src/main/assembly/binary.xml +++ b/apm-dist/src/main/assembly/binary.xml @@ -125,7 +125,12 @@ 0644 - ${project.basedir}/../apm-webapp/src/main/assembly/webapp.yml + ${project.basedir}/../apm-webapp/src/main/resources/application.yml + webapp + 0644 + + + ${project.basedir}/../apm-webapp/src/main/assembly/log4j2.xml webapp 0644 diff --git a/apm-webapp/pom.xml b/apm-webapp/pom.xml index 9eb57571cd..686be7e0cc 100644 --- a/apm-webapp/pom.xml +++ b/apm-webapp/pom.xml @@ -31,15 +31,7 @@ 1.8 UTF-8 - 2.6.6 - 2.9.0 - 4.5.13 - 2021.0.2 1.12.1 - 1.2.11 - 2.13.2.2 - 1.31 - 4.1.77.Final ${project.parent.basedir}/skywalking-ui @@ -47,16 +39,9 @@ - org.springframework.cloud - spring-cloud-dependencies - ${spring-cloud-dependencies.version} - pom - import - - - io.netty - netty-bom - ${netty.version} + org.apache.skywalking + oap-server-bom + ${project.version} import pom @@ -65,69 +50,41 @@ - org.springframework.cloud - spring-cloud-starter-gateway + org.yaml + snakeyaml - org.springframework.cloud - spring-cloud-starter-loadbalancer + org.slf4j + slf4j-api + + + org.slf4j + log4j-over-slf4j + + + org.apache.logging.log4j + log4j-core + + + org.apache.logging.log4j + log4j-slf4j-impl - org.springframework.boot - spring-boot-starter-actuator - ${spring.boot.version} + com.linecorp.armeria + armeria - com.fasterxml.jackson.core - jackson-databind + com.aayushatharva.brotli4j + native-linux-x86_64 - org.springframework.boot - spring-boot-starter-logging + com.aayushatharva.brotli4j + native-osx-x86_64 - - - com.fasterxml.jackson.core - jackson-databind - ${jackson-version} - - - com.google.code.gson - gson - ${gson.version} - - - org.apache.httpcomponents - httpclient - ${apache-httpclient.version} - - - ch.qos.logback - logback-classic - ${logback-classic.version} - - - org.yaml - snakeyaml - ${yaml.version} - - - org.springframework.boot - spring-boot-starter-test - ${spring.boot.version} - test - - - - com.sun.activation - javax.activation - 1.2.0 - provided - @@ -194,19 +151,40 @@ - org.springframework.boot - spring-boot-maven-plugin - ${spring.boot.version} + org.apache.maven.plugins + maven-assembly-plugin + 3.4.2 + + + jar-with-dependencies + + + + org.apache.skywalking.oap.server.webapp.ApplicationStartUp + + + false + + make-assembly + package - - repackage - + single + + + maven-jar-plugin + + + application.yml + log4j2.xml + + + diff --git a/apm-webapp/src/main/assembly/log4j2.xml b/apm-webapp/src/main/assembly/log4j2.xml new file mode 100644 index 0000000000..40fdfb9f96 --- /dev/null +++ b/apm-webapp/src/main/assembly/log4j2.xml @@ -0,0 +1,43 @@ + + + + + + ${sys:webapp.logDir} + + + + + %d - %c - %L [%t] %-5p %x - %m%n + + + + + + + + + + + + + + + diff --git a/apm-webapp/src/main/assembly/webapp.yml b/apm-webapp/src/main/assembly/webapp.yml deleted file mode 100644 index 301a3470e5..0000000000 --- a/apm-webapp/src/main/assembly/webapp.yml +++ /dev/null @@ -1,45 +0,0 @@ -# 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. - -server: - port: 8080 - -spring: - cloud: - gateway: - routes: - - id: oap-route - uri: lb://oap-service - predicates: - - Path=/graphql/** - discovery: - client: - simple: - instances: - oap-service: - - uri: http://127.0.0.1:12800 - # - uri: http://: - # - uri: http://: - - mvc: - throw-exception-if-no-handler-found: true - - web: - resources: - add-mappings: true - -management: - server: - base-path: /manage diff --git a/apm-webapp/src/main/java/org/apache/skywalking/oap/server/webapp/ApplicationStartUp.java b/apm-webapp/src/main/java/org/apache/skywalking/oap/server/webapp/ApplicationStartUp.java index 8906ae7451..4ef5e9d799 100644 --- a/apm-webapp/src/main/java/org/apache/skywalking/oap/server/webapp/ApplicationStartUp.java +++ b/apm-webapp/src/main/java/org/apache/skywalking/oap/server/webapp/ApplicationStartUp.java @@ -18,12 +18,56 @@ package org.apache.skywalking.oap.server.webapp; -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; +import static org.yaml.snakeyaml.env.EnvScalarConstructor.ENV_FORMAT; +import static org.yaml.snakeyaml.env.EnvScalarConstructor.ENV_TAG; + +import java.util.Collections; + +import org.yaml.snakeyaml.LoaderOptions; +import org.yaml.snakeyaml.TypeDescription; +import org.yaml.snakeyaml.Yaml; +import org.yaml.snakeyaml.env.EnvScalarConstructor; + +import com.linecorp.armeria.common.SessionProtocol; +import com.linecorp.armeria.server.HttpService; +import com.linecorp.armeria.server.Server; +import com.linecorp.armeria.server.file.FileService; +import com.linecorp.armeria.server.file.HttpFile; +import com.linecorp.armeria.server.healthcheck.HealthCheckService; -@SpringBootApplication public class ApplicationStartUp { - public static void main(String[] args) { - SpringApplication.run(ApplicationStartUp.class, args); + public static void main(String[] args) throws Exception { + final Yaml yaml = new Yaml( + new EnvScalarConstructor( + new TypeDescription(Configuration.class), + Collections.emptyList(), + new LoaderOptions())); + yaml.addImplicitResolver(ENV_TAG, ENV_FORMAT, "$"); + + final Configuration configuration = yaml.loadAs( + ApplicationStartUp.class.getResourceAsStream("/application.yml"), + Configuration.class); + + final int port = configuration.port(); + final String[] oapServices = configuration.oapServices(); + + final HttpService indexPage = + HttpFile + .of(ApplicationStartUp.class.getClassLoader(), "/public/index.html") + .asService(); + + Server + .builder() + .port(port, SessionProtocol.HTTP) + .service("/graphql", new OapProxyService(oapServices)) + .service("/internal/l7check", HealthCheckService.of()) + .serviceUnder("/", + FileService.of( + ApplicationStartUp.class.getClassLoader(), + "/public") + .orElse(indexPage)) + .build() + .start() + .join(); } } diff --git a/apm-webapp/src/main/java/org/apache/skywalking/oap/server/webapp/Configuration.java b/apm-webapp/src/main/java/org/apache/skywalking/oap/server/webapp/Configuration.java new file mode 100644 index 0000000000..ae61a5499f --- /dev/null +++ b/apm-webapp/src/main/java/org/apache/skywalking/oap/server/webapp/Configuration.java @@ -0,0 +1,47 @@ +/* + * 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. + */ + +package org.apache.skywalking.oap.server.webapp; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class Configuration { + private String serverPort; + private String oapServices; + + public int port() { + return serverPort == null || serverPort.trim().length() == 0 + ? 80 + : Integer.parseInt(serverPort); + } + + public String[] oapServices() { + if (oapServices == null || oapServices.trim().length() == 0) { + throw new IllegalArgumentException("oapServices cannot be null or empty"); + } + return oapServices.split(","); + } +} diff --git a/apm-webapp/src/main/java/org/apache/skywalking/oap/server/webapp/GlobalErrorWebExceptionHandler.java b/apm-webapp/src/main/java/org/apache/skywalking/oap/server/webapp/GlobalErrorWebExceptionHandler.java deleted file mode 100644 index 7119939e4b..0000000000 --- a/apm-webapp/src/main/java/org/apache/skywalking/oap/server/webapp/GlobalErrorWebExceptionHandler.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * 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. - * - */ - -package org.apache.skywalking.oap.server.webapp; - -import java.io.IOException; -import lombok.extern.slf4j.Slf4j; -import org.springframework.boot.web.reactive.error.ErrorWebExceptionHandler; -import org.springframework.context.annotation.Configuration; -import org.springframework.core.annotation.Order; -import org.springframework.core.io.ClassPathResource; -import org.springframework.core.io.buffer.DataBufferFactory; -import org.springframework.http.MediaType; -import org.springframework.http.server.reactive.ServerHttpResponse; -import org.springframework.util.StreamUtils; -import org.springframework.web.server.ServerWebExchange; -import reactor.core.publisher.Mono; - -@Slf4j -@Order(-1) -@Configuration -public class GlobalErrorWebExceptionHandler implements ErrorWebExceptionHandler { - - @Override - public Mono handle(ServerWebExchange exchange, Throwable ex) { - ServerHttpResponse response = exchange.getResponse(); - response.getHeaders().setContentType(MediaType.TEXT_HTML); - return response.writeWith(Mono.fromSupplier(() -> { - DataBufferFactory bufferFactory = response.bufferFactory(); - try { - return bufferFactory.wrap(StreamUtils.copyToByteArray( - new ClassPathResource("/public/index.html").getInputStream())); - } catch (IOException e) { - log.error("There was an error completing the action.", ex); - return bufferFactory.wrap(new byte[0]); - } - })); - } -} \ No newline at end of file diff --git a/apm-webapp/src/main/java/org/apache/skywalking/oap/server/webapp/OapProxyService.java b/apm-webapp/src/main/java/org/apache/skywalking/oap/server/webapp/OapProxyService.java new file mode 100644 index 0000000000..bffd1a53ec --- /dev/null +++ b/apm-webapp/src/main/java/org/apache/skywalking/oap/server/webapp/OapProxyService.java @@ -0,0 +1,79 @@ +/* + * 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. + */ + +package org.apache.skywalking.oap.server.webapp; + +import static java.util.stream.Collectors.toList; +import java.net.URI; +import java.time.Duration; +import java.util.List; +import java.util.stream.Stream; +import com.linecorp.armeria.client.Endpoint; +import com.linecorp.armeria.client.WebClient; +import com.linecorp.armeria.client.endpoint.EndpointGroup; +import com.linecorp.armeria.client.endpoint.EndpointSelectionStrategy; +import com.linecorp.armeria.client.endpoint.healthcheck.HealthCheckedEndpointGroup; +import com.linecorp.armeria.client.logging.LoggingClient; +import com.linecorp.armeria.common.HttpRequest; +import com.linecorp.armeria.common.HttpResponse; +import com.linecorp.armeria.common.SessionProtocol; +import com.linecorp.armeria.server.AbstractHttpService; +import com.linecorp.armeria.server.ServiceRequestContext; +import lombok.SneakyThrows; + +public final class OapProxyService extends AbstractHttpService { + private final WebClient loadBalancingClient; + + public OapProxyService(String[] oapServices) throws Exception { + final List endpoints = + Stream + .of(oapServices) + .map(URI::create) + .map(URI::getAuthority) + .map(Endpoint::parse) + .collect(toList()); + loadBalancingClient = newLoadBalancingClient( + EndpointGroup.of( + EndpointSelectionStrategy.roundRobin(), + endpoints)); + } + + @SneakyThrows + private static WebClient newLoadBalancingClient(EndpointGroup oapGroup) { + final HealthCheckedEndpointGroup healthCheckedGroup = + HealthCheckedEndpointGroup + .builder(oapGroup, "/internal/l7check") + .protocol(SessionProtocol.HTTP) + .retryInterval(Duration.ofSeconds(10)) + .build(); + + // Wait until the initial health check is finished. + healthCheckedGroup.whenReady().get(); + + return WebClient + .builder(SessionProtocol.HTTP, oapGroup) + .decorator(LoggingClient.newDecorator()) + .build(); + } + + @Override + protected HttpResponse doPost(ServiceRequestContext ctx, HttpRequest req) throws Exception { + return loadBalancingClient.execute(req); + } +} diff --git a/apm-webapp/src/main/resources/application.yml b/apm-webapp/src/main/resources/application.yml index 12bb6d9de9..67630f83a8 100755 --- a/apm-webapp/src/main/resources/application.yml +++ b/apm-webapp/src/main/resources/application.yml @@ -14,34 +14,7 @@ # limitations under the License. -server: - port: 8080 - compression: - enabled: true -spring: - cloud: - gateway: - routes: - - id: oap-route - uri: lb://oap-service - predicates: - - Path=/graphql/** - discovery: - client: - simple: - instances: - oap-service: - - uri: http://127.0.0.1:12800 - # - uri: http://: - # - uri: http://: +serverPort: ${SW_SERVER_PORT:-8080} - mvc: - throw-exception-if-no-handler-found: true - - web: - resources: - add-mappings: true - -management: - server: - base-path: /manage +# Comma seperated list of OAP addresses. +oapServices: ${SW_OAP_ADDRESS:-localhost:12800} diff --git a/docker/ui/logback.xml b/apm-webapp/src/main/resources/log4j2.xml similarity index 61% rename from docker/ui/logback.xml rename to apm-webapp/src/main/resources/log4j2.xml index c9490a87b2..2ae28179ed 100644 --- a/docker/ui/logback.xml +++ b/apm-webapp/src/main/resources/log4j2.xml @@ -16,6 +16,20 @@ ~ limitations under the License. ~ --> - - - \ No newline at end of file + + + + + + + + + + + + + + + + + diff --git a/apm-webapp/src/test/java/org/apache/skywalking/oap/server/webapp/ApplicationContextTest.java b/apm-webapp/src/test/java/org/apache/skywalking/oap/server/webapp/ApplicationContextTest.java deleted file mode 100644 index 693d1840d7..0000000000 --- a/apm-webapp/src/test/java/org/apache/skywalking/oap/server/webapp/ApplicationContextTest.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * 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. - */ - -package org.apache.skywalking.oap.server.webapp; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; - -@SpringBootTest -@RunWith(SpringRunner.class) -public class ApplicationContextTest { - - @Test - public void contextShouldLoad() { - } - -} \ No newline at end of file diff --git a/dist-material/bin/webappService.bat b/dist-material/bin/webappService.bat index a1ca98c068..e5629bfece 100644 --- a/dist-material/bin/webappService.bat +++ b/dist-material/bin/webappService.bat @@ -26,8 +26,6 @@ if not exist "%WEBAPP_LOG_DIR%" ( mkdir "%WEBAPP_LOG_DIR%" ) -set LOG_FILE_LOCATION=%WEBAPP_LOG_DIR%\webapp.log - if defined JAVA_HOME ( set _EXECJAVA="%JAVA_HOME%\bin\java" ) @@ -37,5 +35,5 @@ if not defined JAVA_HOME ( set _EXECJAVA=java ) -start "%WEBAPP_PROCESS_TITLE%" %_EXECJAVA% -jar %JARPATH%/skywalking-webapp.jar --spring.config.location=%JARPATH%/webapp.yml --logging.file=%LOG_FILE_LOCATION% +start "%WEBAPP_PROCESS_TITLE%" %_EXECJAVA% -Dwebapp.logDir=%WEBAPP_LOG_DIR% -cp %JARPATH%/skywalking-webapp.jar;%JARPATH% org.apache.skywalking.oap.server.webapp.ApplicationStartUp endlocal diff --git a/dist-material/bin/webappService.sh b/dist-material/bin/webappService.sh index dde778c57a..9766a94542 100644 --- a/dist-material/bin/webappService.sh +++ b/dist-material/bin/webappService.sh @@ -20,7 +20,7 @@ PRGDIR=$(dirname "$PRG") [ -z "$WEBAPP_HOME" ] && WEBAPP_HOME=$(cd "$PRGDIR/.." > /dev/null || exit 1; pwd) WEBAPP_LOG_DIR="${WEBAPP_LOG_DIR:-${WEBAPP_HOME}/logs}" -JAVA_OPTS="${JAVA_OPTS:- -Xms256M -Xmx512M}" +JAVA_OPTS="${JAVA_OPTS:- -Xms256M -Xmx512M} -Dwebapp.logDir=${WEBAPP_LOG_DIR}" JAR_PATH="${WEBAPP_HOME}/webapp" if [ ! -d "${WEBAPP_LOG_DIR}" ]; then @@ -32,9 +32,8 @@ LOG_FILE_LOCATION=${WEBAPP_LOG_DIR}/webapp.log _RUNJAVA=${JAVA_HOME}/bin/java [ -z "$JAVA_HOME" ] && _RUNJAVA=java -eval exec "\"$_RUNJAVA\" ${JAVA_OPTS} -jar ${JAR_PATH}/skywalking-webapp.jar \ - --spring.config.location=${JAR_PATH}/webapp.yml \ - --logging.file=${LOG_FILE_LOCATION} \ +eval exec "\"$_RUNJAVA\" ${JAVA_OPTS} -cp ${JAR_PATH}/skywalking-webapp.jar:$JAR_PATH \ + org.apache.skywalking.oap.server.webapp.ApplicationStartUp \ 2>${WEBAPP_LOG_DIR}/webapp-console.log 1> /dev/null &" if [ $? -eq 0 ]; then diff --git a/dist-material/release-docs/LICENSE b/dist-material/release-docs/LICENSE index 4a54d6a606..36e206d39d 100755 --- a/dist-material/release-docs/LICENSE +++ b/dist-material/release-docs/LICENSE @@ -214,18 +214,18 @@ The text of each license is the standard Apache 2.0 license. https://mvnrepository.com/artifact/com.alibaba.nacos/nacos-common/1.4.2 Apache-2.0 https://mvnrepository.com/artifact/com.ctrip.framework.apollo/apollo-client/1.8.0 Apache-2.0 https://mvnrepository.com/artifact/com.ctrip.framework.apollo/apollo-core/1.8.0 Apache-2.0 - https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations/2.13.2 Apache-2.0 - https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core/2.13.2 Apache-2.0 - https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind/2.13.2.2 Apache-2.0 + https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations/2.13.4 Apache-2.0 + https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations/2.13.3 Apache-2.0 + https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core/2.13.4 Apache-2.0 + https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core/2.13.3 Apache-2.0 + https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind/2.13.4 Apache-2.0 + https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind/2.13.3 Apache-2.0 https://mvnrepository.com/artifact/com.fasterxml.jackson.datatype/jackson-datatype-guava/2.9.10 Apache-2.0 https://mvnrepository.com/artifact/com.fasterxml.jackson.datatype/jackson-datatype-guava/2.9.5 Apache-2.0 https://mvnrepository.com/artifact/com.fasterxml.jackson.datatype/jackson-datatype-jdk8/2.9.10 Apache-2.0 https://mvnrepository.com/artifact/com.fasterxml.jackson.datatype/jackson-datatype-jdk8/2.13.1 Apache-2.0 https://mvnrepository.com/artifact/com.fasterxml.jackson.datatype/jackson-datatype-jdk8/2.9.5 Apache-2.0 - https://mvnrepository.com/artifact/com.fasterxml.jackson.datatype/jackson-datatype-jdk8/2.13.2 Apache-2.0 - https://mvnrepository.com/artifact/com.fasterxml.jackson.datatype/jackson-datatype-jsr310/2.13.2 Apache-2.0 https://mvnrepository.com/artifact/com.fasterxml.jackson.module/jackson-module-kotlin/2.13.1 Apache-2.0 - https://mvnrepository.com/artifact/com.fasterxml.jackson.module/jackson-module-parameter-names/2.13.2 Apache-2.0 https://mvnrepository.com/artifact/com.fasterxml/classmate/1.5.1 Apache-2.0 https://mvnrepository.com/artifact/com.google.android/annotations/4.1.1.4 Apache-2.0 https://mvnrepository.com/artifact/com.google.api.grpc/proto-google-common-protos/2.9.0 Apache-2.0 @@ -242,10 +242,10 @@ The text of each license is the standard Apache 2.0 license. https://mvnrepository.com/artifact/com.google.inject/guice/4.1.0 Apache-2.0 https://mvnrepository.com/artifact/com.google.j2objc/j2objc-annotations/1.3 Apache-2.0 https://mvnrepository.com/artifact/com.graphql-java/java-dataloader/3.1.0 Apache-2.0 - https://mvnrepository.com/artifact/com.linecorp.armeria/armeria/1.16.0 Apache-2.0 - https://mvnrepository.com/artifact/com.linecorp.armeria/armeria-graphql/1.16.0 Apache-2.0 - https://mvnrepository.com/artifact/com.linecorp.armeria/armeria-graphql-protocol/1.16.0 Apache-2.0 - https://mvnrepository.com/artifact/com.linecorp.armeria/armeria-protobuf/1.16.0 Apache-2.0 + https://mvnrepository.com/artifact/com.linecorp.armeria/armeria/1.18.0 Apache-2.0 + https://mvnrepository.com/artifact/com.linecorp.armeria/armeria-graphql/1.18.0 Apache-2.0 + https://mvnrepository.com/artifact/com.linecorp.armeria/armeria-graphql-protocol/1.18.0 Apache-2.0 + https://mvnrepository.com/artifact/com.linecorp.armeria/armeria-protobuf/1.18.0 Apache-2.0 https://mvnrepository.com/artifact/com.orbitz.consul/consul-client/1.4.2 Apache-2.0 https://mvnrepository.com/artifact/com.orbitz.consul/consul-client/1.2.6 Apache-2.0 https://mvnrepository.com/artifact/com.squareup.okhttp3/logging-interceptor/4.9.2 Apache-2.0 @@ -257,10 +257,10 @@ The text of each license is the standard Apache 2.0 license. https://mvnrepository.com/artifact/com.squareup.retrofit2/converter-jackson/2.3.0 Apache-2.0 https://mvnrepository.com/artifact/com.squareup.retrofit2/retrofit/2.5.0 Apache-2.0 https://mvnrepository.com/artifact/com.squareup.retrofit2/retrofit/2.3.0 Apache-2.0 - https://mvnrepository.com/artifact/com.stoyanr/evictor/1.0.0 Apache-2.0 https://mvnrepository.com/artifact/com.zaxxer/HikariCP/3.1.0 Apache-2.0 https://mvnrepository.com/artifact/commons-beanutils/commons-beanutils/1.9.4 Apache-2.0 https://mvnrepository.com/artifact/commons-codec/commons-codec/1.11 Apache-2.0 + https://mvnrepository.com/artifact/commons-codec/commons-codec/1.15 Apache-2.0 https://mvnrepository.com/artifact/commons-io/commons-io/2.7 Apache-2.0 https://mvnrepository.com/artifact/commons-logging/commons-logging/1.2 Apache-2.0 https://npmjs.com/package/d3-flame-graph/v/4.1.3 4.1.3 Apache-2.0 @@ -280,43 +280,54 @@ The text of each license is the standard Apache 2.0 license. https://mvnrepository.com/artifact/io.kubernetes/client-java/16.0.0 Apache-2.0 https://mvnrepository.com/artifact/io.kubernetes/client-java-api/16.0.0 Apache-2.0 https://mvnrepository.com/artifact/io.kubernetes/client-java-proto/16.0.0 Apache-2.0 - https://mvnrepository.com/artifact/io.micrometer/micrometer-core/1.8.5 Apache-2.0 - https://mvnrepository.com/artifact/io.micrometer/micrometer-core/1.8.4 Apache-2.0 + https://mvnrepository.com/artifact/io.micrometer/micrometer-core/1.9.2 Apache-2.0 https://mvnrepository.com/artifact/io.netty/netty-buffer/4.1.77.Final Apache-2.0 + https://mvnrepository.com/artifact/io.netty/netty-buffer/4.1.81.Final Apache-2.0 https://mvnrepository.com/artifact/io.netty/netty-codec/4.1.77.Final Apache-2.0 - https://mvnrepository.com/artifact/io.netty/netty-codec-dns/4.1.77.Final Apache-2.0 - https://mvnrepository.com/artifact/io.netty/netty-codec-dns/4.1.76.Final Apache-2.0 - https://mvnrepository.com/artifact/io.netty/netty-codec-haproxy/4.1.77.Final Apache-2.0 - https://mvnrepository.com/artifact/io.netty/netty-codec-haproxy/4.1.76.Final Apache-2.0 + https://mvnrepository.com/artifact/io.netty/netty-codec/4.1.81.Final Apache-2.0 + https://mvnrepository.com/artifact/io.netty/netty-codec-dns/4.1.81.Final Apache-2.0 + https://mvnrepository.com/artifact/io.netty/netty-codec-dns/4.1.79.Final Apache-2.0 + https://mvnrepository.com/artifact/io.netty/netty-codec-haproxy/4.1.81.Final Apache-2.0 + https://mvnrepository.com/artifact/io.netty/netty-codec-haproxy/4.1.79.Final Apache-2.0 https://mvnrepository.com/artifact/io.netty/netty-codec-http/4.1.77.Final Apache-2.0 + https://mvnrepository.com/artifact/io.netty/netty-codec-http/4.1.81.Final Apache-2.0 https://mvnrepository.com/artifact/io.netty/netty-codec-http2/4.1.77.Final Apache-2.0 + https://mvnrepository.com/artifact/io.netty/netty-codec-http2/4.1.81.Final Apache-2.0 https://mvnrepository.com/artifact/io.netty/netty-codec-socks/4.1.77.Final Apache-2.0 + https://mvnrepository.com/artifact/io.netty/netty-codec-socks/4.1.81.Final Apache-2.0 https://mvnrepository.com/artifact/io.netty/netty-common/4.1.77.Final Apache-2.0 + https://mvnrepository.com/artifact/io.netty/netty-common/4.1.81.Final Apache-2.0 https://mvnrepository.com/artifact/io.netty/netty-handler/4.1.77.Final Apache-2.0 + https://mvnrepository.com/artifact/io.netty/netty-handler/4.1.81.Final Apache-2.0 https://mvnrepository.com/artifact/io.netty/netty-handler-proxy/4.1.77.Final Apache-2.0 + https://mvnrepository.com/artifact/io.netty/netty-handler-proxy/4.1.81.Final Apache-2.0 https://mvnrepository.com/artifact/io.netty/netty-resolver/4.1.77.Final Apache-2.0 - https://mvnrepository.com/artifact/io.netty/netty-resolver-dns/4.1.77.Final Apache-2.0 - https://mvnrepository.com/artifact/io.netty/netty-resolver-dns/4.1.76.Final Apache-2.0 - https://mvnrepository.com/artifact/io.netty/netty-resolver-dns-classes-macos/4.1.77.Final Apache-2.0 - https://mvnrepository.com/artifact/io.netty/netty-resolver-dns-classes-macos/4.1.76.Final Apache-2.0 - https://mvnrepository.com/artifact/io.netty/netty-resolver-dns-native-macos/4.1.77.Final Apache-2.0 - https://mvnrepository.com/artifact/io.netty/netty-resolver-dns-native-macos/4.1.76.Final Apache-2.0 + https://mvnrepository.com/artifact/io.netty/netty-resolver/4.1.81.Final Apache-2.0 + https://mvnrepository.com/artifact/io.netty/netty-resolver/4.1.79.Final Apache-2.0 + https://mvnrepository.com/artifact/io.netty/netty-resolver-dns/4.1.81.Final Apache-2.0 + https://mvnrepository.com/artifact/io.netty/netty-resolver-dns/4.1.79.Final Apache-2.0 + https://mvnrepository.com/artifact/io.netty/netty-resolver-dns-classes-macos/4.1.81.Final Apache-2.0 + https://mvnrepository.com/artifact/io.netty/netty-resolver-dns-classes-macos/4.1.79.Final Apache-2.0 + https://mvnrepository.com/artifact/io.netty/netty-resolver-dns-native-macos/4.1.81.Final Apache-2.0 + https://mvnrepository.com/artifact/io.netty/netty-resolver-dns-native-macos/4.1.79.Final Apache-2.0 https://mvnrepository.com/artifact/io.netty/netty-tcnative-boringssl-static/2.0.52.Final Apache-2.0 - https://mvnrepository.com/artifact/io.netty/netty-tcnative-boringssl-static/2.0.51.Final Apache-2.0 + https://mvnrepository.com/artifact/io.netty/netty-tcnative-boringssl-static/2.0.54.Final Apache-2.0 + https://mvnrepository.com/artifact/io.netty/netty-tcnative-boringssl-static/2.0.53.Final Apache-2.0 https://mvnrepository.com/artifact/io.netty/netty-tcnative-classes/2.0.52.Final Apache-2.0 + https://mvnrepository.com/artifact/io.netty/netty-tcnative-classes/2.0.54.Final Apache-2.0 + https://mvnrepository.com/artifact/io.netty/netty-tcnative-classes/2.0.53.Final Apache-2.0 https://mvnrepository.com/artifact/io.netty/netty-transport/4.1.77.Final Apache-2.0 - https://mvnrepository.com/artifact/io.netty/netty-transport-classes-epoll/4.1.77.Final Apache-2.0 - https://mvnrepository.com/artifact/io.netty/netty-transport-classes-epoll/4.1.76.Final Apache-2.0 - https://mvnrepository.com/artifact/io.netty/netty-transport-native-epoll/4.1.77.Final Apache-2.0 - https://mvnrepository.com/artifact/io.netty/netty-transport-native-epoll/4.1.76.Final Apache-2.0 + https://mvnrepository.com/artifact/io.netty/netty-transport/4.1.81.Final Apache-2.0 + https://mvnrepository.com/artifact/io.netty/netty-transport/4.1.79.Final Apache-2.0 + https://mvnrepository.com/artifact/io.netty/netty-transport-classes-epoll/4.1.81.Final Apache-2.0 + https://mvnrepository.com/artifact/io.netty/netty-transport-classes-epoll/4.1.79.Final Apache-2.0 + https://mvnrepository.com/artifact/io.netty/netty-transport-native-epoll/4.1.81.Final Apache-2.0 https://mvnrepository.com/artifact/io.netty/netty-transport-native-epoll/4.1.45.Final Apache-2.0 + https://mvnrepository.com/artifact/io.netty/netty-transport-native-epoll/4.1.79.Final Apache-2.0 https://mvnrepository.com/artifact/io.netty/netty-transport-native-unix-common/4.1.77.Final Apache-2.0 - https://mvnrepository.com/artifact/io.netty/netty-transport-native-unix-common/4.1.76.Final Apache-2.0 + https://mvnrepository.com/artifact/io.netty/netty-transport-native-unix-common/4.1.81.Final Apache-2.0 + https://mvnrepository.com/artifact/io.netty/netty-transport-native-unix-common/4.1.79.Final Apache-2.0 https://mvnrepository.com/artifact/io.perfmark/perfmark-api/0.25.0 Apache-2.0 - https://mvnrepository.com/artifact/io.projectreactor.addons/reactor-extra/3.4.8 Apache-2.0 - https://mvnrepository.com/artifact/io.projectreactor.netty/reactor-netty-core/1.0.18 Apache-2.0 - https://mvnrepository.com/artifact/io.projectreactor.netty/reactor-netty-http/1.0.18 Apache-2.0 - https://mvnrepository.com/artifact/io.projectreactor/reactor-core/3.4.17 Apache-2.0 https://mvnrepository.com/artifact/io.prometheus/simpleclient/0.6.0 Apache-2.0 https://mvnrepository.com/artifact/io.prometheus/simpleclient_common/0.15.0 Apache-2.0 https://mvnrepository.com/artifact/io.prometheus/simpleclient_common/0.6.0 Apache-2.0 @@ -326,7 +337,6 @@ The text of each license is the standard Apache 2.0 license. https://mvnrepository.com/artifact/io.vavr/vavr/0.10.3 Apache-2.0 https://mvnrepository.com/artifact/io.vavr/vavr-match/0.10.3 Apache-2.0 https://mvnrepository.com/artifact/io.zipkin.zipkin2/zipkin/2.23.16 Apache-2.0 - https://mvnrepository.com/artifact/jakarta.validation/jakarta.validation-api/2.0.2 Apache-2.0 https://mvnrepository.com/artifact/javax.inject/javax.inject/1 Apache-2.0 https://mvnrepository.com/artifact/joda-time/joda-time/2.10.5 Apache-2.0 https://mvnrepository.com/artifact/net.jodah/failsafe/2.3.4 Apache-2.0 @@ -345,15 +355,12 @@ The text of each license is the standard Apache 2.0 license. https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-api/2.17.1 Apache-2.0 https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core/2.17.1 Apache-2.0 https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-slf4j-impl/2.17.1 Apache-2.0 - https://mvnrepository.com/artifact/org.apache.tomcat.embed/tomcat-embed-el/9.0.62 Apache-2.0 https://mvnrepository.com/artifact/org.apache.yetus/audience-annotations/0.5.0 Apache-2.0 https://mvnrepository.com/artifact/org.apache.zookeeper/zookeeper/3.5.7 Apache-2.0 https://mvnrepository.com/artifact/org.apache.zookeeper/zookeeper-jute/3.5.7 Apache-2.0 https://mvnrepository.com/artifact/org.bitbucket.b_c/jose4j/0.7.12 Apache-2.0 https://mvnrepository.com/artifact/org.codehaus.groovy/groovy/3.0.8 Apache-2.0 https://mvnrepository.com/artifact/org.freemarker/freemarker/2.3.31 Apache-2.0 - https://mvnrepository.com/artifact/org.hibernate.validator/hibernate-validator/6.2.3.Final Apache-2.0 - https://mvnrepository.com/artifact/org.jboss.logging/jboss-logging/3.4.1.Final Apache-2.0 https://mvnrepository.com/artifact/org.jetbrains.kotlin/kotlin-reflect/1.5.0 Apache-2.0 https://mvnrepository.com/artifact/org.jetbrains.kotlin/kotlin-stdlib/1.4.10 Apache-2.0 https://mvnrepository.com/artifact/org.jetbrains.kotlin/kotlin-stdlib/1.5.0 Apache-2.0 @@ -373,48 +380,10 @@ The text of each license is the standard Apache 2.0 license. https://mvnrepository.com/artifact/org.slf4j/jcl-over-slf4j/1.7.30 Apache-2.0 https://mvnrepository.com/artifact/org.slf4j/log4j-over-slf4j/1.7.30 Apache-2.0 https://mvnrepository.com/artifact/org.slf4j/slf4j-api/1.7.30 Apache-2.0 - https://mvnrepository.com/artifact/org.slf4j/slf4j-api/1.7.32 Apache-2.0 - https://mvnrepository.com/artifact/org.springframework.boot/spring-boot/2.6.6 Apache-2.0 - https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-actuator/2.6.6 Apache-2.0 - https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-actuator-autoconfigure/2.6.6 Apache-2.0 - https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-autoconfigure/2.6.6 Apache-2.0 - https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter/2.6.6 Apache-2.0 - https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-actuator/2.6.6 Apache-2.0 - https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-cache/2.6.7 Apache-2.0 - https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-json/2.6.7 Apache-2.0 - https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-reactor-netty/2.6.7 Apache-2.0 - https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-validation/2.6.7 Apache-2.0 - https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-webflux/2.6.7 Apache-2.0 - https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-commons/3.1.2 Apache-2.0 - https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-context/3.1.2 Apache-2.0 - https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-gateway-server/3.1.2 Apache-2.0 - https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-loadbalancer/3.1.2 Apache-2.0 - https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter/3.1.2 Apache-2.0 - https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-gateway/3.1.2 Apache-2.0 - https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-loadbalancer/3.1.2 Apache-2.0 - https://mvnrepository.com/artifact/org.springframework.security/spring-security-crypto/5.6.3 Apache-2.0 - https://mvnrepository.com/artifact/org.springframework.security/spring-security-rsa/1.0.10.RELEASE Apache-2.0 https://mvnrepository.com/artifact/org.xerial.snappy/snappy-java/1.1.7.3 Apache-2.0 https://mvnrepository.com/artifact/org.yaml/snakeyaml/1.31 Apache-2.0 https://npmjs.com/package/typescript/v/4.4.4 4.4.4 Apache-2.0 -======================================================================== -Apache-2.0 and BSD-3-Clause licenses -======================================================================== -The following components are provided under the Apache-2.0 and BSD-3-Clause License. See project link for details. -The text of each license is also included in licenses/LICENSE-[project].txt. - - https://mvnrepository.com/artifact/com.fasterxml.jackson.module/jackson-module-afterburner/2.12.2 Apache-2.0 and BSD-3-Clause - https://mvnrepository.com/artifact/org.springframework/spring-aop/5.3.19 Apache-2.0 and BSD-3-Clause - https://mvnrepository.com/artifact/org.springframework/spring-beans/5.3.19 Apache-2.0 and BSD-3-Clause - https://mvnrepository.com/artifact/org.springframework/spring-context/5.3.19 Apache-2.0 and BSD-3-Clause - https://mvnrepository.com/artifact/org.springframework/spring-context-support/5.3.19 Apache-2.0 and BSD-3-Clause - https://mvnrepository.com/artifact/org.springframework/spring-core/5.3.18 Apache-2.0 and BSD-3-Clause - https://mvnrepository.com/artifact/org.springframework/spring-expression/5.3.19 Apache-2.0 and BSD-3-Clause - https://mvnrepository.com/artifact/org.springframework/spring-jcl/5.3.18 Apache-2.0 and BSD-3-Clause - https://mvnrepository.com/artifact/org.springframework/spring-web/5.3.19 Apache-2.0 and BSD-3-Clause - https://mvnrepository.com/artifact/org.springframework/spring-webflux/5.3.19 Apache-2.0 and BSD-3-Clause - ======================================================================== Apache-2.0 and CDDL-1.1 and BSD-3-Clause and BSD-2-Clause licenses ======================================================================== @@ -461,7 +430,6 @@ The following components are provided under the CC0-1.0 License. See project lin The text of each license is also included in licenses/LICENSE-[project].txt. https://mvnrepository.com/artifact/org.latencyutils/LatencyUtils/2.0.3 CC0-1.0 - https://mvnrepository.com/artifact/org.reactivestreams/reactive-streams/1.0.3 CC0-1.0 https://mvnrepository.com/artifact/org.reactivestreams/reactive-streams/1.0.2 CC0-1.0 ======================================================================== @@ -480,23 +448,6 @@ The text of each license is also included in licenses/LICENSE-[project].txt. https://mvnrepository.com/artifact/junit/junit/4.13.1 EPL-1.0 -======================================================================== -EPL-1.0 and LGPL-2.1 licenses -======================================================================== -The following components are provided under the EPL-1.0 and LGPL-2.1 License. See project link for details. -The text of each license is also included in licenses/LICENSE-[project].txt. - - https://mvnrepository.com/artifact/ch.qos.logback/logback-classic/1.2.11 EPL-1.0 and LGPL-2.1 - https://mvnrepository.com/artifact/ch.qos.logback/logback-core/1.2.11 EPL-1.0 and LGPL-2.1 - -======================================================================== -EPL-2.0 and GPL-2.0 licenses -======================================================================== -The following components are provided under the EPL-2.0 and GPL-2.0 License. See project link for details. -The text of each license is also included in licenses/LICENSE-[project].txt. - - https://mvnrepository.com/artifact/jakarta.annotation/jakarta.annotation-api/1.3.5 EPL-2.0 and GPL-2.0 - ======================================================================== ISC licenses ======================================================================== @@ -613,9 +564,7 @@ The text of each license is also included in licenses/LICENSE-[project].txt. https://npmjs.com/package/moment/v/2.24.0 2.24.0 MIT https://npmjs.com/package/monaco-editor/v/0.27.0 0.27.0 MIT https://npmjs.com/package/nanoid/v/3.3.4 3.3.4 MIT - https://mvnrepository.com/artifact/org.bouncycastle/bcpkix-jdk15on/1.68 MIT https://mvnrepository.com/artifact/org.bouncycastle/bcpkix-jdk18on/1.71 MIT - https://mvnrepository.com/artifact/org.bouncycastle/bcprov-jdk15on/1.68 MIT https://mvnrepository.com/artifact/org.bouncycastle/bcprov-jdk18on/1.71 MIT https://mvnrepository.com/artifact/org.bouncycastle/bcutil-jdk18on/1.71 MIT https://mvnrepository.com/artifact/org.checkerframework/checker-qual/3.12.0 MIT @@ -669,3 +618,11 @@ The text of each license is also included in licenses/LICENSE-[project].txt. https://npmjs.com/package/robust-predicates/v/3.0.1 3.0.1 Unlicense +======================================================================== +https://spdx.org/licenses/MIT-0.html licenses +======================================================================== +The following components are provided under the https://spdx.org/licenses/MIT-0.html License. See project link for details. +The text of each license is also included in licenses/LICENSE-[project].txt. + + https://mvnrepository.com/artifact/org.reactivestreams/reactive-streams/1.0.4 https://spdx.org/licenses/MIT-0.html + diff --git a/dist-material/release-docs/README.txt b/dist-material/release-docs/README.txt index 8359bbec88..0787cba102 100644 --- a/dist-material/release-docs/README.txt +++ b/dist-material/release-docs/README.txt @@ -20,10 +20,10 @@ Getting Started To help you get started, try the following links: Getting Started - https://skywalking.apache.org/docs/main/latest/readme/ + https://skywalking.apache.org/docs/main/next/readme/ Building - https://skywalking.apache.org/docs/main/latest/en/guides/how-to-build/ + https://skywalking.apache.org/docs/main/next/en/guides/how-to-build/ We welcome contributions of all kinds, for details of how you can help https://github.com/apache/skywalking/blob/master/CONTRIBUTING.md diff --git a/docker/ui/Dockerfile b/docker/ui/Dockerfile index a7cbbca17d..8c1bd75826 100644 --- a/docker/ui/Dockerfile +++ b/docker/ui/Dockerfile @@ -17,7 +17,7 @@ FROM eclipse-temurin:11-jre ENV JAVA_OPTS=" -Xms256M " \ - SW_OAP_ADDRESS="http://127.0.0.1:12800" + SW_OAP_ADDRESS="127.0.0.1:12800" WORKDIR skywalking @@ -32,7 +32,7 @@ RUN tar -xzf "$DIST" --strip 1; \ rm -rf "agent"; COPY docker-entrypoint.sh . -COPY logback.xml webapp/ +COPY log4j2.xml webapp/ EXPOSE 8080 diff --git a/docker/ui/docker-entrypoint.sh b/docker/ui/docker-entrypoint.sh index 807bb71a63..19bab89a00 100755 --- a/docker/ui/docker-entrypoint.sh +++ b/docker/ui/docker-entrypoint.sh @@ -18,14 +18,4 @@ set -e -export LOGGING_CONFIG="webapp/logback.xml" - -if [[ ! -z "$SW_OAP_ADDRESS" ]]; then - address_arr=(${SW_OAP_ADDRESS//,/ }) - for i in "${!address_arr[@]}" - do - JAVA_OPTS="${JAVA_OPTS} -Dspring.cloud.discovery.client.simple.instances.oap-service[$i].uri=${address_arr[$i]}" - done -fi - -exec java ${JAVA_OPTS} -jar webapp/skywalking-webapp.jar "$@" +exec java ${JAVA_OPTS} -cp webapp/skywalking-webapp.jar:webapp org.apache.skywalking.oap.server.webapp.ApplicationStartUp "$@" diff --git a/apm-webapp/src/main/resources/logback-spring.xml b/docker/ui/log4j2.xml similarity index 61% rename from apm-webapp/src/main/resources/logback-spring.xml rename to docker/ui/log4j2.xml index e73214ff06..2ae28179ed 100644 --- a/apm-webapp/src/main/resources/logback-spring.xml +++ b/docker/ui/log4j2.xml @@ -16,11 +16,20 @@ ~ limitations under the License. ~ --> - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + diff --git a/docs/en/changes/changes-9.0.0.md b/docs/en/changes/changes-9.0.0.md index d3b59d325c..d2806be545 100644 --- a/docs/en/changes/changes-9.0.0.md +++ b/docs/en/changes/changes-9.0.0.md @@ -44,7 +44,7 @@ * Upgrade H2 version to 2.0.206 to fix CVE-2021-23463 and GHSA-h376-j262-vhq6. * Extend column name override mechanism working for `ValueColumnMetadata`. * Introduce new concept `Layer` and removed `NodeType`. More details refer - to [v9-version-upgrade](https://skywalking.apache.org/docs/main/latest/en/faq/v9-version-upgrade/). + to [v9-version-upgrade](https://skywalking.apache.org/docs/main/next/en/faq/v9-version-upgrade/). * Fix query sort metrics failure in H2 Storage. * Bump up grpc to 1.43.2 and protobuf to 3.19.2 to fix CVE-2021-22569. * Add source layer and dest layer to relation. diff --git a/docs/en/changes/changes.md b/docs/en/changes/changes.md index af1e9e224a..70df7a64d1 100644 --- a/docs/en/changes/changes.md +++ b/docs/en/changes/changes.md @@ -12,9 +12,12 @@ #### UI -* Fix: tab active incorrectly, when click tab space +* Fix: tab active incorrectly, when click tab space * Add impala icon for impala JDBC Java agent plugin. * (Webapp)Bump up snakeyaml to 1.31 for fixing CVE-2022-25857 +* [Breaking Change]: migrate from Spring Web to Armeria, now you should use the environment variable name `SW_OAP_ADDRESS` + to change the OAP backend service addresses, like `SW_OAP_ADDRESS=localhost:12800,localhost:12801`, and use environment + variable `SW_SERVER_PORT` to change the port. Other Spring-related configurations don't take effect anymore. #### Documentation diff --git a/docs/en/guides/README.md b/docs/en/guides/README.md index 155c7aafab..91fb38231c 100755 --- a/docs/en/guides/README.md +++ b/docs/en/guides/README.md @@ -83,10 +83,10 @@ To make the orchestration process easier, we're using a [docker-compose](https:/ Follow these steps: 1. Decide what (and how many) containers will be needed. For example, for cluster testing, you'll need > 2 OAP nodes, coordinators (e.g. zookeeper), storage (e.g. ElasticSearch), and instrumented services; 1. Define the containers in `docker-compose.yml`, and carefully specify the dependencies, starting orders, and most importantly, link them together, e.g. set the correct OAP address on the agent end, and set the correct coordinator address in OAP, etc. -1. Define the e2e case [config](https://skywalking.apache.org/docs/skywalking-infra-e2e/latest/en/setup/configuration-file/) in `e2e.yaml`. +1. Define the e2e case [config](https://skywalking.apache.org/docs/skywalking-infra-e2e/next/en/setup/configuration-file/) in `e2e.yaml`. 1. Write the expected data(yml) for verify. -- [Run e2e test](https://skywalking.apache.org/docs/skywalking-infra-e2e/latest/en/setup/run-e2e-tests/) +- [Run e2e test](https://skywalking.apache.org/docs/skywalking-infra-e2e/next/en/setup/run-e2e-tests/) All e2e cases should under `skywalking/test/e2e-v2/cases`. You could execute e2e run command in `skywalking/` e.g. ``` diff --git a/docs/en/guides/backend-oal-scripts.md b/docs/en/guides/backend-oal-scripts.md index 811addce92..d9b2fce977 100644 --- a/docs/en/guides/backend-oal-scripts.md +++ b/docs/en/guides/backend-oal-scripts.md @@ -27,9 +27,8 @@ The value of `x-le` should be in JSON format. There are two options: { "logic-span": true } -``` +``` ### References -1. [Java plugin API](https://skywalking.apache.org/docs/skywalking-java/latest/en/setup/service-agent/java-agent/java-plugin-development-guide/#extension-logic-endpoint-tag-key-x-le) guides users to write plugins with logic endpoint. -2. Java agent's plugins include native included logic endpoints, also it provides ways to set the tag of logic span. The document could be found [here](https://skywalking.apache.org/docs/skywalking-java/latest/en/setup/service-agent/java-agent/logic-endpoint/). - +1. [Java plugin API](https://skywalking.apache.org/docs/skywalking-java/next/en/setup/service-agent/java-agent/java-plugin-development-guide/#extension-logic-endpoint-tag-key-x-le) guides users to write plugins with logic endpoint. +2. Java agent's plugins include native included logic endpoints, also it provides ways to set the tag of logic span. The document could be found [here](https://skywalking.apache.org/docs/skywalking-java/next/en/setup/service-agent/java-agent/logic-endpoint/). diff --git a/docs/en/protocols/README.md b/docs/en/protocols/README.md index ded1c50458..3d5c1aaac3 100644 --- a/docs/en/protocols/README.md +++ b/docs/en/protocols/README.md @@ -24,8 +24,8 @@ Please read SkyWalking language agents documentation to see whether it is suppor SkyWalking has a native metrics format, and supports widely used metric formats, such as Prometheus, OpenCensus, OpenTelemetry, and Zabbix. The native metrics format definition could be found [here](https://github.com/apache/skywalking-data-collect-protocol/blob/master/language-agent/Meter.proto). -Typically, the agent meter plugin (e.g. [Java Meter Plugin](https://skywalking.apache.org/docs/skywalking-java/latest/en/setup/service-agent/java-agent/java-plugin-development-guide/#meter-plugin)) and -Satellite [Prometheus fetcher](https://skywalking.apache.org/docs/skywalking-satellite/latest/en/setup/plugins/fetcher_prometheus-metrics-fetcher/) +Typically, the agent meter plugin (e.g. [Java Meter Plugin](https://skywalking.apache.org/docs/skywalking-java/next/en/setup/service-agent/java-agent/java-plugin-development-guide/#meter-plugin)) and +Satellite [Prometheus fetcher](https://skywalking.apache.org/docs/skywalking-satellite/next/en/setup/plugins/fetcher_prometheus-metrics-fetcher/) would convert metrics into native format and forward them to SkyWalking OAP server. To learn more about receiving 3rd party formats metrics, see [Meter receiver](../setup/backend/backend-meter.md) and [OpenTelemetry receiver](../setup/backend/opentelemetry-receiver.md). diff --git a/docs/en/setup/backend/backend-docker.md b/docs/en/setup/backend/backend-docker.md index e14c960f54..cc8bcaa7cb 100644 --- a/docs/en/setup/backend/backend-docker.md +++ b/docs/en/setup/backend/backend-docker.md @@ -14,7 +14,7 @@ docker run --name oap --restart always -d -e SW_STORAGE=elasticsearch -e SW_STOR # Configuration -We could set up environment variables to configure this image. They are defined in [backend-setup](https://skywalking.apache.org/docs/main/latest/en/setup/backend/backend-setup/). +We could set up environment variables to configure this image. They are defined in [backend-setup](https://skywalking.apache.org/docs/main/next/en/setup/backend/backend-setup/). # Extend image diff --git a/docs/en/setup/backend/backend-k8s-network-monitoring.md b/docs/en/setup/backend/backend-k8s-network-monitoring.md index 63c9968b42..4cc35d5446 100644 --- a/docs/en/setup/backend/backend-k8s-network-monitoring.md +++ b/docs/en/setup/backend/backend-k8s-network-monitoring.md @@ -1,5 +1,5 @@ # Kubernetes Network monitoring -SkyWalking leverages [SkyWalking Rover](https://github.com/apache/skywalking-rover) [network profiling feature](https://skywalking.apache.org/docs/skywalking-rover/latest/en/setup/configuration/profiling/#network) for collecting metrics data from the network. SkyWalking Rover converts data from socket data to metrics using eBPF technology. +SkyWalking leverages [SkyWalking Rover](https://github.com/apache/skywalking-rover) [network profiling feature](https://skywalking.apache.org/docs/skywalking-rover/next/en/setup/configuration/profiling/#network) for collecting metrics data from the network. SkyWalking Rover converts data from socket data to metrics using eBPF technology. ## Data flow 1. SkyWalking OAP server observes which specific k8s pod needs to monitor the network. @@ -7,7 +7,7 @@ SkyWalking leverages [SkyWalking Rover](https://github.com/apache/skywalking-rov 3. The SkyWalking OAP Server accesses K8s's `API Server` to fetch meta info and parses the expression with [MAL](../../concepts-and-designs/mal.md) to aggregate. ## Setup -1. Setup [SkyWalking Rover](https://skywalking.apache.org/docs/skywalking-rover/latest/en/setup/overview/). +1. Setup [SkyWalking Rover](https://skywalking.apache.org/docs/skywalking-rover/next/en/setup/overview/). 2. Enable the network profiling MAL file in the OAP server. ```yaml agent-analyzer: diff --git a/docs/en/setup/backend/backend-storage.md b/docs/en/setup/backend/backend-storage.md index 5d09ed0822..34f470e04b 100644 --- a/docs/en/setup/backend/backend-storage.md +++ b/docs/en/setup/backend/backend-storage.md @@ -47,7 +47,7 @@ License (SSPL), which is incompatible with Apache License 2.0. This license chan version 7.11. So please choose the suitable ElasticSearch version according to your usage. If you have concerns about SSPL, choose the versions before 7.11 or switch to OpenSearch. -Since 9.2.0, SkyWalking provides no-sharding/one-index mode to merge all metrics/meter and records(without super datasets) +Since 9.2.0, SkyWalking provides no-sharding/one-index mode to merge all metrics/meter and records(without super datasets) indices into one physical index template `metrics-all` and `records-all` on the default setting. In the current one index mode, users still could choose to adjust ElasticSearch's shard number(`SW_STORAGE_ES_INDEX_SHARDS_NUMBER`) to scale out. After merge all indices, the following indices are available: @@ -61,7 +61,7 @@ After merge all indices, the following indices are available: * sw_records-all-`${day-format}` ___ -Provide system environment variable(`SW_STORAGE_ES_LOGIC_SHARDING`). Set it to `true` could shard metrics indices into multi-physical indices +Provide system environment variable(`SW_STORAGE_ES_LOGIC_SHARDING`). Set it to `true` could shard metrics indices into multi-physical indices as same as the versions(one index template per metric/meter aggregation function) before 9.2.0. ___ @@ -108,7 +108,7 @@ storage: ### ElasticSearch With Https SSL Encrypting communications. -Example: +Example: ```yaml storage: @@ -133,17 +133,17 @@ In most cases, users don't need to change the value manually, as SkyWalking is d But in some cases, users may want to set a long TTL value, such as more than 60 days. However, their ElasticSearch cluster may not be powerful enough due to low traffic in the production environment. This value could be increased to 5 (or more) if users could ensure a single index could support the metrics and traces for these days (5 in this case). -For example, if dayStep == 11, +For example, if dayStep == 11, 1. Data in [2000-01-01, 2000-01-11] will be merged into the index-20000101. 1. Data in [2000-01-12, 2000-01-22] will be merged into the index-20000112. `storage/elasticsearch/superDatasetDayStep` overrides the `storage/elasticsearch/dayStep` if the value is positive. This would affect the record-related entities, such as trace segments. In some cases, the size of metrics is much smaller than the record (trace). This would improve the shards balance in the ElasticSearch cluster. - + NOTE: TTL deletion would be affected by these steps. You should set an extra dayStep in your TTL. For example, if you want to have TTL == 30 days and dayStep == 10, you are recommended to set TTL = 40. ### Secrets Management File Of ElasticSearch Authentication -The value of `secretsManagementFile` should point to the secrets management file absolute path. +The value of `secretsManagementFile` should point to the secrets management file absolute path. The file includes the username, password, and JKS password of the ElasticSearch server in the properties format. ```properties user=xxx @@ -151,8 +151,8 @@ password=yyy trustStorePass=zzz ``` -The major difference between using `user, password, trustStorePass` configs in the `application.yaml` file is that the **Secrets Management File** is being watched by the OAP server. -Once it is changed manually or through a 3rd party tool, such as [Vault](https://github.com/hashicorp/vault), +The major difference between using `user, password, trustStorePass` configs in the `application.yaml` file is that the **Secrets Management File** is being watched by the OAP server. +Once it is changed manually or through a 3rd party tool, such as [Vault](https://github.com/hashicorp/vault), the storage provider will use the new username, password, and JKS password to establish the connection and close the old one. If the information exists in the file, the `user/password` will be overridden. @@ -186,9 +186,9 @@ We strongly recommend that you read more about these configurations from Elastic When a namespace is set, all index names in ElasticSearch will use it as the prefix. ## MySQL -Activate MySQL as storage, and set storage provider to **mysql**. +Activate MySQL as storage, and set storage provider to **mysql**. -**NOTE:** MySQL driver is NOT allowed in Apache official distribution and source codes. +**NOTE:** MySQL driver is NOT allowed in Apache official distribution and source codes. Please download the MySQL driver on your own. Copy the connection driver jar to `oap-libs`. ```yaml @@ -207,13 +207,13 @@ storage: maxSizeOfBatchSql: ${SW_STORAGE_MAX_SIZE_OF_BATCH_SQL:2000} asyncBatchPersistentPoolSize: ${SW_STORAGE_ASYNC_BATCH_PERSISTENT_POOL_SIZE:4} ``` -All connection-related settings, including URL link, username, and password, are found in `application.yml`. +All connection-related settings, including URL link, username, and password, are found in `application.yml`. Only part of the settings is listed here. See the [HikariCP](https://github.com/brettwooldridge/HikariCP) connection pool document for full settings. To understand the function of the parameter `rewriteBatchedStatements=true` in MySQL, see the [MySQL official document](https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-connp-props-performance-extensions.html#cj-conn-prop_rewriteBatchedStatements). ## TiDB Tested TiDB Server 4.0.8 version, and MySQL Client driver 8.0.13 version is currently available. -Activate TiDB as storage, and set storage provider to **tidb**. +Activate TiDB as storage, and set storage provider to **tidb**. ```yaml storage: @@ -234,13 +234,13 @@ storage: maxSizeOfBatchSql: ${SW_STORAGE_MAX_SIZE_OF_BATCH_SQL:2000} asyncBatchPersistentPoolSize: ${SW_STORAGE_ASYNC_BATCH_PERSISTENT_POOL_SIZE:4} ``` -All connection-related settings, including URL link, username, and password are found in `application.yml`. +All connection-related settings, including URL link, username, and password are found in `application.yml`. For details on settings, refer to the configuration of *MySQL* above. To understand the function of the parameter `rewriteBatchedStatements=true` in TiDB, see the document of [TiDB best practices](https://docs.pingcap.com/tidb/stable/java-app-best-practices#use-batch-api). ## PostgreSQL PostgreSQL JDBC driver uses version 42.3.2. It supports PostgreSQL 8.2 or newer. -Activate PostgreSQL as storage, and set storage provider to **postgresql**. +Activate PostgreSQL as storage, and set storage provider to **postgresql**. ```yaml storage: @@ -260,7 +260,7 @@ storage: maxSizeOfBatchSql: ${SW_STORAGE_MAX_SIZE_OF_BATCH_SQL:2000} asyncBatchPersistentPoolSize: ${SW_STORAGE_ASYNC_BATCH_PERSISTENT_POOL_SIZE:4} ``` -All connection-related settings, including URL link, username, and password, are found in `application.yml`. +All connection-related settings, including URL link, username, and password, are found in `application.yml`. Only part of the settings is listed here. Please follow [HikariCP](https://github.com/brettwooldridge/HikariCP) connection pool document for full settings. ## BanyanDB @@ -281,9 +281,9 @@ storage: profileTaskQueryMaxSize: ${SW_STORAGE_BANYANDB_PROFILE_TASK_QUERY_MAX_SIZE:200} # the max number of fetch task in a request ``` -For more details, please refer to the documents of [BanyanDB](https://skywalking.apache.org/docs/skywalking-banyandb/latest/readme/) +For more details, please refer to the documents of [BanyanDB](https://skywalking.apache.org/docs/skywalking-banyandb/next/readme/) and [BanyanDB Java Client](https://github.com/apache/skywalking-banyandb-java-client) subprojects. ## More storage extension solutions -Follow the [Storage extension development guide](../../guides/storage-extention.md) +Follow the [Storage extension development guide](../../guides/storage-extention.md) in the [Project Extensions document](../../guides/README.md#project-extensions). diff --git a/docs/en/setup/backend/ui-setup.md b/docs/en/setup/backend/ui-setup.md index 2121cec314..5bcf14f94f 100644 --- a/docs/en/setup/backend/ui-setup.md +++ b/docs/en/setup/backend/ui-setup.md @@ -1,5 +1,5 @@ # UI -SkyWalking UI distribution is already included in our Apache official release. +SkyWalking UI distribution is already included in our Apache official release. ## Startup Startup script is also in `/bin/webappService.sh`(.bat). UI runs as an OS Java process, powered-by Zuul. @@ -11,25 +11,10 @@ The settings file of UI is `webapp/webapp.yml` in the distribution package. It 1. Backend connect info. ```yaml -server: - port: 8080 -spring: - cloud: - gateway: - routes: - - id: oap-route - uri: lb://oap-service - predicates: - - Path=/graphql/** - discovery: - client: - simple: - instances: - oap-service: - # Point to all backend's restHost:restPort, split by URI arrays. - - uri: http://127.0.0.1:12800 - - uri: http://instance-2:12800 +serverPort: ${SW_SERVER_PORT:-8080} +# Comma seperated list of OAP addresses, without http:// prefix. +oapServices: ${SW_OAP_ADDRESS:-localhost:12800} ``` ## Start with Docker Image @@ -46,4 +31,4 @@ We could set up environment variables to configure this image. ### SW_OAP_ADDRESS -The address of your OAP server. The default value is `http://127.0.0.1:12800`. \ No newline at end of file +The address of your OAP server. The default value is `http://127.0.0.1:12800`. diff --git a/docs/en/setup/service-agent/server-agents.md b/docs/en/setup/service-agent/server-agents.md index ac140d4b65..93a711fc7f 100644 --- a/docs/en/setup/service-agent/server-agents.md +++ b/docs/en/setup/service-agent/server-agents.md @@ -6,13 +6,13 @@ format and maximize the analysis capabilities of the SkyWalking OAP server. ## Installing language agents in services -- [Java agent](https://skywalking.apache.org/docs/skywalking-java/latest/en/setup/service-agent/java-agent/readme/). Learn how to install the Java agent in your service without affecting your code. +- [Java agent](https://skywalking.apache.org/docs/skywalking-java/next/en/setup/service-agent/java-agent/readme/). Learn how to install the Java agent in your service without affecting your code. - [LUA agent](https://github.com/apache/skywalking-nginx-lua). Learn how to install the Lua agent in Nginx + LUA module or OpenResty. - [Kong agent](https://github.com/apache/skywalking-kong). Learn how to install the Lua agent in Kong. -- [Python Agent](https://skywalking.apache.org/docs/skywalking-python/latest/en/setup/cli/). Learn how to install the Python Agent in a Python service without affecting your code. +- [Python Agent](https://skywalking.apache.org/docs/skywalking-python/next/en/setup/cli/). Learn how to install the Python Agent in a Python service without affecting your code. - [Node.js agent](https://github.com/apache/skywalking-nodejs). Learn how to install the NodeJS Agent in a NodeJS service. diff --git a/oap-server-bom/pom.xml b/oap-server-bom/pom.xml index c123daf058..8500cfed6f 100644 --- a/oap-server-bom/pom.xml +++ b/oap-server-bom/pom.xml @@ -49,9 +49,7 @@ 16.0.0 3.1.0 2.23.16 - 2.13.2 - 2.13.2 - 2.13.2.2 + 2.13.4 1.4 0.6.0 1.8.0 @@ -59,7 +57,6 @@ 4.3.0 2.12.0 2.18.0 - 2.12.2 4.9.2 2.3.31 3.25.0-GA @@ -71,7 +68,7 @@ 42.4.1 0.5.3 1.15.3 - 1.16.0 + 1.18.0 3.0.0 4.4.13 1.21 @@ -308,17 +305,17 @@ com.fasterxml.jackson.core jackson-core - ${jackson-core.version} + ${jackson.version} com.fasterxml.jackson.core jackson-annotations - ${jackson-annotations.version} + ${jackson.version} com.fasterxml.jackson.core jackson-databind - ${jackson-databind.version} + ${jackson.version} commons-codec @@ -378,12 +375,6 @@ - - com.fasterxml.jackson.module - jackson-module-afterburner - ${jackson-module-afterburner.version} - - org.apache.skywalking banyandb-java-client diff --git a/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/remote/HTTPServerTest.java b/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/remote/HTTPServerTest.java index 68e5f90d7a..70372a2815 100644 --- a/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/remote/HTTPServerTest.java +++ b/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/remote/HTTPServerTest.java @@ -100,11 +100,6 @@ public class HTTPServerTest { WebClient.of().options(testHandlerURI).aggregate().get().status().code(), 405 ); - - Assert.assertEquals( - WebClient.of().head(testHandlerURI).aggregate().get().status().code(), - 405 - ); } static class TestPostHandler { diff --git a/oap-server/server-library/library-server/src/main/java/org/apache/skywalking/oap/server/library/server/http/HTTPServer.java b/oap-server/server-library/library-server/src/main/java/org/apache/skywalking/oap/server/library/server/http/HTTPServer.java index f6749e100f..536eca226f 100644 --- a/oap-server/server-library/library-server/src/main/java/org/apache/skywalking/oap/server/library/server/http/HTTPServer.java +++ b/oap-server/server-library/library-server/src/main/java/org/apache/skywalking/oap/server/library/server/http/HTTPServer.java @@ -18,16 +18,17 @@ package org.apache.skywalking.oap.server.library.server.http; +import com.google.common.collect.Sets; import com.linecorp.armeria.common.HttpMethod; import com.linecorp.armeria.common.HttpResponse; import com.linecorp.armeria.common.HttpStatus; import com.linecorp.armeria.server.Route; import com.linecorp.armeria.server.ServerBuilder; import com.linecorp.armeria.server.docs.DocService; +import com.linecorp.armeria.server.healthcheck.HealthCheckService; import com.linecorp.armeria.server.logging.LoggingService; import java.net.InetSocketAddress; import java.time.Duration; -import java.util.HashSet; import java.util.List; import java.util.Set; import lombok.extern.slf4j.Slf4j; @@ -39,7 +40,8 @@ import static java.util.Objects.requireNonNull; public class HTTPServer implements Server { private final HTTPServerConfig config; private ServerBuilder sb; - private final Set allowedMethods = new HashSet<>(); + // Health check service, supports HEAD, GET method. + private final Set allowedMethods = Sets.newHashSet(HttpMethod.HEAD); public HTTPServer(HTTPServerConfig config) { this.config = config; @@ -52,6 +54,7 @@ public class HTTPServer implements Server { sb = com.linecorp.armeria.server.Server .builder() .serviceUnder(contextPath + "/docs", DocService.builder().build()) + .service("/internal/l7check", HealthCheckService.of()) .workerGroup(config.getMaxThreads()) .http(new InetSocketAddress( config.getHost(), diff --git a/oap-server/server-query-plugin/query-graphql-plugin/pom.xml b/oap-server/server-query-plugin/query-graphql-plugin/pom.xml index c9b26430f3..5f3a467fff 100644 --- a/oap-server/server-query-plugin/query-graphql-plugin/pom.xml +++ b/oap-server/server-query-plugin/query-graphql-plugin/pom.xml @@ -59,10 +59,6 @@ com.linecorp.armeria armeria-graphql - - com.fasterxml.jackson.module - jackson-module-afterburner - io.kubernetes diff --git a/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/LogTestQuery.java b/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/LogTestQuery.java index 95a30aeafe..50921c6758 100644 --- a/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/LogTestQuery.java +++ b/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/LogTestQuery.java @@ -55,7 +55,7 @@ public class LogTestQuery implements GraphQLQueryResolver { if (!config.isEnableLogTestTool()) { throw new IllegalAccessException( "LAL debug tool is not enabled. To enable, please set SW_QUERY_GRAPHQL_ENABLE_LOG_TEST_TOOL=true," + - "for more details, refer to https://skywalking.apache.org/docs/main/latest/en/setup/backend/configuration-vocabulary/"); + "for more details, refer to https://skywalking.apache.org/docs/main/next/en/setup/backend/configuration-vocabulary/"); } requireNonNull(request, "request"); diff --git a/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/UIConfigurationManagement.java b/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/UIConfigurationManagement.java index 5bbd0bac62..2b94473426 100644 --- a/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/UIConfigurationManagement.java +++ b/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/UIConfigurationManagement.java @@ -68,7 +68,7 @@ public class UIConfigurationManagement implements GraphQLQueryResolver, GraphQLM .id("") .message( "The dashboard creation has been disabled. Check SW_ENABLE_UPDATE_UI_TEMPLATE on " + - "configuration-vocabulary.md(https://skywalking.apache.org/docs/main/latest/en/setup/backend/configuration-vocabulary/#configuration-vocabulary) " + + "configuration-vocabulary.md(https://skywalking.apache.org/docs/main/next/en/setup/backend/configuration-vocabulary/#configuration-vocabulary) " + "to activate it.") .build(); } @@ -85,7 +85,7 @@ public class UIConfigurationManagement implements GraphQLQueryResolver, GraphQLM .id(setting.getId()) .message( "The dashboard update has been disabled. Check SW_ENABLE_UPDATE_UI_TEMPLATE on " + - "configuration-vocabulary.md(https://skywalking.apache.org/docs/main/latest/en/setup/backend/configuration-vocabulary/#configuration-vocabulary) " + + "configuration-vocabulary.md(https://skywalking.apache.org/docs/main/next/en/setup/backend/configuration-vocabulary/#configuration-vocabulary) " + "to activate it.") .build(); } @@ -98,7 +98,7 @@ public class UIConfigurationManagement implements GraphQLQueryResolver, GraphQLM .id(id) .message( "The dashboard disable has been disabled. Check SW_ENABLE_UPDATE_UI_TEMPLATE on " + - "configuration-vocabulary.md(https://skywalking.apache.org/docs/main/latest/en/setup/backend/configuration-vocabulary/#configuration-vocabulary) " + + "configuration-vocabulary.md(https://skywalking.apache.org/docs/main/next/en/setup/backend/configuration-vocabulary/#configuration-vocabulary) " + "to activate it.") .build(); } diff --git a/oap-server/server-query-plugin/query-graphql-plugin/src/main/resources/query-protocol b/oap-server/server-query-plugin/query-graphql-plugin/src/main/resources/query-protocol index aba0de18fc..2c541beae6 160000 --- a/oap-server/server-query-plugin/query-graphql-plugin/src/main/resources/query-protocol +++ b/oap-server/server-query-plugin/query-graphql-plugin/src/main/resources/query-protocol @@ -1 +1 @@ -Subproject commit aba0de18fc934f6a20fd075ffe1a3df01ad1c80f +Subproject commit 2c541beae657306127f07af127d179492a1d7cf9 diff --git a/oap-server/server-starter/src/main/resources/ui-initialized-templates/browser/browser-root.json b/oap-server/server-starter/src/main/resources/ui-initialized-templates/browser/browser-root.json index 7a25562b69..f8fdce713d 100644 --- a/oap-server/server-starter/src/main/resources/ui-initialized-templates/browser/browser-root.json +++ b/oap-server/server-starter/src/main/resources/ui-initialized-templates/browser/browser-root.json @@ -79,7 +79,7 @@ "content": "Provide Browser-Side monitoring of Web-App, Versions and Pages, through Apache SkyWalking Client JS.", "fontSize": 14, "textAlign": "left", - "url": "https://skywalking.apache.org/docs/main/latest/en/setup/service-agent/browser-agent/" + "url": "https://skywalking.apache.org/docs/main/next/en/setup/service-agent/browser-agent/" }, "moved": false } diff --git a/oap-server/server-starter/src/main/resources/ui-initialized-templates/general/general-root.json b/oap-server/server-starter/src/main/resources/ui-initialized-templates/general/general-root.json index 5c675f2ef6..414523c9f1 100644 --- a/oap-server/server-starter/src/main/resources/ui-initialized-templates/general/general-root.json +++ b/oap-server/server-starter/src/main/resources/ui-initialized-templates/general/general-root.json @@ -262,7 +262,7 @@ "content": "Observe Service through telemetry data collected from SkyWalking Agent.", "fontSize": 14, "textAlign": "left", - "url": "https://skywalking.apache.org/docs/main/latest/en/setup/service-agent/server-agents/" + "url": "https://skywalking.apache.org/docs/main/next/en/setup/service-agent/server-agents/" }, "moved": false } diff --git a/oap-server/server-starter/src/main/resources/ui-initialized-templates/general/general-service.json b/oap-server/server-starter/src/main/resources/ui-initialized-templates/general/general-service.json index 21f6129814..0a44e484ef 100644 --- a/oap-server/server-starter/src/main/resources/ui-initialized-templates/general/general-service.json +++ b/oap-server/server-starter/src/main/resources/ui-initialized-templates/general/general-service.json @@ -914,7 +914,7 @@ "content": "eBPF Profiling support services written in C, C++, Golang, and Rust. SkyWalking Rover provides this profiling capability. ", "fontSize": 14, "textAlign": "left", - "url": "https://skywalking.apache.org/docs/skywalking-rover/latest/readme/" + "url": "https://skywalking.apache.org/docs/skywalking-rover/next/readme/" } }, { diff --git a/oap-server/server-starter/src/main/resources/ui-initialized-templates/k8s/k8s-root.json b/oap-server/server-starter/src/main/resources/ui-initialized-templates/k8s/k8s-root.json index 8c0dd8bedc..1383779a71 100644 --- a/oap-server/server-starter/src/main/resources/ui-initialized-templates/k8s/k8s-root.json +++ b/oap-server/server-starter/src/main/resources/ui-initialized-templates/k8s/k8s-root.json @@ -95,7 +95,7 @@ "content": "Provide monitoring of the status and resources of the K8S Cluster.", "fontSize": 14, "textAlign": "left", - "url": "https://skywalking.apache.org/docs/main/latest/en/setup/backend/backend-k8s-monitoring/" + "url": "https://skywalking.apache.org/docs/main/next/en/setup/backend/backend-k8s-monitoring/" }, "moved": false } diff --git a/oap-server/server-starter/src/main/resources/ui-initialized-templates/k8s_service/k8s-service-root.json b/oap-server/server-starter/src/main/resources/ui-initialized-templates/k8s_service/k8s-service-root.json index 25a9ef6e44..f9b6963f49 100644 --- a/oap-server/server-starter/src/main/resources/ui-initialized-templates/k8s_service/k8s-service-root.json +++ b/oap-server/server-starter/src/main/resources/ui-initialized-templates/k8s_service/k8s-service-root.json @@ -82,7 +82,7 @@ "content": "Observe Service status and resources from Kubernetes.", "fontSize": 14, "textAlign": "left", - "url": "https://skywalking.apache.org/docs/main/latest/en/setup/backend/backend-k8s-monitoring/" + "url": "https://skywalking.apache.org/docs/main/next/en/setup/backend/backend-k8s-monitoring/" }, "moved": false } diff --git a/oap-server/server-starter/src/main/resources/ui-initialized-templates/k8s_service/k8s-service-service.json b/oap-server/server-starter/src/main/resources/ui-initialized-templates/k8s_service/k8s-service-service.json index 45875a590d..55d0e3f5a1 100644 --- a/oap-server/server-starter/src/main/resources/ui-initialized-templates/k8s_service/k8s-service-service.json +++ b/oap-server/server-starter/src/main/resources/ui-initialized-templates/k8s_service/k8s-service-service.json @@ -247,7 +247,7 @@ "content": "eBPF Profiling support services written in C, C++, Golang, and Rust. SkyWalking Rover provides this profiling capability. ", "fontSize": 14, "textAlign": "left", - "url": "https://skywalking.apache.org/docs/skywalking-rover/latest/readme/" + "url": "https://skywalking.apache.org/docs/skywalking-rover/next/readme/" } } ] diff --git a/oap-server/server-starter/src/main/resources/ui-initialized-templates/mesh/mesh-root.json b/oap-server/server-starter/src/main/resources/ui-initialized-templates/mesh/mesh-root.json index e483e278ed..5b2c6a609e 100644 --- a/oap-server/server-starter/src/main/resources/ui-initialized-templates/mesh/mesh-root.json +++ b/oap-server/server-starter/src/main/resources/ui-initialized-templates/mesh/mesh-root.json @@ -226,7 +226,7 @@ "content": "Observe Service Mesh through telemetry data collected from Envoy Access Log Service (ALS).", "fontSize": 14, "textAlign": "left", - "url": "https://skywalking.apache.org/docs/main/latest/en/setup/envoy/als_setting/" + "url": "https://skywalking.apache.org/docs/main/next/en/setup/envoy/als_setting/" }, "moved": false } diff --git a/oap-server/server-starter/src/main/resources/ui-initialized-templates/mesh/mesh-service.json b/oap-server/server-starter/src/main/resources/ui-initialized-templates/mesh/mesh-service.json index 113267cc31..c633adf5c5 100644 --- a/oap-server/server-starter/src/main/resources/ui-initialized-templates/mesh/mesh-service.json +++ b/oap-server/server-starter/src/main/resources/ui-initialized-templates/mesh/mesh-service.json @@ -881,7 +881,7 @@ "content": "eBPF Profiling support services written in C, C++, Golang, and Rust. SkyWalking Rover provides this profiling capability. ", "fontSize": 14, "textAlign": "left", - "url": "https://skywalking.apache.org/docs/skywalking-rover/latest/readme/" + "url": "https://skywalking.apache.org/docs/skywalking-rover/next/readme/" } } ] diff --git a/oap-server/server-starter/src/main/resources/ui-initialized-templates/mesh_cp/mesh-control-plane-root.json b/oap-server/server-starter/src/main/resources/ui-initialized-templates/mesh_cp/mesh-control-plane-root.json index 3e3c99aa61..fa33aa0404 100644 --- a/oap-server/server-starter/src/main/resources/ui-initialized-templates/mesh_cp/mesh-control-plane-root.json +++ b/oap-server/server-starter/src/main/resources/ui-initialized-templates/mesh_cp/mesh-control-plane-root.json @@ -95,7 +95,7 @@ "content": "Provide monitoring of the behavior of Istio through its self-monitoring metrics.", "fontSize": 14, "textAlign": "left", - "url": "https://skywalking.apache.org/docs/main/latest/en/setup/istio/readme/" + "url": "https://skywalking.apache.org/docs/main/next/en/setup/istio/readme/" }, "moved": false } diff --git a/oap-server/server-starter/src/main/resources/ui-initialized-templates/mesh_dp/mesh-data-plane-root.json b/oap-server/server-starter/src/main/resources/ui-initialized-templates/mesh_dp/mesh-data-plane-root.json index 3fa911a6df..1472696a88 100644 --- a/oap-server/server-starter/src/main/resources/ui-initialized-templates/mesh_dp/mesh-data-plane-root.json +++ b/oap-server/server-starter/src/main/resources/ui-initialized-templates/mesh_dp/mesh-data-plane-root.json @@ -66,7 +66,7 @@ "content": "Observe Envoy Proxy through Envoy Metrics Service.", "fontSize": 14, "textAlign": "left", - "url": "https://skywalking.apache.org/docs/main/latest/en/setup/envoy/metrics_service_setting/" + "url": "https://skywalking.apache.org/docs/main/next/en/setup/envoy/metrics_service_setting/" }, "moved": false } diff --git a/oap-server/server-starter/src/main/resources/ui-initialized-templates/mesh_dp/mesh-data-plane-service.json b/oap-server/server-starter/src/main/resources/ui-initialized-templates/mesh_dp/mesh-data-plane-service.json index 2ab485fa28..71b6337e54 100644 --- a/oap-server/server-starter/src/main/resources/ui-initialized-templates/mesh_dp/mesh-data-plane-service.json +++ b/oap-server/server-starter/src/main/resources/ui-initialized-templates/mesh_dp/mesh-data-plane-service.json @@ -86,7 +86,7 @@ "content": "eBPF Profiling support services written in C, C++, Golang, and Rust. SkyWalking Rover provides this profiling capability. ", "fontSize": 14, "textAlign": "left", - "url": "https://skywalking.apache.org/docs/skywalking-rover/latest/readme/" + "url": "https://skywalking.apache.org/docs/skywalking-rover/next/readme/" } }, { @@ -109,4 +109,4 @@ "isRoot": false } } -] \ No newline at end of file +] diff --git a/oap-server/server-starter/src/main/resources/ui-initialized-templates/mysql/mysql-root.json b/oap-server/server-starter/src/main/resources/ui-initialized-templates/mysql/mysql-root.json index b28ae7f7fb..5aab25ae3e 100644 --- a/oap-server/server-starter/src/main/resources/ui-initialized-templates/mysql/mysql-root.json +++ b/oap-server/server-starter/src/main/resources/ui-initialized-templates/mysql/mysql-root.json @@ -49,7 +49,7 @@ "content":"Provide MySQL Server monitoring through OpenTelemetry's Prometheus Receiver", "fontSize":14, "textAlign":"left", - "url":"https://skywalking.apache.org/docs/main/latest/en/setup/backend/backend-mysql-monitoring/" + "url":"https://skywalking.apache.org/docs/main/next/en/setup/backend/backend-mysql-monitoring/" } } ], @@ -60,4 +60,4 @@ "isRoot":true } } -] \ No newline at end of file +] diff --git a/oap-server/server-starter/src/main/resources/ui-initialized-templates/os_linux/linux-root.json b/oap-server/server-starter/src/main/resources/ui-initialized-templates/os_linux/linux-root.json index 435a85dba5..f88ed062af 100644 --- a/oap-server/server-starter/src/main/resources/ui-initialized-templates/os_linux/linux-root.json +++ b/oap-server/server-starter/src/main/resources/ui-initialized-templates/os_linux/linux-root.json @@ -72,7 +72,7 @@ "content": "Provide Linux OS monitoring.", "fontSize": 14, "textAlign": "left", - "url": "https://skywalking.apache.org/docs/main/latest/en/setup/backend/backend-vm-monitoring/" + "url": "https://skywalking.apache.org/docs/main/next/en/setup/backend/backend-vm-monitoring/" }, "moved": false } diff --git a/oap-server/server-starter/src/main/resources/ui-initialized-templates/postgresql/postgresql-root.json b/oap-server/server-starter/src/main/resources/ui-initialized-templates/postgresql/postgresql-root.json index 76040114c8..62914852b3 100644 --- a/oap-server/server-starter/src/main/resources/ui-initialized-templates/postgresql/postgresql-root.json +++ b/oap-server/server-starter/src/main/resources/ui-initialized-templates/postgresql/postgresql-root.json @@ -33,7 +33,7 @@ "content":"Provide PostgreSQL monitoring through OpenTelemetry's Prometheus Receiver", "fontSize":14, "textAlign":"left", - "url":"https://skywalking.apache.org/docs/main/latest/en/setup/backend/backend-postgresql-monitoring/" + "url":"https://skywalking.apache.org/docs/main/next/en/setup/backend/backend-postgresql-monitoring/" } }, { @@ -60,4 +60,4 @@ "isRoot":true } } -] \ No newline at end of file +] diff --git a/oap-server/server-starter/src/main/resources/ui-initialized-templates/so11y_oap/so11y-service.json b/oap-server/server-starter/src/main/resources/ui-initialized-templates/so11y_oap/so11y-service.json index 42f5d985d5..30e21bddf5 100644 --- a/oap-server/server-starter/src/main/resources/ui-initialized-templates/so11y_oap/so11y-service.json +++ b/oap-server/server-starter/src/main/resources/ui-initialized-templates/so11y_oap/so11y-service.json @@ -77,7 +77,7 @@ "content": "The OAP backend cluster itself is a distributed streaming process system, this is the monitoring for the OAP backend itself.", "fontSize": 14, "textAlign": "left", - "url": "https://skywalking.apache.org/docs/main/latest/en/setup/backend/backend-telemetry/" + "url": "https://skywalking.apache.org/docs/main/next/en/setup/backend/backend-telemetry/" }, "moved": false } diff --git a/oap-server/server-starter/src/main/resources/ui-initialized-templates/so11y_satellite/so11y-root.json b/oap-server/server-starter/src/main/resources/ui-initialized-templates/so11y_satellite/so11y-root.json index 4d96efb5c7..a27d0ddde0 100644 --- a/oap-server/server-starter/src/main/resources/ui-initialized-templates/so11y_satellite/so11y-root.json +++ b/oap-server/server-starter/src/main/resources/ui-initialized-templates/so11y_satellite/so11y-root.json @@ -241,7 +241,7 @@ "content":"Satellite: an open-source agent designed for the cloud-native infrastructures, which provides a low-cost, high-efficient, and more secure way to collect telemetry data. It is the recommended load balancer for telemetry collecting.", "fontSize":14, "textAlign":"left", - "url":"https://skywalking.apache.org/docs/main/latest/en/setup/backend/backend-load-balancer/" + "url":"https://skywalking.apache.org/docs/main/next/en/setup/backend/backend-load-balancer/" }, "moved":false } diff --git a/oap-server/server-starter/src/main/resources/ui-initialized-templates/virtual_database/virtual-database-root.json b/oap-server/server-starter/src/main/resources/ui-initialized-templates/virtual_database/virtual-database-root.json index 7a4e731ae2..6f237383bf 100644 --- a/oap-server/server-starter/src/main/resources/ui-initialized-templates/virtual_database/virtual-database-root.json +++ b/oap-server/server-starter/src/main/resources/ui-initialized-templates/virtual_database/virtual-database-root.json @@ -86,7 +86,7 @@ "content": "Observe the Virtual Database which is conjectured by language agent through various plugins.", "fontSize": 14, "textAlign": "left", - "url": "https://skywalking.apache.org/docs/main/latest/en/setup/service-agent/virtual-database/" + "url": "https://skywalking.apache.org/docs/main/next/en/setup/service-agent/virtual-database/" }, "moved": false } diff --git a/pom.xml b/pom.xml index 00c8fdc987..aaf2228e86 100755 --- a/pom.xml +++ b/pom.xml @@ -156,7 +156,7 @@ 1.49.0 - 4.1.77.Final + 4.1.81.Final 2.0.52.Final 2.9.0 1.6.2 -- GitLab