hi signoz community! i was wondering whether signo...
# support
m
hi signoz community! i was wondering whether signoz can support custom exporters/receivers? what is the effort of doing such a thing and is there example of something already existing?
d
It seems to just run an otel-collector, so presumably you can go and edit the config file... https://github.com/SigNoz/signoz/blob/main/deploy/docker/otel-collector-config.yaml
m
thanks, i’ll check it out.
i suppose that it supports only exporters/receivers from https://github.com/open-telemetry/opentelemetry-collector-contrib. i’m aiming more to a custom exporter/receiver. so far as i know i’d create receiver and bundle it with ocb and use custom otel-collector binary. is something like that supporter for signoz?
d
(i am not signoz support, so take what I say with a grain of sale) as long as your custom otel-collector supports whatever signoz needs... (you may need to base your custom one on theirs), you can just replace the image here I assume: https://github.com/SigNoz/signoz/blob/main/deploy/docker/docker-compose.yaml#L145
Copy code
image: signoz/signoz-otel-collector:${OTELCOL_TAG:-v0.128.2}
is what they use.. so you would need to create a Dockerfile that uses the above image as the base, overlays whatever you need on top of that...
except .. if you actually need to build the otel collector itself... that won't work
they have their own build system.. so you would just need to include the required exports/receievers/processors from the signoz-otel-collector and then your own ones
which I can only assume is what's running 🙂
maybe you can just add your custom components into: https://github.com/SigNoz/signoz-otel-collector/blob/main/components/components.go and rebuild...
m
that might be the way! thanks for all the help! 🙂 i’ll give it a try and provide feedback here once i have something
n
Yeah you will have to add it to components.go and rebuild. You can add it to either of https://github.com/SigNoz/signoz-otel-collector or https://github.com/open-telemetry/opentelemetry-collector-contrib (if you just want to update the collector agent)
m
this works. thanks!