This document is intended for customers and prospects who wish to test their connectivity to one of the following destinations:
Both public and on-premise Microsatellites accept telemetry data via the following reporting mechanisms:
Support for Thrift over HTTP will be deprecated!
This document will focus on testing connectivity to public and on-premise Microsatellite pools over both HTTP and gRPC (HTTP/2).
The public Microsatellite pool’s gRPC endpoint for both trace and metric ingest is ingest.lightstep.com:443
.
The public Microsatellite pool has a number of versioned HTTP endpoints, listed here.
All of Cloud Observability’s ingestion endpoints are encrypted with TLS.
On-premise Microsatellites follow the same endpoint scheme. Replace ingest.lightstep.com:443
with the IP address/hostname and port of your on-premise Microsatellite in order to determine its gRPC and HTTP ingestion points.
The remainder of this document will focus primarily on testing connectivity for trace ingest purposes.
Cloud Observability OTLP/HTTP endpoints for trace ingest are as follows:
application/x-protobuf
Start tabs
On-Premise Satellites
1
https://<microsatellite_ip>:<microsatellite_port>/v1/traces
Public Satellites
1
https://ingest.lightstep.com:443/v1/traces
End code tabs
application/json
Start tabs
On-Premise Satellites
1
https://<microsatellite_ip>:<microsatellite_port>/api/v2/otel/trace
Public Satellites
1
https://ingest.lightstep.com:443/api/v2/otel/trace
End code tabs
Start tabs
On-Premise Satellites
1
https://<microsatellite_ip>:<microsatellite_port>/v1/traces
Public Satellites
1
2
3
https://ingest.lightstep.com:443/traces/otlp/v0.6
or
https://ingest.lightstep.com:443/v1/traces
End code tabs
If you are using OTLP v0.5, you must upgrade as Cloud Observability support for v0.5 will be deprecated!
For on-premise Microsatellites, replace ingest.lightstep.com:443
with the Microsatellite’s IP address/hostname and port number.
In order to test connectivity to a public or on-premise Microsatellite via its HTTP ingestion points, you will need to use a command-line utility such as curl
, and you will need your Cloud Observability access token in order to authenticate the request.
While using the following protobuf JSON payload, small_data.json
, to represent a test span, run the following curl command to test overall connectivity to the public Microsatellite pool:
small_data.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
{
"resourceSpans": [
{
"resource": {
"attributes": [
{
"key": "service.name",
"value": {
"stringValue": "curl-test-otel-pipeline"
}
}
]
},
"scopeSpans": [
{
"spans": [
{
"traceId": "71699b6fe85982c7c8995ea3d9c95df2",
"spanId": "3c191d03fa8be065",
"name": "test-span",
"kind": 1,
"droppedAttributesCount": 0,
"events": [],
"droppedEventsCount": 0,
"status": {
"code": 1
}
}
],
"scope": {
"name": "local-curl-example"
}
}
]
}
]
}
Start tabs
curl to public Microsatellite pool
1
2
3
curl -ivL -H "Lightstep-Access-Token: <LIGHTSTEP_ACCESS_TOKEN>" \
-H "Content-Type: application/json" \
https://ingest.lightstep.com/traces/otlp/v0.9 -d @small_data.json
End code tabs
To test connectivity to an on-premise Microsatellite, run a curl
command similar to the following:
Start tabs
curl to on-premise Microsatellite pool
1
2
3
curl -ivL -H "Lightstep-Access-Token: <LIGHTSTEP_ACCESS_TOKEN>" \
-H "Content-Type: application/json" \
http://{Microsatellite_ip}:{port_number}/traces/otlp/v0.9 -d @small_data.json
End code tabs
A successful request against either type of Microsatellite should receive a 200 HTTP response, and a successful response will include a receive and transmit timestamp:
{"receiveTimestamp":"2022-04-29T03:57:33.827317232Z","transmitTimestamp":"2022-04-29T03:57:33.864646841Z"}
An HTTP response code of 400 Bad Request
indicates either an issue with the access token in use, or a problem with the payload sent to the public Microsatellite pool.
If you receive an HTTP response indicating a request timeout, verify that a web proxy or firewall is not intercepting the traffic destined for the Microsatellite.
Testing against a public or on-premise Microsatellite pool’s gRPC ingest path requires a tool called grpcurl
, available here. You can ensure that you have a direct connection to Cloud Observability by downloading and running the aforementioned tool with your Cloud Observability access token for authentication:
grpcurl -H 'lightstep-access-token:{LS_ACCESS_TOKEN}' ingest.lightstep.com:443 list
You should receive a response listing the RPCs in use by the server:
1
2
3
4
5
6
7
$ grpcurl -H 'lightstep-access-token:{LS_ACCESS_TOKEN}' ingest.lightstep.com:443 list
grpc.reflection.v1alpha.ServerReflection
jaeger.api_v2.CollectorService
lightstep.collector.CollectorService
lightstep.egress.CollectorService
opentelemetry.proto.collector.trace.v1.TraceService
You can run grpcurl against an on-premise Microsatellite and expect a similar response:
1
2
3
4
5
6
7
$ grpcurl -H 'lightstep-access-token:{LS_ACCESS_TOKEN}' {Microsatellite_ip}:{grpc_port} list
grpc.reflection.v1alpha.ServerReflection
jaeger.api_v2.CollectorService
lightstep.collector.CollectorService
lightstep.egress.CollectorService
opentelemetry.proto.collector.trace.v1.TraceService
If you receive any errors such as:
Failed to dial target host "ingest.lightstep.com:443": context deadline exceeded
or
Failed to dial target host "ingest.lightstep.com:443": read tcp 192.168.95.2:37948->35.222.219.106:443: read: connection reset by peer
verify that there are no proxies or firewalls in the environment that might be blocking direct access via gRPC to the Microsatellite pool in question.
Verify and test Microsatellite setup
Updated May 4, 2022