|
| 1 | +--- |
| 2 | +title: "Deploy Jaeger all-in-one through the Linode Marketplace" |
| 3 | +description: "Learn how to deploy the all-in-one configuration of Jaeger, a CNCF distributed tracing system for monitoring and troubleshooting microservices architectures, on an Akamai Compute Instance." |
| 4 | +published: 2025-09-04 |
| 5 | +modified: 2025-09-04 |
| 6 | +keywords: ['distributed tracing', 'tracing','microservices','monitoring','observability','jaeger','cncf'] |
| 7 | +tags: ["marketplace", "linode platform", "cloud manager"] |
| 8 | +external_resources: |
| 9 | +- '[Jaeger Official Documentation](https://www.jaegertracing.io/docs/)' |
| 10 | +aliases: ['/products/tools/marketplace/guides/jaeger/','/guides/jaeger-marketplace-app/'] |
| 11 | +authors: ["Akamai"] |
| 12 | +contributors: ["Akamai"] |
| 13 | +license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' |
| 14 | +marketplace_app_id: 1902904 |
| 15 | +marketplace_app_name: "Jaeger" |
| 16 | +--- |
| 17 | + |
| 18 | +[Jaeger](https://www.jaegertracing.io/) is a CNCF distributed tracing system designed for monitoring and troubleshooting microservices-based distributed systems. It helps developers understand the architecture of complex systems through data-driven dependency diagrams, analyze request timelines, identify performance bottlenecks, and diagnose issues across service boundaries. Jaeger supports OpenTelemetry for instrumentation and provides a comprehensive platform for distributed trace collection, storage, and visualization. |
| 19 | + |
| 20 | +## Deploying a Marketplace App |
| 21 | + |
| 22 | +{{% content "deploy-marketplace-apps-shortguide" %}} |
| 23 | + |
| 24 | +{{% content "marketplace-verify-standard-shortguide" %}} |
| 25 | + |
| 26 | +{{< note >}} |
| 27 | +**Estimated deployment time:** Jaeger should be fully installed within 5-10 minutes after the Compute Instance has finished provisioning. |
| 28 | +{{< /note >}} |
| 29 | + |
| 30 | +## Configuration Options |
| 31 | + |
| 32 | +- **Supported distributions**: Ubuntu 24.04 LTS |
| 33 | +- **Recommended plan**: All plan types and sizes can be used. For production workloads handling high trace volumes, consider at least 4GB Shared Compute or higher for optimal performance. |
| 34 | + |
| 35 | +### Jaeger Options |
| 36 | + |
| 37 | +- **Administrator Username** *(required)*: Enter the username for accessing the Jaeger web interface. The default is `jaegeradmin`. |
| 38 | +- **Administrator Email Address** *(required)*: Enter the email address for the Jaeger administrator account. |
| 39 | + |
| 40 | +{{% content "marketplace-required-limited-user-fields-shortguide" %}} |
| 41 | + |
| 42 | +{{% content "marketplace-custom-domain-fields-shortguide" %}} |
| 43 | + |
| 44 | +{{% content "marketplace-special-character-limitations-shortguide" %}} |
| 45 | + |
| 46 | +## Getting Started after Deployment |
| 47 | + |
| 48 | +### Accessing the Jaeger Web Interface |
| 49 | + |
| 50 | +1. Open your web browser and navigate to `https://{{< placeholder "DOMAIN" >}}`, where `{{< placeholder "DOMAIN" >}}` is the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). You can also use your IPv4 address, but this connection is not encrypted. To learn more about viewing IP addresses and rDNS, see the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/). |
| 51 | + |
| 52 | +2. Use the following credentials to log in: |
| 53 | + - **Username**: Enter the administrator username you configured during deployment. The default is `jaegeradmin`. |
| 54 | + - **Password**: Enter the password stored in the credentials file on your server. To obtain it, log in to your Compute Instance via SSH or Lish and run: |
| 55 | + ```command |
| 56 | + cat /home/$USER/.credentials |
| 57 | + ``` |
| 58 | + |
| 59 | +### Configuring Applications for Tracing |
| 60 | + |
| 61 | +To send traces to your Jaeger instance, configure your applications to use [OpenTelemetry](https://opentelemetry.io/docs/) with the following endpoints: |
| 62 | + |
| 63 | +#### OTLP gRPC Endpoint (Recommended) |
| 64 | +- **Endpoint**: `https://{{< placeholder "DOMAIN" >}}:4317` |
| 65 | +- **Protocol**: OTLP/gRPC with mTLS |
| 66 | +- **Client Certificate Required**: Yes |
| 67 | + |
| 68 | +#### OTLP HTTP Endpoint |
| 69 | +- **Endpoint**: `https://{{< placeholder "DOMAIN" >}}:4318` |
| 70 | +- **Protocol**: OTLP/HTTP with mTLS |
| 71 | +- **Client Certificate Required**: Yes |
| 72 | + |
| 73 | +{{< note >}} |
| 74 | +Both trace ingestion endpoints require the mTLS client certificate authentication for security. Client certificates are located in `/etc/jaeger/tls/` on your server. You'll need to configure your applications with the appropriate client certificates to send traces to Jaeger. |
| 75 | +{{< /note >}} |
| 76 | +
|
| 77 | +Configure your application to use: |
| 78 | +- **Client Certificate**: `client-app-name-cert.pem` |
| 79 | +- **Client Key**: `client-app-name-key.pem` |
| 80 | +- **CA Certificate**: `ca-cert.pem` |
| 81 | +
|
| 82 | +### Badger Persistent Storage |
| 83 | +
|
| 84 | +Your Jaeger deployment uses [Badger](https://github.com/hypermodeinc/badger) as the persistent storage backend, ensuring trace data survives container restarts: |
| 85 | +
|
| 86 | +- **Storage Location**: `/var/lib/jaeger/badger` on the host system. |
| 87 | +- **Container Mount**: `/badger` inside the Jaeger container. |
| 88 | +
|
| 89 | +{{% content "marketplace-update-note-shortguide" %}} |
0 commit comments