a distributed , multistage agent for monitoring , diagnosis and maintenance of network devices comprises an input / output interface for receiving input monitoring and diagnostic data relevant to operation of a first neighboring agent and transmitting output monitoring and diagnostic data relevant to operation of the host network device to a second neighboring agent . an agent process analyzes the input data and generates processed data characterizing operation of the host network device , using a local database which stores expected performance data on operation of said network device . the processed data is correlated with the expected data any error is signaled to the network operator . the agents may be designed as a multiple stage process , the stages being triggered by the data output by an earlier stage only when needed .