The IOAM Collector is used inside the Cross-Layer Telemetry (CLT) project.
Its role is to enhance OpenTelemetry traces and spans for a specific backend (in this case, Jaeger) with IOAM data.
By default, it listens on port 7123.
Please make sure that golang and its environment are already installed. For this example, golang version 1.19 was used.
Get the IOAM API (proto3) file for Cross-Layer Telemetry (CLT branch):
wget https://raw.githubusercontent.com/Advanced-Observability/ioam-api/clt/ioam_api.proto
And generate its go
files:
protoc --go_out=. --go-grpc_out=. ioam_api.proto
Automatically download dependencies:
go mod init ioam-collector
go mod tidy
Either run it directly:
go run ioam-collector.go
Or compile it and run the executable:
go build ioam-collector.go
./ioam-collector