Getting started with Uptrace
Get started
Getting started with Uptrace and OpenTelemetry is easy:
- You can host Uptrace on your servers or create a cloud account. Either way, you will obtain a DSN which contains Uptrace connection details, for example,
https://secret@api.uptrace.dev?grpc=4317
. - To start receiving telemetry data, use the DSN to configure OpenTelemetry for your programming language.
Have questions? Get help via Telegram, Slack, or start a discussion on GitHub.
Hosted
There are several Uptrace editions with different features that you can host on your servers.
- Community Edition is a free version of Uptrace with limited functionality and no support.
- Premium Edition costs $200 a month and provides full functionality with basic support via GitHub issues.
- Managed Edition costs $1000 a month and is fully managed by Uptrace team. The support is provided 16/5 via Slack, Telegram, or emails.
Feature | Community | Premium | Managed |
---|---|---|---|
Project management via UI | ❌ | ✔️ | ✔️ |
Per-project data retention | ❌ | ✔️ | ✔️ |
Role-based access control | ❌ | ✔️ | ✔️ |
Single Sign-On using OIDC and SAML | ❌ | ✔️ | ✔️ |
Two-factor authentication | ❌ | ✔️ | ✔️ |
High-availability setup | ❌ | ✔️ | ✔️ |
Managed by Uptrace | ❌ | ❌ | ✔️ |
To learn more, feel free to contact support or schedule a call.
Infrastructure monitoring
To monitor host (infrastructure) metrics, Redis, PostgreSQL, MySQL and many more, use OpenTelemetry Collector.
If you are using AWS, you can also send CloudWatch Metrics directly to Uptrace.
Logs monitoring
To monitor logs, you can use Vector and FluentBit integrations.
If you are using AWS, you can also send CloudWatch Logs directly to Uptrace.
DSN
Uptrace DSN (Data Source Name) is a connection string that is used to connect and send data to an Uptrace backend. It contains a backend address (host:port) and a secret token that grants access to a project.
For example, the DSN http://project1_secret_token@localhost:14318?grpc=14317
contains the following information:
http
tells the client to disable TLS. Usehttps
to enable TLS.localhost:14317
is an address of the Uptrace backend. The cloud version always uses theapi.uptrace.dev
address without a port.project1_secret_token
is a secret token that is used for authentication.?grpc=14318
is a GRPC port for OpenTelemetry protocol.
You can find your project DSN on the Project Settings page:
Resource attributes
Resource attributes are key-value pairs that provide metadata about the monitored entity, such as a service, process, or container. They help identify the resource and provide additional information that can be used to filter and group telemetry data.
Attribute | Comment |
---|---|
service.name | Logical name of the service. Uptrace provides an overview of all services. |
service.version | The version string of the service API or implementation. |
deployment.environment | Name of the deployment environment (aka deployment tier). Uptrace can group spans from different environments separately. |
host.name | Name of the host. Usually, resource detectors discover and set this attribute automatically. |
You can set those attributes by using the env
resource detector and providing the OTEL_RESOURCE_ATTRIBUTES
environment variable:
export OTEL_RESOURCE_ATTRIBUTES=service.name=myservice,service.version=1.0.0,deployment.environment=production
Or you can configure them during OpenTelemetry initialization:
// https://uptrace.dev/get/opentelemetry-go
import (
"github.com/uptrace/uptrace-go/uptrace"
"go.opentelemetry.io/otel/attribute"
)
uptrace.ConfigureOpentelemetry(
// copy your project DSN here or use UPTRACE_DSN env var
//uptrace.WithDSN("<FIXME>"),
uptrace.WithServiceName("myservice"),
uptrace.WithServiceVersion("v1.0.0"),
uptrace.WithResourceAttributes(
attribute.String("deployment.environment", "production"),
),
)