Question about community.general.opentelemetry callback

254 views
Skip to first unread message

Daniel Barros

unread,
Oct 28, 2022, 10:58:34 AM10/28/22
to Ansible Project

Hi group, good day, how are you?

 

I have a question about using community.general.opentelemetry to send data to APM.

I have set my ansible.cfg like this.

 

[defaults]

callbacks_enabled = community.general.opentelemetry

 

[callback_opentelemetry]

enable_from_environment = ANSIBLE_OPENTELEMETRY_ENABLED

 

And then environment variables like this.

OTEL_EXPORTER_OTLP_ENDPOINT=http://elk-server:8200

OTEL_EXPORTER_OTLP_HEADERS="authorization=Bearer xxxxxx"

OTEL_SERVICE_NAME=ansible

 

I have also installed the telemetry python packages

pip list | grep opentele
opentelemetry-api                      1.13.0
opentelemetry-exporter-otlp            1.13.0
opentelemetry-exporter-otlp-proto-grpc 1.13.0
opentelemetry-exporter-otlp-proto-http 1.13.0
opentelemetry-instrumentation          0.34b0
opentelemetry-proto                    1.13.0
opentelemetry-sdk                      1.13.0
opentelemetry-semantic-conventions     0.34b0

 

But still getting this error, does anyone have some ideas?

Appreciate it

 

[WARNING]: Skipping callback 'community.general.opentelemetry', unable to load due to: The `opentelemetry-api`,
`opentelemetry-exporter-otlp` or `opentelemetry-sdk` must be installed to use this plugin

 

Dick Visser

unread,
Oct 28, 2022, 11:20:25 AM10/28/22
to ansible...@googlegroups.com
What does 'ansible --version' say?
And 'pip --version'



--
You received this message because you are subscribed to the Google Groups "Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ansible-proje...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/5c9d6031-c456-454b-8832-9e315b011981n%40googlegroups.com.
--
Sent from Gmail Mobile

Daniel Barros

unread,
Oct 28, 2022, 11:23:51 AM10/28/22
to ansible...@googlegroups.com
Hi man, thanks for the time.

Please see the information as requested

ansible --version
ansible [core 2.13.2]

pip --version
pip 22.3 from /home/daniel/py_venvs/ansible_2.13/lib/python3.9/site-packages/pip (python 3.9)

python --version
Python 3.9.13

You received this message because you are subscribed to a topic in the Google Groups "Ansible Project" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ansible-project/sB3WiogfqxU/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ansible-proje...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/CAF8BbLaTBWay_OrwwA%2BPyB%3DoaObV7paJ80Q%3Db%3DXOftqNXd5UeQ%40mail.gmail.com.

Dick Visser

unread,
Oct 29, 2022, 11:49:36 AM10/29/22
to ansible...@googlegroups.com
On Fri, 28 Oct 2022 at 17:23, Daniel Barros <danielne...@gmail.com> wrote:
Hi man, thanks for the time.

Please see the information as requested

ansible --version
ansible [core 2.13.2]

This is not the entire output. It should like this like this:

ansible [core 2.11.7]
  config file = /Users/dick.visser/git/github.com/dnmvisser/tienhuis_ansible/ansible.cfg
  configured module search path = ['/Users/dick.visser/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /Users/dick.visser/git/github.com/dnmvisser/tienhuis_ansible/venv/lib/python3.9/site-packages/ansible
  ansible collection location = /Users/dick.visser/.ansible/collections:/usr/share/ansible/collections
  executable location = /Users/dick.visser/git/github.com/dnmvisser/tienhuis_ansible/venv/bin/ansible
  python version = 3.9.9 (main, Jan 25 2022, 23:02:06) [Clang 13.0.0 (clang-1300.0.29.30)]
  jinja version = 3.0.3
  libyaml = True

 

Daniel Barros

unread,
Nov 7, 2022, 4:57:56 AM11/7/22
to Ansible Project
Hi man.

This is the entire output

ansible --version
ansible [core 2.13.2]
  config file = None
  configured module search path = ['/home/daniel/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/daniel/py_venvs/ansible_2.13/lib/python3.9/site-packages/ansible
  ansible collection location = /home/daniel/.ansible/collections:/usr/share/ansible/collections
  executable location = /home/daniel/py_venvs/ansible_2.13/bin/ansible
  python version = 3.9.13 (main, May 23 2022, 22:02:02) [GCC 7.5.0]
  jinja version = 3.1.2
  libyaml = True

Dick Visser

unread,
Nov 7, 2022, 12:53:04 PM11/7/22
to ansible...@googlegroups.com
That seems right.
I don't know what it could be then.

Matt Martz

unread,
Nov 7, 2022, 12:56:32 PM11/7/22
to ansible...@googlegroups.com
Maybe also take a look at `pip list -v` to see the paths of where those python libraries are installed.  And make sure they are in /home/daniel/py_venvs/ansible_2.13/lib/python3.9/site-packages/



--
Matt Martz
@sivel
sivel.net

Daniel Barros

unread,
Nov 7, 2022, 4:16:05 PM11/7/22
to ansible...@googlegroups.com
Yes, it's strange.

They are installed in that path
 pip list -v | grep opent
opentelemetry-api                      1.13.0    /home/daniel/py_venvs/ansible_2.13/lib/python3.9/site-packages pip
opentelemetry-exporter-otlp            1.13.0    /home/daniel/py_venvs/ansible_2.13/lib/python3.9/site-packages pip
opentelemetry-exporter-otlp-proto-grpc 1.13.0    /home/daniel/py_venvs/ansible_2.13/lib/python3.9/site-packages pip
opentelemetry-exporter-otlp-proto-http 1.13.0    /home/daniel/py_venvs/ansible_2.13/lib/python3.9/site-packages pip
opentelemetry-instrumentation          0.34b0    /home/daniel/py_venvs/ansible_2.13/lib/python3.9/site-packages pip
opentelemetry-proto                    1.13.0    /home/daniel/py_venvs/ansible_2.13/lib/python3.9/site-packages pip
opentelemetry-sdk                      1.13.0    /home/daniel/py_venvs/ansible_2.13/lib/python3.9/site-packages pip
opentelemetry-semantic-conventions     0.34b0    /home/daniel/py_venvs/ansible_2.13/lib/python3.9/site-packages pip

But I was able to make it work using a container on AWX. I'll try to reinstall my venv and packages to work locally.
Thanks for your tips!!

Felix Fontein

unread,
Nov 7, 2022, 4:29:18 PM11/7/22
to ansible...@googlegroups.com
Hi,

unfortunately you did not mention which version of community.general
you are using. For opentelemetry-api 1.13.0 you need community.general
5.8.0, since that contains a bugfix which allows the opentelemetry
callback to work with that version. (It removed some helper function
that the plugin was using, see
https://github.com/ansible-collections/community.general/blob/stable-5/CHANGELOG.rst#bugfixes.)

Cheers,
Felix

Daniel Barros

unread,
Nov 8, 2022, 2:03:37 PM11/8/22
to ansible...@googlegroups.com
Hi Felix.

You are completely right.
I've tried with the community.general:5.7.0 and it didn't work out.
After changing to version 6.0.0 it started to work perfectly.

Thank you all for sharing your knowledge.

Br,

--
You received this message because you are subscribed to a topic in the Google Groups "Ansible Project" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ansible-project/sB3WiogfqxU/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ansible-proje...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages