DHCP monitoring

When I initially implemented my framework I disabled a lot of rules and monitors for DHCP management packs.

At the time I did this I used these management packs:

  • Microsoft.Windows.DHCPServer.2012 - 6.0.7309.0
  • Microsoft.Windows.DHCPServer.2012.R2 - 6.0.7309.0
  • Microsoft.Windows.DHCPServer.Library - 10.1.0.1
  • Microsoft.Windows.DHCPServer.2016 - 10.1.0.1

I used these for scope monitoring:

  • Microsoft.Windows.DHCPServer.2012.AllIndScope.IPV4.FreeScopeAddresses.Percentage.Monitor
  • Microsoft.Windows.DHCPServer.10.0.AllIndScope.IPV4.FreeScopeAddresses.Percentage.Monitor

The classes for the 2 monitors are respectively:

  • Microsoft.Windows.DHCPServer.2012.IPv4ScopesRuntime
  • Microsoft.Windows.DHCPServer.10.0.IPv4ScopesRuntime

If you do a get-scomclassinstance on these you'll probably find there aren't any, making this monitoring useless. To confirm this go to Microsoft Windows Server DHCP > Scope Health in the console and you'll see all health states are not monitored.

So, we need to disable these and find replacement monitors for DHCP scopes.

If you go to Scope Health in the 2012 R2 view and double-click a server you will see there's 3 monitors under availability:

  • Microsoft.Windows.DHCPServer.Library.Scope.UnitMonitor.ScopeAddressesAvailable
  • Microsoft.Windows.DHCPServer.2012.IndScope.IPV4.FreeScopeAddresses.Quantity.Monitor
  • Microsoft.Windows.DHCPServer.2012.IndScope.IPV4.FreeScopeAddresses.Percentage.Monitor

The top monitor is very similar to the 2nd one in that they both alert based on the number of available IPs. The health state looks weird too (ScopeAddressesExhausted?) so I wonder if the 2nd monitor replaces it as it's more configurable.

In these cases I think it's better to go the percentage route as it scales better so I enabled these 2 monitors for 2012 R2 + 2016 DHCP servers:

  • Microsoft.Windows.DHCPServer.2012.IndScope.IPV4.FreeScopeAddresses.Percentage.Monitor
  • Microsoft.Windows.DHCPServer.10.0.IndScope.IPV4.FreeScopeAddresses.Percentage.Monitor
The monitors both work correctly with the overrides pointing to the Cmdb.Group.DHCPCat* groups.

Comments