Backend, UI, and CLI setup

SkyWalking backend distribution package includes the following parts:

  1. bin/cmd scripts, in /bin folder. Includes startup linux shell and Windows cmd scripts for Backend server and UI startup.

  2. Backend config, in /config folder. Includes settings files of the backend, which are:

    • application.yml
    • log4j.xml
    • alarm-settings.yml
  3. Libraries of backend, in /oap-libs folder. All the dependencies of the backend are in it.

  4. Webapp env, in webapp folder. UI frontend jar file is here, with its webapp.yml setting file.

Quick start

Requirements and default settings

Requirement: JDK8 to JDK12 are tested, other versions are not tested and may or may not work.

Before you start, you should know that the quickstart aims to get you a basic configuration mostly for previews/demo, performance and long-term running are not our goals.

For production/QA/tests environments, you should head to Backend and UI deployment documents.

You can use bin/startup.sh (or cmd) to startup the backend and UI with their default settings, which are:

  • Backend storage uses H2 by default (for an easier start)
  • Backend listens 0.0.0.0/11800 for gRPC APIs and 0.0.0.0/12800 for http rest APIs.

In Java, .NetCore, Node.js, Istio agents/probe, you should set the gRPC service address to ip/host:11800, with ip/host where your backend is.

  • UI listens on 8080 port and request 127.0.0.1/12800 to do GraphQL query.

Deploy Backend and UI

Before deploying Skywalking in your distributed environment, you should know how agents/probes, backend, UI communicates with each other:

  • All native agents and probes, either language based or mesh probe, are using gRPC service (core/default/gRPC* in application.yml) to report data to the backend. Also, jetty service supported in JSON format.
  • UI uses GraphQL (HTTP) query to access the backend also in Jetty service (core/default/rest* in application.yml).

Now, let’s continue with the backend, UI and CLI setting documents.