mrkeyoor.com_
Wed 09 Sept 13:31 UTC
Self-Hostedevaluationupdated 09 Sept 2026

skywalking review

Apache SkyWalking is a self-hosted application performance monitoring system for services spread across containers, clusters, and several programming languages. It collects traces, metrics, and logs, then connects them to service maps, queries, dashboards, and alerts so operators can find where distributed requests went wrong.

trackingstars / 7d
Verdict

Our SkyWalking run passed all 44 Surefire tests after a 93-second install and a 446-second build, which supports a serious trial rather than a quick local experiment. Use it when a platform team needs self-hosted tracing, metrics, logs, topology, and profiling across many services and can operate the storage and security boundary. Version 11's separate UI and unauthenticated-by-default admin port make disciplined deployment work mandatory.

We ran it

Lab card: what happened when we ran skywalkingScreenshot of skywalking (skywalking.apache.org)
Install✓ · 93s
Build✓ · 446s
Tests✓ · 375s44 passed · 0 failed of 44 (maven surefire)
Repo3032 files~60,865 lines of source · 13.6 MB · 5 CI workflows · tests dir

Answers from our run

Does skywalking build from source?

Dependencies installed in 93 seconds, and the build succeeded in 446 seconds. We cloned commit 4fe83aa into a clean Debian container with 3 CPUs and no project-specific setup.

Do skywalking's tests pass?

Yes: 44 of 44 passed when we ran the project's own test command (maven surefire). Some failures need services or credentials a bare container does not have.

Who should not use skywalking?

Small teams monitoring one application: the documented deployment spans OAP, agents or probes, a database, and the independently released Horizon UI.

What are the alternatives to skywalking?

Jaeger, OpenTelemetry Collector Contrib, SigNoz. Our SkyWalking run passed all 44 Surefire tests after a 93-second install and a 446-second build, which supports a serious trial rather than a quick local experiment.

Setup3/5Build passed, but OAP, storage, agents, UI, and gateway remain
Docs5/5Detailed build, storage, protocol, upgrade, and security guidance
Community5/524,945 stars with same-day code and issue activity
Maturity5/5Version 11, Apache governance, and all 44 measured tests passed

Who it’s for

Platform teams that need one observability backend for Java, .NET, Node.js, Go, Python, Rust, PHP, browser, and service-mesh workloads.
Kubernetes operators who want traces, metrics, logs, profiling, service topology, and alert rules under their own control.
Organizations already committed to OpenTelemetry, Prometheus, Zipkin, or another supported telemetry format.
Teams able to operate OAP, a storage backend, separate agents, and the Horizon UI as a production service.

Who it’s NOT for

Small teams monitoring one application: the documented deployment spans OAP, agents or probes, a database, and the independently released Horizon UI.
Buyers seeking a managed service with storage and upgrades handled for them: SkyWalking makes those operational choices the user's responsibility.
Operators who cannot place an authenticating gateway in front of admin traffic: version 11 enables a port with no built-in authentication on 0.0.0.0:17128 by default.
Teams expecting an in-place UI upgrade from version 10: version 11 removes the bundled web app, moves admin routes, and requires a separately pinned Horizon UI.
BanyanDB users who need latency-sorted trace windows to be trusted without regression tests: open issue 14058 reports results outside the requested time range on SkyWalking 11.0.

Setup reality

Our sandbox installed the project in 93 seconds, built it in 446 seconds, and completed tests in 375 seconds. Maven Surefire reported 44 passed and 0 failed out of 44. The commit 4fe83aa checkout held 3,032 files, about 60,865 source lines, and occupied 13.6 MB.

Source builds need Git submodules, Maven 3.6 or newer, and a supported JDK. A useful deployment also needs an OAP server, language agents or probes, storage, and usually Horizon UI. Production credentials depend on the chosen database, cluster coordinator, telemetry sources, and gateway.

Version 11 separates the UI from the backend. Public telemetry and query traffic, operator HTTP traffic, and internal admin gRPC use different ports. The admin HTTP port has no built-in authentication, so binding and proxy policy are setup requirements. Our scan found 5 CI workflows, no Dockerfile, and a tests directory.

SkyWalking connects traces, metrics, and logs across many runtimes

Apache SkyWalking is an observability backend for distributed applications. Its README names actively maintained agents for Java, .NET, PHP, Node.js, Go, Lua, Rust, C++, browser JavaScript, and Python. The OAP server also accepts OpenTelemetry, Prometheus, Zipkin, Zabbix, Fluentd, and other telemetry formats. That breadth suits a platform shared by several teams, especially when one request crosses languages and infrastructure boundaries.

The system does more than store spans. It builds service topology, aggregates metrics, processes logs, runs alert rules, and exposes query APIs used by dashboards. Rover adds eBPF-based monitoring and profiling for Kubernetes workloads. BanyanDB is the project's purpose-built storage option, while Elasticsearch, OpenSearch, MySQL, and PostgreSQL are documented alternatives. Each added signal can help an investigation, but each receiver and data path also becomes another item to size and maintain.

Version 11 moves the web UI and changes the operating boundary

Release v11.0.0 arrived on 2026-08-28 and removes the bundled web application from the OAP distribution. Horizon UI now lives in apache/skywalking-horizon-ui, releases on its own schedule, and talks to both the public query surface and the admin host. There is no one-to-one version mapping between OAP and Horizon UI, so operators must pin compatible images and plan the two upgrades separately.

The same release moves status and debugging routes to the admin host and adds runtime rule updates plus a live DSL debugger. Those tools can inspect or change sensitive operational state. OAP exposes public agent gRPC on port 11800 and queries on 12800, while admin HTTP defaults to 17128 and peer admin gRPC to 17129. Network policy now carries more responsibility than it did when one bundled UI sat beside the backend.

What happened when we ran it

Our run cloned commit 4fe83aa into an unprivileged Java 21 container with 3 CPUs and 10 GB of RAM. Installation succeeded in 93 seconds. The build then completed in 446 seconds, followed by a successful 375-second test step. Maven Surefire counted 44 passed and 0 failed out of 44, with no failed stage hidden behind a partial summary.

The checkout contained 3,032 files and about 60,865 lines of source in 13.6 MB. Our signal scan found 5 CI workflow files, no Dockerfile, and a tests directory. These results cover repository installation, compilation, and the invoked test set. They do not measure telemetry ingestion, query latency, storage growth, agent overhead, or cluster recovery, so capacity claims from another deployment should not be transferred to yours.

A 446-second successful build fits the build guide's warning that SkyWalking has many Maven modules. GitHub source builds also require initialized submodules, which is why the project advises against compiling the automatically generated source archives on the GitHub release page. The supported build route uses Maven 3.6 or newer and JDK 11, 17, 21, or 25; official Apache source archives include the needed source without Git submodule setup.

Port 17128 needs an authenticating gateway before deployment

SkyWalking 11 enables admin-server by default and binds its HTTP host to 0.0.0.0:17128. The admin documentation says this port has no built-in authentication. Anyone who reaches it may access status, inspect data, manage UI templates, change runtime rules when enabled, or run debugging features that can capture raw log bodies. The prescribed controls are a private bind address, an IP allow-list, an authenticating reverse proxy, and audited proxy access.

Operators also need a private network for the 17129 gRPC bus between OAP nodes. Public telemetry belongs on 11800, and GraphQL or other public queries use 12800. Those separations are sensible, but a default container exposed with broad port mappings can defeat them. Teams should decide which admin modules are needed, disable the rest, and test that the public ingress cannot route to either admin port.

Storage choice determines what the team must operate

The backend guide recommends preparing a database before OAP starts and prefers BanyanDB. Docker Compose profiles cover BanyanDB and Elasticsearch for evaluation. SQL options are also supported, though the storage guide warns that MySQL and PostgreSQL can be slower for traces and logs and do not scale out linearly for that workload. An existing database standard therefore may matter more than the convenience of one selector in application.yml.

Configuration is modular: core, cluster, storage, query, receivers, and fetchers each select providers. Agents and probes point at the OAP address rather than appearing automatically. Retention, sampling, timezone, alarm rules, credentials, and database compatibility all need deliberate values. Open issue 14058 adds a current reason for regression coverage: its reporter found a latency-sorted trace query on version 11.0 and BanyanDB 0.11.0 returning spans outside a requested 30-minute window.

A September push and 42 open items indicate active maintenance

GitHub recorded 24,945 stars, 42 combined issues and pull requests, and a push on 2026-09-09. That date is 12 days after v11.0.0, and issue activity on the same day includes the backend and BanyanDB. The open count includes proposed work and pull requests, so it should not be read as 42 defects. The release notes themselves document breaking changes, security boundaries, migrations, and dependency updates in unusual detail.

SkyWalking is a credible choice for an organization that wants one self-hosted view across many service types and has an observability team to own it. Jaeger is easier to justify for tracing alone. OpenTelemetry Collector Contrib is better when the collection layer must stay separate from storage and analysis, while SigNoz offers another integrated OpenTelemetry-centered route. Our passing 44-test result removes one source-build worry; it does not reduce the operating scope of OAP, storage, agents, UI, and protected admin networks.

Alternatives

ProjectWhat it isPick it when
Jaeger gh↗A distributed tracing system centered on collecting, searching, and visualizing traces.pick this instead when traces are the main requirement and SkyWalking's wider APM model is unnecessary.
OpenTelemetry Collector Contrib gh↗A vendor-neutral telemetry collector with a large catalog of receivers, processors, and exporters.pick this instead when you need a collection pipeline and will choose storage and analysis tools separately.
SigNoz gh↗A self-hosted observability product built around OpenTelemetry data and a single web interface.pick this instead when an OpenTelemetry-first product experience matters more than SkyWalking's native agents and OAP model.

What people are saying

  1. [velocity-scout] apache/skywalking

Sources

  1. Apache SkyWalking README
  2. Apache SkyWalking v11.0.0 release
  3. SkyWalking source build guide
  4. SkyWalking backend setup
  5. SkyWalking admin API security notice
  6. Latency-sorted trace issue 14058

More self-hosted reviews

bitcoin · awesome-selfhosted · gopeed · httpsms · FlClash · zulip · the whole board →