Collecting logs from Schneider Citect SCADA and sending them to Elastic could be a complex task because of the unique combination of the log source and the desired destination. In this post we will take a look at how you can forward log data from Schneider Citect SCADA to Elastic by incorporating the NXLog log collection tool.
Citect SCADA is a Supervisory Control and Data Acquisition solution from Schneider Electric that is typically deployed in the manufacturing industry for monitoring and controlling production equipment and the delivery of utilities. Citect SCADA can monitor your operational systems in real time and retrieve important plant-related data since it is the primary user interface in your production environment. It is used in large manufacturing plants as well as smaller facilities for analyzing data using enhanced configuration capabilities.
Citect SCADA produces a wide variety of logs about its operation. Some of these logs are maintained in Windows Event Log, but most are available only as flat files.
Due to the critical nature and scope of the systems Citect SCADA controls, there is no room for error. Its stable, uninterrupted operation is crucial to plant safety. Although the logs Citect SCADA generates contain valuable information about the systems it controls, the relatively high level of log noise and the lack of a consistent log format present some challenges.
NXLog Enterprise Edition is a lightweight, modular log collection tool capable of tackling the most demanding cases log collection may pose. Its rich features allow it to read almost any log format and parse fields to produce structured data for further processing. It is the perfect tool for monitoring and collecting Citect SCADA logs.
- Collecting Citect SCADA logs from Windows Event Log
Windows Event Log is the primary logging facility on the Windows platform. The logs Citect SCADA generates contain driver traffic, updates, and system-related information. Citect SCADA creates two separate Windows Event Log entries for Schneider Electric: SUT Service for Schneider Electric software updates and Runtime Manager logs. It can also read data directly from the Schneider Electric SUT Service source.
- Collecting Citect SCADA logs from file
File-based Citect SCADA logs include changelog, syslog, tracelog, and software update logs. These logs are stored in the C:\ProgramData\Schneider Electric\Citect SCADA 2018\Logs directory and, in most cases, do not follow a consistent formatting scheme.
- Network Monitoring on Citect SCADA
NXLog has a unique feature that enables it to collect events from the communication channels between Citect SCADA devices and other computers on the network. NXLog’s passive monitoring of network traffic along with its ability to monitor most network protocols commonly used by SCADA systems, and generate logs from such network activity, make it a valuable logging tool when used with Citect SCADA.
The easiest way to collect and normalize Citect SCADA log data is to use NXLog. With its unique capabilities, it can collect logs from literally any file in any format. Given the wide variation in format and structure of such log files, NXLog is ideally suited for these systems.
For more information on integrating NXLog with Citect SCADA, see the Schneider Electric Citect SCADA integration guide.
The above mentioned sources, and the features NXLog provides all play an important role when normalizing logs in order to be accepted by Elastic.
Elasticsearch is a search engine and document database for storing, searching, and analyzing log data that you can deploy locally. On the other hand, Elastic Cloud is a SaaS solution that adds value to Elastic with its cloud-native features, such as managed enterprise search, data visualization, and security.
NXLog can integrate with both products by collecting and sending logs or as a relay, aggregating logs it receives from various sources and forwarding them.
- Elasticsearch logs
NXLog Enterprise Edition provides the om_elasticsearch output module that supports sending logs in bulk to Elasticsearch. With the NXLog Community Edition, the om_http module sends logs to Elasticsearch for low-volume logging scenarios. Because it sends a request to the Elasticsearch HTTP REST API for each event, HTTP request and response latency limit the maximum logging throughput.
- Elastic Cloud logs
The Elasticsearch REST API is used to send logs to the Elastic cloud. For NXLog to connect to the API, it requires an API key, the Elasticsearch endpoint, and the Elastic Cloud CA certificate. These requirements are configured on the main menu under Management > Stack Management.
You can view the log records by logging in to your Elastic Cloud instance. Navigate to Analytics > Discover from the main menu, then select the relevant index pattern to display the data.