1. A method for troubleshooting one or more communication(s) between a first device and a second device, comprising the steps of: receiving a mirrored message associated with the one or more communication(s) at a monitoring device disposed between the first device and the second device such that the monitoring device monitors the one or more communication(s) between the first device and the second device; analyzing the received mirrored message to provide an analyzed mirrored message; storing the analyzed mirrored message in one or more log files whenever the analyzed mirrored message satisfies one or more troubleshooting criteria; providing the one or more log files for post-processing, analysis and troubleshooting, wherein the one or more communication(s) between the first and second devices are an encrypted communication; decrypting the received mirrored message using a security key; wherein the foregoing steps are performed by the monitoring device; establishing an encrypted network communication channel between the monitoring device and a security device; receiving, at the monitoring device, the security key from the security device via the encrypted network communication channel; and storing the security key.