Network monitoring tools need to provide the necessary context to engineers or systems administrators who are troubleshooting complex network routing failures, packet loss or drop, or performing capacity planning of their network. The first criteria for evaluating a network monitoring solution is to understand the most pressing use case for your organization. For example, If your primary use case revolves around deep packet inspection, then network flow data may be the best route. For teams that just want insight into port status, interface connectivity and VLAN membership, then SNMP monitoring will be sufficient.
The next criteria relates to supportability and extensibility. There are a near endless amount of makes, models and vendors that create network resources. Each network resource may come with its own set of APIs, SNMP OIDs, or SDKs needed to integrate. Vendors should have a large portion of needed support out-of-the-box, and otherwise, teams should be able to extend the base monitoring using Python, Bash, or other forms of scripting.