How many agents are recommended for Foglight for Database environments?
When the OS monitoring checkbox is enabled in the installed or the Connection Details option, the database agent installer will install Infrastructure agents for the monitored database agent host.
IMPORTANT: A single Linux Foglight Agent Manager can handle up to 75 Windows agents (either SQL Server agent or Infrastructure agents) using WMI. As a result, when using WMI the number of Linux Foglight Agent Managers (FglAMs) is determined by the number of Windows agents divided by 75; for example, monitoring 300 Windows agents requires at least four (4) Linux Foglight Agent Managers.
This limitation does not apply to Windows Agent Managers. Quest R&D has successfully tested up to 2000 agents using WMI (i.e. 1000 database agents + 1000 WindowsAgents) using a single Windows Agent Manager.
If you are monitoring more than 75 agents using on a Linux FglAM, the monitored hosts should be configured to use WinRM.
Please use the following to obtain a list of IC agents monitoring hosts in the environment.
RESOLUTION 1
RESOLUTION 2
The following groovy script will export the list of ICAgents
To run the script from the Script console in the Foglight Management Server,
def out = new StringBuilder();
def agents = #!ICAgent#.topologyObjects;
if (agents != null) {
for (agent in agents) {
out.append(agent.name).append(" : ").append(agent.hostName).append(" : ").append(agent.type).append('\n');
}
}
return out.toString();
Database Monitoring is available for Oracle, SQL Server and SQL Server BI (Analysis services).
RESOLUTION 1
RESOLUTION 2
Following the same instructions previously provided to run from Script Console a query, please run the following script:
def out = new StringBuilder();
def agents = #!DBSS_Agent_Model#.topologyObjects;
if (agents != null) {
for (agent in agents) {
out.append(agent.name).append(" : ").append(agent.hostName).append(" : ").append(agent.type).append('\n');
}
}
return out.toString();
SQL PI is available only for Oracle, SQL Server and SQL Server BI (Analysis services).
Please refer to the Foglight for Databases deployment for the most current sizing information. These tables listed in the guide define the Hardware requirements for each server based on the number of monitoring agents. The number of agents listed in the chart correspond to pairs of a database instances and corresponding IC agents for both non clustered and clustered hosts.
RESOLUTION 1
RESOLUTION 2
The following script can be run in a FMS with SQL PI agents to list the SQL PI repository and the FglAM that the database agent is running from.
To run the script from the Script console in the Foglight Management Server,
piRepositories = [:];
agentService = server.get("AgentService");
configService = server.get("ConfigService");
agentMgmntService = server.get("RemoteAgentManagementService");
fglAMId2NameMap = agentMgmntService.findAllRemoteClients().collectEntries {
[(it.id) : it.hostName]
}
//MsSql
fillAgents("DB_SQL_Server", "paecEnable", "parcStorageHost");
fillAgents("DB_Oracle", "spiecEnable", "spircStorageHost");
// print out
def output = piRepositories.collect { k, v ->
"""
${k} ${v.get("totalAgents")}
${v.get("distribution").collect{ fglam, agents ->
"""++++++++${fglam} ${agents.size()}
++++++++++++++++${agents.join("\n++++++++++++++++")}
"""
}.join("\n")}
"""
}.join("--------------------------------\n");
println output
return piRepositories;
def fillAgents(agentType, flagAsp, hostAsp) {
def agents = agentService.findByAdapterAndType("FglAM", agentType);
for (agent in agents) {
def primaryASP = configService.getAgentInstancePrimaryAsp(agent.getAgentNamespace(), agent.getTypeId(), agent.getId());
if (primaryASP && primaryASP.getBoolean(flagAsp)) {
def piHost = primaryASP.getString(hostAsp);
def fglAMHost = fglAMId2NameMap.get(agent.getRemoteClientId());
def piHostMap = piRepositories.get(piHost)?:["totalAgents":0, "distribution": [:]];
piRepositories.put(piHost, piHostMap)
// count all agents in same PI
def agentsList = piHostMap.get("distribution").get(fglAMHost);
if (agentsList == null) {
agentsList = [];
piHostMap.get("distribution").put(fglAMHost, agentsList);
}
agentsList.add(agent.getName());
piHostMap.put("totalAgents", piHostMap.get("totalAgents") + 1)
}
}
}
The resulting output will appear similar to the following
YYYY-MM-DD HH:MM:SS.SSS VERBOSE [cywxbqthvb-1] script_script_anonymous51bbd97ba59afb6fa5796b50637adf75 -
{PI REPOSITORY NAME} 7
++++++++{DB AGENT FGLAM NAME} 3
++++++++++++++++{DB AGENT #1}
++++++++++++++++{DB AGENT #2}
++++++++++++++++{DB AGENT #3}
© ALL RIGHTS RESERVED. Feedback Terms of Use Privacy