Test your Python Apps with Geneos' Open Telemetry Plugin

When you don’t want to get locked into a specific vendor for your APM instrumentation OpenTelemetry is the way to go. It is the closest thing out there to vendor neutral.

Before anyone dives into OpenTelemetry instrumentation you might want to test out a simple integration. Follow these steps to test out a python.

This example is a great place to start because it sends over logs. If you can get this working, metrics and traces should follow behind easily.

  • Download this file or clone this repo to your local machine.
    Otel Python Example

  • Start up a python virtual environment

python3 -m venv
  • Download all the required packages
pip install opentelemetry-distro opentelemetry-exporter-otlp

opentelemetry-bootstrap -a install
  • Set the new Otel Endpoint to your Netprobe. In my case below I was just running it on my local machine. Be sure to replace localhost with your endpoint. Remember if you are running in Kubernetes, be sure to expose your service outside the cluster!
export OTEL_EXPORTER_OTLP_LOGS_ENDPOINT=localhost:4317
  • Run the Application
python example.py

This App should run at this point and send Logs to Geneos. If you do not have a mapping set up it will first appear in the InvalidStreams dataview.

The easiest way to get it in is to create a mapping for * in your FKM. That will pick the log up and allow you to tail and see how the stream name is constructed. You can tail the stream from Geneos to see the Action!