Collecting information for troubleshooting
From OPC Labs Knowledge Base
This article describes the assets that you need to collect for a successful "deep" troubleshooting.
Preparations
Find the simplest case that shows first symptoms of a problem, and use that in a test. The logs are tedious to analyze even if they are short; any unnecessary communication adds tremendously to the complexity of the investigation.
- For OPC Classic, install OPC Analyzer. For OPC UA, install Wireshark.
- Enable extended tracing (mainly for OPC UA; see QuickOPC: How to enable extended tracing). Configure it so that the information is logged to a file, and contains timestamps and other details.
- Instrument your code so that EasyDAClient.LogEntry, EasyAEClient.LogEntry, EasyUAClient.LogEntry or EasyUASubscriber.LogEntry notifications are logged to a file, together with their timestamps and other details.
- Instrument your code so that it collects and logs relevant application-specific occurrences, together with their timestamps and other details.
- Enable logging on the side of the OPC server, if possible.
Learning material
- How to use OPC Analyzer
- Analyzing OPC UA Communications with Wireshark: http://opcconnect.opcfoundation.org/2017/02/analyzing-opc-ua-communications-with-wireshark/
- OPC UA & Wireshark: https://www.prosysopc.com/blog/opc-ua-wireshark/
Assets to collect
We will need following files from you:
- Trace files from OPC Analyzer (for OPC Classic) or Wireshark (for OPC UA).
- Extended tracing output (mainly for OPC UA).
- EasyXXClient.LogEntry records (mainly for OPC UA).
- A log of relevant occurrences in your own application.
- OPC server log(s), if available.
It is important that all logs contain timestamps (with milliseconds precision, or at least the highest precision achievable), so that we can correlate them properly.
In addition, please include any relevant observations and explanations as to what has been attempted and how the test ran.