Is your feature request related to a problem? Please describe.
The Bumblebee endpoint cannot be moved to a port other than the default port 9091.
In our architecture. Bumblebee is not directly scraped by Prometheus because we require data enrichment with user space information. To achieve this, we have wrapped the Bumblebee endpoint.
The idea: While Bumblebee streamlines user space development and is hidden from developers, this approach also introduces some lack of flexibility when dealing with user-space data. However, this "wrapper-based" approach can mitigate Bumblebee's lack of control on the user space side. (see also: this other issue)
Here's how it works:
Prometheus scrapes our wrapper endpoint, which is on port 9091.
The wrapper endpoint calls the Bumblebee endpoint, adds additional information to the metrics, and returns the enriched metric to Prometheus.
Both Bumblebee and the wrapper share the same POD, which is why we cannot use the default 9091 port for Bumblebee to avoid conflicts.
Describe the solution you'd like
Add a -port flag to override the default port
Describe alternatives you've considered
split the two containers adding two different pod.
However, this is not a good approach for us.
Before we also considered an alternative way to send "messages" from user space to kenel spaces. We attached a probe on file open and used the TOUCH and CAT operation on files (and paths) under a specific folder to "communicate" some filter to the kernel space. E.G. we sent the cgroups of running pods throug touching a filename with the corresponding name. TOUCH a file with a certain CGROUP means "POD STARTED". CAT the same file means "POD STOPPED".
We used this information to keep the shared map as clean as possible from cgroups that no logner belongs to a running pod.
It workes, but this is not ideal, the C code is much more complicated than the plain C we actually need, so we moved to the "wrapper" pattern. However we need to restart bumblebee once a day to free the map.
Version
0.0.13
Linux Version
5.15.0-46-generic
Is your feature request related to a problem? Please describe.
The Bumblebee endpoint cannot be moved to a port other than the default port 9091.
In our architecture. Bumblebee is not directly scraped by Prometheus because we require data enrichment with user space information. To achieve this, we have wrapped the Bumblebee endpoint.
The idea: While Bumblebee streamlines user space development and is hidden from developers, this approach also introduces some lack of flexibility when dealing with user-space data. However, this "wrapper-based" approach can mitigate Bumblebee's lack of control on the user space side. (see also: this other issue)
Here's how it works:
Prometheus scrapes our wrapper endpoint, which is on port 9091. The wrapper endpoint calls the Bumblebee endpoint, adds additional information to the metrics, and returns the enriched metric to Prometheus. Both Bumblebee and the wrapper share the same POD, which is why we cannot use the default 9091 port for Bumblebee to avoid conflicts.
Describe the solution you'd like
Add a -port flag to override the default port
Describe alternatives you've considered
split the two containers adding two different pod. However, this is not a good approach for us.
Before we also considered an alternative way to send "messages" from user space to kenel spaces. We attached a probe on file open and used the TOUCH and CAT operation on files (and paths) under a specific folder to "communicate" some filter to the kernel space. E.G. we sent the cgroups of running pods throug touching a filename with the corresponding name. TOUCH a file with a certain CGROUP means "POD STARTED". CAT the same file means "POD STOPPED". We used this information to keep the shared map as clean as possible from cgroups that no logner belongs to a running pod.
It workes, but this is not ideal, the C code is much more complicated than the plain C we actually need, so we moved to the "wrapper" pattern. However we need to restart bumblebee once a day to free the map.
Additional Context
No response