The example shown in https://msdn.microsoft.com/en-us/powershell/dsc/reportserver looks useful for one or a handful of nodes. However, it doesn't appear to scale well if you have to run Invoke-WebRequest for each AgentID and have a hundred or more nodes. Is there a more efficient way to retrieve info about all nodes at once? It looks like the information is stored in these edbXXXXXX.log files in the DscService folder.
The reportserver isn't scalable.
It's still a new feature which will probably get more love and attention as the technology matures.
In cases of multiple nodes, you can create multiple reportservers, defenitly one for each environment, like prod, test, etc.
The solution for now will be to use event logs gathering from the nodes, combined with live scanning of LCMState and LCMStateDetails on the node.
You can add in your custom resources the ability to write to event log as well and then gather them.
I've noted before in other reportserver/complianceserver posts that at the moment, the implementation is extremely not enterprise-ready. The fact I need to maintain a list of all the AgentIDs of all the nodes, and can't get it directly from the edb database via the same REST API is a big drawback.
Use the github repo but mainly UserVoice to suggest changes and new features. I think there is already one about it, but can't remember.