Check_MK Discovery Can not load Robotmk JSON data! (json.loads())

Hi Joel,
sorry for my late reply. Has been a busy week…
The blogpost is a bit outdated. That’s why your robotmk.yml looks different from the one in the article.
As long as there is no documentation for Robotmk (yet), I can highly recommend the inline help. I think most of your questions are answered there already:

In order to better understand what Robotmk does (and what not…), inspect the log files:
image

Yes, the robotdir must be created by hand.

Then, regarding your robotmk.yml: it contains suites: {}. This is ok - Robotmk will execute all suites found in robotdir. But without specifying suite names, you cannot benefit from the Robotmk feature to set Robot Parameters like variables, re-execution etc.

Also check the following things and let me know:

  • Can you execute the Robot test itself? => robot foo.robot
  • Is the CMK agent able to start robotmk-runner.py?
    • On Windows, Python modules must be installed within an admin cmd (pip3 install robotframework pyyaml mergedeep python-dateutil) - there should never be Python modules in a profile directory
    • Check the cmk agent log: which interpreter does the cmk agent use to start robotmk-runner? If you see the interpreter of the agent (venv…), this is wrong. In this case, configure the Python interpreter like this:
      image
  • Does your Robot test produce any console output? The runner execution (see above) must not produce any stdout.
  • Check the log files robotmk-controller.log and robotmk-runner.log for any error (increase the logging level in robotmk.yml)
  • Does the runner produce State files? XML/HTML files?
  • Execute the agent:
    • Does it produce a <<<robotmk>>> section when executed locally?
    • Do you see the section if executed remotely from the CMK server?

I am happy to help you - kind regards,
Simon