8.4 Test Routing Connector
Exercise
Send a Regular Span:
- Locate the Test terminal and navigate to the
[WORKSHOP]/8-routing
directory. - Send a regular span using the
trace.json
file to confirm proper communication.
Both the Agent and Gateway should display debug information, including the span you just sent. The gateway will also generate a new gateway-traces-standard.out
file, as this is now the designated destination for regular spans.
Tip
If you check gateway-traces-standard.out
, it should contain the span
sent using the cURL
command. You will also see an empty gateway-traces-security.out
file, as the routing configuration creates output files immediately, even if no matching spans have been processed yet.
Send a Security Span:
- Ensure both the Agent and Gateway are running.
- Send a security span using the
security.json
file to test the gateway’s routing rule.
Again, both the Agent and Gateway should display debug information, including the span you just sent. This time, the Gateway will write a line to the gateway-traces-security.out
file, which is designated for spans where the deployment.environment
resource attribute matches "security_applications"
.
The gateway-traces-standard.out
should be unchanged.
Tip
If you verify the ./gateway-traces-security.out
it should only contain the spans from the "security_applications"
deployment.environment.
You can repeat this scenario multiple times, and each trace will be written to its corresponding output file.
Conclusion
In this section, we successfully tested the routing connector in the gateway by sending different spans and verifying their destinations.
Regular spans were correctly routed to
gateway-traces-standard.out
, confirming that spans without a matchingdeployment.environment
attribute follow the default pipeline.Security-related spans from
security.json
were routed togateway-traces-security.out
, demonstrating that the routing rule based on"deployment.environment": "security_applications"
works as expected.
By inspecting the output files, we confirmed that the OpenTelemetry Collector correctly evaluates span attributes and routes them to the appropriate destinations. This validates that routing rules can effectively separate and direct telemetry data for different use cases.
You can now extend this approach by defining additional routing rules to further categorize spans, metrics, and logs based on different attributes.
Stop the Agent, Gateway and the log-gen
script in their respective terminals.