Collecting logs from Siemens SIMATIC PCS 7 and sending them to Logstash can be a complex task because of the unique combination of the log source and the desired destination. This post will show you how to forward log data from SIMATIC PCS 7 to Logstash using the NXLog log collection agent.
Siemens SIMATIC PCS 7 is a distributed control system (DCS) solution that uses many Siemens hardware components supported and configured by PCS 7 software tools. Deployments usually consist of Engineering stations (ES), Operating stations (OS), and Automation stations (AS). The PCS 7 AS features the Siemens SIMATIC S7-400 series central processing unit, designed to automate plants requiring many I/O signals and control loops. SIMATIC PCS 7 is commonly used for automation tasks in various industrial sectors such as chemicals, petrochemicals, water treatment, pharmaceuticals, and power generation.
SCADA systems and Siemens have a couple of things in common: they employ a variety of network protocols to facilitate communication between various types of nodes (physical computers, CPUs, distributed I/Os, and field devices) and SCADA for storing data. Consequently, both solutions are firmly integrated within corporate networks where such nodes are typically deployed.
SIMATIC PCS 7 produces a wide variety of operational logs. Some are sent to Windows Event Log, but most are stored as flat files.
SIMATIC PCS 7 controls systems that are of significant financial and security importance. In mission-critical settings, the timely collection and processing of SIMATIC PCS 7 logs is crucial to the reliability and security of the systems it controls. However, the sheer diversity of log formats and data structures and the noise that some of these logs contain pose severe challenges to most logging software. A brief interruption of normal operations could result in catastrophic consequences.
NXLog Enterprise Edition is a lightweight, modular log collection tool capable of tackling the most demanding cases log collection may pose. Its features enable it to parse, filter, process, aggregate, and output logs in any structured data format that a SIEM might require. Given its perfect balance of functionality and performance, it is the best choice for collecting and processing SIMATIC PCS 7 logs.
- Collecting SIMATIC PCS 7 logs from Windows Event Log
Many applications send their logs directly to Windows Event Log, the preferred logging facility on the Windows platform. SIMATIC PCS 7 sends its PC station, NET configuration, adapter operation-related information, and information about various other services to Windows Event Log.
- Collecting SIMATIC PCS 7 logs from file
File-based PCS7 logs include WinCC system diagnostics logs, SQL Server logs of WinCC, OS project logs, AS project logs, Multi-project logs, and Batch logs coming from Automation, Engineering, and Operator stations.
The easiest way to collect and normalize Siemens SIMATIC PCS 7 log data is by deploying NXLog. With its unique capabilities, logs can be collected from literally any file in any format. Given the wide variation in format and structure of such log files, its versatility is ideal for these systems.
For more information on integrating NXLog with SIMATIC PCS 7, see the Siemens SIMATIC PCS 7 integration guide.
The sources mentioned above and NXLog’s features play a vital role when normalizing logs accepted by Logstash.
Logstash is a data collection and processing tool. It is often used as part of the ELK stack (Elasticsearch, Logstash, Kibana) to collect logs from various sources, normalize them, and forward them to Elasticsearch. NXLog and Logstash can be configured to exchange log data between each other in various formats, including JSON and syslog, and over different transport protocols such as TCP, UDP, and HTTP(S).
- NXLog as a data shipper for Logstash
Due to Logstash being resource-intensive and requiring Java to run, it is often used as an ingester, with different data shippers forwarding logs to it. NXLog, with its small resource footprint, can act as a data shipper for Logstash with the benefit of being an all-in-one solution. An NXLog installation can collect and process logs from different sources on the same host, all configured within a single configuration file.
- Sending logs to Logstash
Logstash supports data ingestion from various sources through its many input plugins and can process data in various formats by using filters and codec plugins. NXLog also offers a vast selection of output modules and extensions that can forward logs in the data formats and ingestion methods supported by Logstash.
For more information on configuring NXLog and sending logs to Logstash, see the Logstash integration guide in the NXLog User Guide.