While monitoring servers availability with NetMonitor, ping results from this cartridge shows the following output in debug mode 1
2016-07-10 09:33:02.147 DEBUG [NetMonitor Collector Thread Group[7]-13] com.quest.monitoring.agent.netmonitor.icmp.ICMPPingListener - Finish the 1 ping request for device HOSTNAME(0.0.0.0)
2016-07-10 09:33:02.147 DEBUG [NetMonitor Collector Thread Group[7]-7] com.quest.monitoring.agent.netmonitor.service.impl.WindowsCommandExecutor -
The raw data result(PING 0.0.0.0 on windows)is:null
2016-07-10 09:33:02.147 DEBUG [NetMonitor Collector Thread Group[7]-7] com.quest.monitoring.agent.netmonitor.icmp.ICMPPingListener -
PING 0.0.0.0
ping 0.0.0.0#3 status =TIMEOUT_EXCEEDED icmp_seq =0 bytes =512 ttl =0 time =0.0
rtt min/avg/max/mdev =0.0/0.0/0.0/0.0 ms
This creates new alarms in Foglight that are false-positive in most of the cases.
Since OS ICMP packets are reliable, it is recommended to add the following line to fglam config file "baseline.jvmargs.config" to have NetMonitor using OS properties to send ICMP packets instead of NetMonitor.
The config file is located here:
$FGLAM_HOME/state/default/config
Add the vm parameter:
vmparameter.x = "-Dnetmonitor.icmpprovider=OS";
Replace the x with the next available number in your vmparameter list.
Run the following script to elevate timeout time to 60000ms for all NetMonitor agents:
def netMonitorAgents = server.AgentService.findByAdapterAndType("FglAM",'NetMonitorAgent');
def configService = server.ConfigService;
def message = [];
def deviceName;
def timeout = "60000";
netMonitorAgents?.each{netMonitorAgent->
def agentId = netMonitorAgent?.getId();
def agentType = netMonitorAgent?.getTypeId();
def namespace = netMonitorAgent?.getAgentNamespace();
def sharingName = "deviceItem";
def knownName = configService.getAgentInstanceConfigs(namespace, agentType, agentId)?.find { it.sharingName == sharingName }?.knownName;
def deviceListASP = configService.getSecondaryAsp(namespace, agentType, sharingName, knownName);
def rows = deviceListASP?.getRows();
rows?.each {row ->
deviceName = row.getString("deviceName")
row?.setValueByString("timeout", timeout);
message.add(deviceName)
};
configService.saveConfig(deviceListASP);
}
return "Update Ping Timeout value to " + timeout + " for device(s):"+"\n"+message.join(",")
© ALL RIGHTS RESERVED. Terms of Use Privacy Cookie Preference Center