Hi,
have you tried storing reports on the master/in PuppetDB and examining
those?
Specifically, PuppetBoard and PuppetExplorer may be good starting points
for you to get a quick visual of the data that is available. Scripting
your own retrieval and monitoring should be rather simple then.
Best regards,
Felix