-
Notifications
You must be signed in to change notification settings - Fork 724
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Exim integration gives no metric data #2209
Comments
Hi @cw-Widad, thanks for the details bug report. I’m afraid that since #1326, we have stopped using exim at $dayJob so I won‘t be able to work on this nor test any fix :-/ Regarding your notes:
|
Thanks for your reply @JeanFred I am not sure if piped commands is the way to go here, since Datadog documentation suggests not using subprocess python module directly (From the documentaion here : Since the Python interpreter that runs the checks is embedded in the multi-threaded Go runtime, using the subprocess or multithreading modules from the Python standard library is not supported in Agent version 6 and later.) I have tested using the exim -bpc command for just getting the total messages in queue, I will try rewriting the code for exim.queue.count using this and create a PR. |
Output of the info page
Additional environment details (Operating System, Cloud provider, etc):
Ubuntu 22.04.1 on Google Cloud Platform
Describe the results you received:
No metrics received even when queue has messages.
Results of running
exim -bp | exiqsumm
isLog files in /var/log/datadog/agent.log with log level set as debug shows these results
Describe the results you expected:
Expected results with a Count of 680 as shown in command line execution above and a value of 1312000 for volume.
Additional information you deem important (e.g. issue happens only occasionally):
Some debugging was done on the code and as far as I see, it is an bug in the code. The metric is created by a command called here. exim/datadog_checks/exim/check.py
The command is input wrong in the function call, it should be given as command and options separately, i.e ['exim', '-bp'] vs ['exim -bp'] . Datadog documentation also confirms this here. writing-checks-that-run-command-line-programs
The function call uses two commands piped together, while the documentation for the get_process_output clearly outlines that a piped command won't work here base/utils/subprocess_output.py
There are no tests run to check if the exim -bp command works here test_exim.py
The text was updated successfully, but these errors were encountered: