I’m working on a DSC pull server project. I thought the hard job was done since I finished the setup of a configuration release pipeline, but now I try to get reporting and monitoring …
As I understand, the report part has been recoded in pull server V2, so a lot of examples found on the Net are deprecated.
As I read in this forum, there is no way to query the report server to find a list of ‘managed’ nodes. The only query that seems available is PSDSCPullServer.svc/Nodes(AgentId=‘xxx’)/Reports
I’ve read about the SQL backend ‘trick’ but I don’t feel confortable with this kind of ‘hack’ for a production service.
For now, I’ve created a script to parse IIS logs, detect AgentID, query the report server for each AgentID and send main job data to Splunk. Then I create reports with Splunk… not very efficient :-/
What did you setup for monitoring and reporting your nodes state ?
Is there a plan to bring Azure Automation Report on premises ?
Is there a third party product that do the job ?
Great question!
Since we have multiple PullServers in different regions, the SQL ‘hack’ you mentioned was the only option to ensure we have a central database for reporting. I don’t see it as much of a ‘hack’ though and having data in SQL DB is a big plus.
As I understand how it works, you use a ‘fake’ MDB file that maps tables to those in SQL Server. I said ‘hack’ because if there is an update in pull server code, you’ll have to forge a new ‘fake’ MDB file.
But, it seems to work for you, I may reconsider my judgement
I am hoping next version of PullServer will have SQL DB backend
I have tested PowerBI example you mention and it works fine although I think it needs more refinement. As you can see in the Desired Result->Resources Overview table hostnames are repeated three times per column.
I think SQL Reports would be a better choice for us. Still working on it.
Last part of the configuration for the nodes I have a script that converts Get-DscConfigurationStatus to base64 and puts it into a column in a sql db I have for server inventory. Anytime I want to view it for a specific node or all nodes I just run my function to pull the data from sql and convert from base64