Odigos VM Agent brings powerful distributed tracing to Linux virtual machines, eliminating the need to install, manage, and maintain OpenTelemetry in each specific service. Designed specifically for VMs, this agent supports seamless integration with systemd-managed services.
With this solution, developers can trace VM-based applications across multiple languages (Go, Python, Java, etc.) without modifying the code. Its lightweight nature ensures minimal overhead, making it ideal for teams running workloads in environments with systemd-managed services.
a. Ensure you have a Linux VM running systemd-managed services.
b. Obtain an Odigos Pro license:
c. Add the Odigos repository to your package manager:
For Debian-based systems (Ubuntu, Debian):
curl -fsSL <https://packages.odigos.io/odigos.gpg> | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/odigos.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/trusted.gpg.d/odigos.gpg] <https://packages.odigos.io/deb> stable main" | sudo tee /etc/apt/sources.list.d/odigos.list > /dev/null
sudo apt update
For RPM-based systems (CentOS, RHEL, Fedora):
sudo rpm --import <https://packages.odigos.io/odigos.gpg>
sudo tee /etc/yum.repos.d/odigos.repo << EOF
[odigos]
name=Odigos Repository
baseurl=https://packages.odigos.io/rpm
enabled=1
gpgcheck=1
gpgkey=https://packages.odigos.io/odigos.gpg
EOF
sudo dnf check-update
a. Install the Odigos VM Agent package:
For Debian-based systems:
sudo apt install odigos-vm-agent
For RPM-based systems:
sudo dnf install odigos-vm-agent
b. Enable and start the Odigos VM Agent service:
sudo systemctl enable odigos-vm-agent
sudo systemctl start odigos-vm-agent
a. Open the configuration file:
sudo nano /etc/odigos/vm-agent.yaml
b. Add your Odigos Pro license key:
license:
key: "your-license-key-here"
c. Specify the services you want to instrument:
sources:
systemd:
services:
- service_name: <my-service>
instrumentation_disabled: false
ignored_service_names:
- rsyslog
- ssh
- networkd-dispatcher
d. Add the destination:
destinations:
- name: jaeger
type: jaeger
config:
JAEGER_URL: <jaeger-collector-otlp-grpc-endpoint>
signals:
- TRACES
For the full list of destinations please see the list of supported backends and how to configure them.
e. Save and close the file (in nano, press Ctrl+X, then Y, then Enter).
a. Reload the VM Agent to apply the new configuration:
sudo systemctl reload odigos-vm-agent
b. Verify the agent is running correctly:
sudo systemctl status odigos-vm-agent
a. Run your applications and generate some traffic.
b. Check the Odigos VM Agent logs for any issues:
sudo journalctl -u odigos-vm-agent
c. Access your chosen observability tool (e.g., Jaeger, Tempo) to view the collected traces:
If you encounter any issues:
a. Check the Odigos VM Agent logs:
sudo journalctl -u odigos-vm-agent -f
b. Ensure your license key is correct and not expired.
c. Verify that the configured services are running and managed by systemd.
d. Check network connectivity to your specified exporter endpoint.
e. For further assistance, contact us.
Remember to regularly update the Odigos VM Agent to benefit from the latest features and improvements:
For Debian-based systems:
sudo apt update
sudo apt upgrade odigos-vm-agent
For RPM-based systems:
sudo dnf upgrade odigos-vm-agent
By following these detailed steps, you should have the Odigos VM Agent up and running, automatically collecting and exporting traces from your specified services. This setup provides you with powerful observability capabilities for your virtual machine environment, allowing you to monitor and optimize your applications effectively.
Odigos VM Agent removes the barriers to effective observability in virtual machine environments. By automating the instrumentation process and integrating seamlessly with your existing tools, it allows you to focus on what matters most—delivering reliable and high-performing applications.