DSC Pull Server Reporting

Hi all,

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.

Thank you Sergei for your answer.

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 :wink:

How do you produce reports ? PowerBI as in https://blogs.technet.microsoft.com/fieldcoding/2017/05/21/visualize-dsc-reporting-with-powerbi/ ?

I am hoping next version of PullServer will have SQL DB backend :slight_smile:
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