SQL Server agent behavior monitoring Operating System (OS) data in Microsoft SQL Server clusters
How are Microsoft SQL Server clusters monitored under Foglight for SQL Server cartridge?
When deploying new SQL Server agents, the Foglight for SQL Server cartridge creates a single DB_SQL_Server agent and an IC (Infrastructure cartridge) agent for the active physical monitored host.
Prior to the 220.127.116.11 SQL Server cartridge, a single Infrastructure (Windows) agent was created for the cluster virtual name.
Beginning with the 18.104.22.168 and higher releases
A single Infrastructure (Windows) agent for the cluster virtual name (the output of select @@servername registered in SQL Server).
When a failover occurs, and it detects that the instance is running on a different physical host, and a new Infrastructure (Windows) agent is created for that host if it does not exist already.
As each Infrastructure agent monitors different physical hosts, no topology churn (data duplication causing performance issues) is expected.
Additionally the new design displays the host name on the Global View (Databases Dashboard), and will show the active node under the Host column. When hovering over the Host column, the popup will display the nodes that have participated in a failover in the Windows Cluster. All nodes of the cluster will not display unless it has been failed over once. So nodes which were not active yet will not be reported in the hover until activated/failover once.
Please note that creating a new IC agent is only expected if the underlying SQL Server is configured as FailOver Cluster. It is not the same if it is an Always on Instance. For the latter, each instance is monitored separately and IC is suppose to be installed when the db agent was created and not during failover. The rationale is that unlike with failover clusters, the always on failover does not affect the whole instance - just some databases. In addition, each of the instances that pose as always on replicas, are monitored separately anyway so their underlying os is already known at the time of installing them so we don't need to wait for a failover to detect them