A server (18, 50) comprising: a processor and memory; an operating system executed by the processor and memory; a network interface that is run by the operating system and that sends and receives flows between the server and a plurality of servers (18, 50) using transmission control protocol, TCP; an agent application (20, 118) that is run by the operating system and that is configured to: a) retrieve and store TCP telemetry data for the flows in a flow table; b) move selected ones of the flows from the flow table to a closed connections table when the flow is terminated, failed or successfully closed; and c) periodically send the flow table and the closed connections table via the network interface to a remote server to determine, based on the flow table and the closed connections table, whether a connectivity problem exists between the server and a first server of the plurality of servers due to a connection failure at the server or at the first server, the determination being made by: identifying a set of servers from the plurality of servers that is proximate to the server and that communicates with the first server; and determining whether the server alone has the connection failure with the first server, indicating that the connection failure occurred at the server, or whether the server and the set of servers have the connection failure with the first server, indicating that the connection failure occurred at the first server. a processor and memory; an operating system executed by the processor and memory; a network interface that is run by the operating system and that sends and receives flows between the server and a plurality of servers (18, 50) using transmission control protocol, TCP; an agent application (20, 118) that is run by the operating system and that is configured to: a) retrieve and store TCP telemetry data for the flows in a flow table; b) move selected ones of the flows from the flow table to a closed connections table when the flow is terminated, failed or successfully closed; and c) periodically send the flow table and the closed connections table via the network interface to a remote server to determine, based on the flow table and the closed connections table, whether a connectivity problem exists between the server and a first server of the plurality of servers due to a connection failure at the server or at the first server, the determination being made by: identifying a set of servers from the plurality of servers that is proximate to the server and that communicates with the first server; and determining whether the server alone has the connection failure with the first server, indicating that the connection failure occurred at the server, or whether the server and the set of servers have the connection failure with the first server, indicating that the connection failure occurred at the first server. a) retrieve and store TCP telemetry data for the flows in a flow table; b) move selected ones of the flows from the flow table to a closed connections table when the flow is terminated, failed or successfully closed; and c) periodically send the flow table and the closed connections table via the network interface to a remote server to determine, based on the flow table and the closed connections table, whether a connectivity problem exists between the server and a first server of the plurality of servers due to a connection failure at the server or at the first server, the determination being made by: identifying a set of servers from the plurality of servers that is proximate to the server and that communicates with the first server; and determining whether the server alone has the connection failure with the first server, indicating that the connection failure occurred at the server, or whether the server and the set of servers have the connection failure with the first server, indicating that the connection failure occurred at the first server. identifying a set of servers from the plurality of servers that is proximate to the server and that communicates with the first server; and determining whether the server alone has the connection failure with the first server, indicating that the connection failure occurred at the server, or whether the server and the set of servers have the connection failure with the first server, indicating that the connection failure occurred at the first server.