Thanks to advances in semiconductor and communication technologies, a multitude of devices can be connected over a network. This widespread interconnectivity among disparate devices has ushered the era of Internet-of-Things (IoT). After IoT devices are developed and tested, they are integrated within a system and eventually deployed. Due to the complex nature of IoT systems, however, they may fail even after deployment. In a large-scale IoT system, an automatic diagnosis technique is imperative, because it may take too much time and effort to investigate a large number of devices. In this paper, a faulty device identification technique is proposed that is based on very lightweight processor-level architectural support. A hardware-based monitoring agent is incorporated within a processor, and connected to a separate monitoring program when an examination is required. By analyzing information collected by the agent, the monitoring program determines whether the device under monitoring is working correctly, or not. The experimental results demonstrate that the proposed technique can detect 92.66% of failures, with merely 1.55% false alarms.