Run OBI as a standalone process
OBI can run as a standalone Linux OS process with elevated privileges that can inspect other running processes.
Download and install
You can download the OBI executable from the OBI releases page.
Set up OBI
Create a configuration file following the configuration options documentation.
Run OBI as a privileged process:
sudo ./obi --config=<path to config file> Example configuration
Here’s an example configuration file (obi-config.yml):
# Basic configuration discovery: services: - name: my-service open_ports: [8080, 8090] exe_path: /usr/local/bin/my-service # Traces configuration traces: # Enable tracing enabled: true # OpenTelemetry endpoint otlp_endpoint: http://localhost:4318 # Trace format format: otlp # Metrics configuration metrics: # Enable metrics enabled: true # OpenTelemetry endpoint otlp_endpoint: http://localhost:4318 # Metrics format format: otlp # Logging configuration log_level: info Run OBI
Run OBI with the configuration file:
sudo ./obi --config=obi-config.yml Configuration options
For a complete list of configuration options, see the configuration documentation.
Permissions
OBI requires elevated privileges to function properly. For more information about the specific capabilities required, see the security documentation.
Example: Docker instrumentation
To instrument a Docker container, you can run OBI on the host:
sudo ./obi --config=obi-config.yml With a configuration that targets the container:
discovery: services: - name: my-container-service open_ports: [8080] exe_path: /proc/*/root/app/my-app Example: System-wide instrumentation
To instrument all services on a system:
discovery: services: - name: all-services open_ports: [80, 443, 8080, 8443] log_level: info This configuration will instrument all processes listening on the specified ports.
Feedback
Was this page helpful?
Thank you. Your feedback is appreciated!
Please let us know how we can improve this page. Your feedback is appreciated!