1. A system for managing remote devices, comprising: a server comprising one or more processors; a memory element storing, in a first data structure, a management information base (MIB) having a hierarchical tree comprising a plurality of object identifiers and a plurality of corresponding object values; a detection module executing on the one or more processors of the server that queries one or more devices using a networking protocol and receives, responsive to a query, a first object identifier and a corresponding first object value from a device, the first object identifier varies from the plurality of object identifiers of the MIB, and the first object value varies from the plurality of corresponding object values of the MIB; the detection module generates, using a first pattern that matches the first object identifier and a second pattern that matches the first object value, an identification of the device; a collection module executing on the server that selects a collection template from a plurality of collection templates based on the identification of the device, the collection template indicating a subtree of the MIB and comprising a collection pattern; the collection module traverses the subtree using the collection template to identify a second object identifier that matches the collection pattern and a corresponding second object value, the second object identifier varies from the plurality of object identifiers of the MIB; and the collection module associates, in a second data structure in the memory, the second object value with the first object value based on the collection template.