Discovery
Discovery builds a live inventory of what runs on each host or cluster. The web interface uses it to offer to instrument a service or monitor a database, instead of asking you to configure it by hand. It runs on all deployment modes.
What discovery finds
Section titled “What discovery finds”The agent finds two kinds of things:
- Application services, classified by runtime (Java, .NET, Node.js, Python, PHP, Go, and Ruby), with framework and web-server hints (nginx, Apache, and php-fpm) where they apply.
- Databases and middleware running locally, such as PostgreSQL, MySQL, Redis, and MongoDB.
For each service, discovery records how it is managed and which ports it listens on.
The Discovered Services list
Section titled “The Discovered Services list”Discovery shows its inventory as a Discovered Services list on the host detail page in the web interface. Each entry shows:
- Name and runtime (for example,
checkoutrunning Java). - Runtime version, where it affects a decision (for example, the PHP major and minor version, or whether a .NET app runs on .NET Framework or .NET Core).
- Kind: how the service is managed, such as a systemd unit, a bare process, a container, a Windows service, or an Internet Information Services (IIS) application pool.
- Listen ports.
- State:
runningoridle. Discovery also reports installed-but-not-running services asidle, so you can choose to instrument one on its next start. - Instrumentable flag: whether the agent has a way to attach application tracing to that runtime.

Stable service identity
Section titled “Stable service identity”Each discovered service gets a stable identity that survives restarts and process-ID changes. This is what lets an Instrument choice keep applying after a service restarts: you instrument checkout, not a process that will be gone after the next deploy.
Privacy and safety
Section titled “Privacy and safety”Discovery keeps sensitive data on the host:
- It never sends raw environment variables or full command lines to KloudMate, because these can contain secrets. It extracts only what it needs to classify a service (runtime, version, and listen ports) and discards the rest.
- It skips the agent itself and developer tools, so they are not listed or instrumented.
How discovery powers the rest of the agent
Section titled “How discovery powers the rest of the agent”The Discovered Services list is the entry point for the opt-in features:
- Application APM: each instrumentable service has an Instrument toggle that starts tracing for that service. See Application APM.
- Database monitoring: a discovered database starts the monitoring wizard, which prefills the engine and endpoint. See Database monitoring.