System Requirements
Refer to the following system requirements for running Litmus Edge.
A Litmus Edge instance is designed to collect, analyze, and forward data. These data operations could require heavy computing resources to be able to facilitate all the day-to-day processes a Litmus Edge instance will execute. Although it is possible to run Litmus Edge on a wide range of devices, not having enough computing resources for your particular scenario could create serious performance issues.
Consider the following factors when deciding upon the hardware that your Litmus Edge will use:
- What is the amount of data that will be processed?
- What is your hardware budget?
- How many devices will you connect to Litmus Edge?
- How many Flows/Analytics/Applications/Integrations will you need?
- What programming language and frameworks will you use?
- Will you need frequent Litmus Edge Manager-Litmus Edge interactions (for example, in the case of automatic backups) as well?
To address some of these questions, we recommend you first install Litmus Edge on a test Virtual Machine (VM). Then, run a partial execution of all your possible workloads to see how it performs. From there, you can get a better idea whether you need less, about the same, or a multiplying factor of your test VM's computing resources. See below for setting up this VM.
A Litmus Edge instance is typically customized under one of the following three configurations.
- Reading and passing data executed externally exclusively on Integrations.
- Minimal data processing and/or storage performed on the Litmus Edge instance.
- Most computing resources consumed by only DeviceHub and data storage/forwarding to Integrations.
- Low-volume in-stream processing of data using Flows and/or Analytics (for example, value change or anomaly detection).
- Data stored in InfluxDB for local visualization using a container running the Grafana or Python application.
- Computing resources consumed by InfluxDB, Flows, Analytics, Containers, and DeviceHub.
- High-volume in-stream processing of all collected data involving complex Flows and Analytics.
- Multiple Flows are configured with the maximum allowed RAM.
- In Analytics, many groups operate, each including multiple processors.
- Several containers may be run for further data processing, traceability, downtime recording, and so on.
- InfluxDB will require additional CPU and RAM resources if a large number of devices and tags are configured.
- Each device will become its own InfluxDB data table (measurement).
- Computing resources consumed by user-defined code within Flows, Applications, and Analytics flows.
The following table summarizes parameters for the above three starting configurations when sizing a Litmus Edge instance.
| Configuration 1 (Data pass-through) | Configuration 2 (In-stream processing) | Configuration 3 (Heavy in-stream processing and application usage) |
---|---|---|---|
Devices | 1-5 | 5-10 | 10+ |
Average Tags per Device | 10-20 | 20-100 | 100+ |
Flows Instances | 0-4 | 1-4 | 1-4 |
Average Flow Nodes | < 10 | 10-50 | 50+ |
Analytics | 0-5 | 5-25 | 25+ |
Applications/ Containers | 0 | 1-2 | 2+ |
Integrations | 1-2 | 1-5 | 5+ |
InfluxDB Usage | Optional | Mandatory | Mandatory |
OPC UA Server Usage | Cannot function with OPC UA Server | Can function with OPC UA Server | Can function with OPC UA server |
Cores | 4 | 8 | 12+ |
Memory(RAM) | 8-16 GB | 16-32 GB | 32+ GB |
Storage (Disc) | 100-250 GB | 250- 500 GB | 500+ GB |
NIC (Network Interface) |
|
|
|
Note: You have the option of managing ports in Litmus Edge. See Manage Firewall Rules to learn more.
The firewall managing Litmus Edge's traffic must always open the following port to allow you to access the Web User Interface.
Function for Litmus Edge | Port # | Encrypted | Direction | Protocol | Description | Source (Port is used by who/what) | Destination (Port must be opened at) |
---|---|---|---|---|---|---|---|
Access Litmus Edge through a Web User Interface | 443 | Yes SSL | Inbound | TCP | HTTPS | Litmus Edge Users | Litmus Edge |
To allow a connection with Litmus Edge and Litmus Edge Manager, the following ports must be open.
Function for Litmus Edge | Port # | Encrypted | Direction | Protocol | Description | Source (Port is used by who/what) | Destination (Port must be opened at) |
---|---|---|---|---|---|---|---|
Redirects 443 | 80 | No | Inbound | TCP | HTTP | Litmus Edge Users | Litmus Edge |
Connect Litmus Edge to Litmus Edge Manager | 8883 | Yes MQTTS | Outbound | TCP | MQTT-SSL | Litmus Edge | Litmus Edge Manager and Customer MQTT Broker |
Connect Litmus Edge to Litmus Edge Manager | 443 | Yes | Outbound | TCP | HTTPS | Litmus Edge | Litmus Edge Manager |
Connect Litmus Edge to Litmus Edge Manager | 51820 | Yes | Outbound | UDP | UDP Litmus Edge Manager Remote Access | Litmus Edge | Litmus Edge Manager |
The firewall managing Litmus Edge's traffic must open Only if corresponding services are present and running.
Function for Litmus Edge | Port # | Encrypted | Direction | Protocol | Description | Source (Port is used by who/what) | Destination (Port must be opened at) |
---|---|---|---|---|---|---|---|
Use Litmus Edge as an FTP Server | 21, 2121 | No | Inbound | TCP | FTP | Customer FTP Server | Litmus Edge |
Use Litmus Edge as an SSH Server Used for backend support access | 22 | Yes Session key | Inbound | TCP | SSH | Litmus Support Team | Litmus Edge |
Use Litmus Edge as an LDAP Client | 389 | No | Outbound | TCP | LDAP | Litmus Edge | Customer LDAP Server |
Use Litmus Edge as an LDAP Client | 636 | Yes SSL | Outbound | TCP | LDAP with SSL | Litmus Edge | Customer LDAP Server |
Use Litmus Edge as an OPC UA Server | 4840 | Yes (Depends on server settings) | Inbound | TCP/UDP | OPC UA Server | Customer Northbound Application | Litmus Edge |
Collaboration with name servers to replace IP of Litmus Edge with a name server | 5353 | No | Outbound | UDP | mDNS (Multicast DNS) | Litmus Edge | Multicast Local Network |
Collaboration with name servers to replace IP of Litmus Edge with a name server | 5355 | No | Inbound | TCP/UDP | LLMNR (Link-Local Multicast Resolution) | 224.0.0.252 | Litmus Edge |
Remote access over internet when accessing Litmus Edge | 9993 | Yes (asymmetric public key encryption) | Outbound | UDP | Remote Access | Litmus Support Team | Litmus Edge |
The firewall managing Litmus Edge's traffic must open specific ports for certain PLC devices to connect to Litmus Edge. To manage firewall rules in Litmus Edge, see Manage Firewall Rules.
Ports for Industrial Systems and Sensors Connections are PLC specific and should be open on a case-by-case basis. See the Industrial Systems Connection Guide for more information.
Marketplace applications manage their own ports. Those ports are application-specific and are outside of the iptables firewall.
Any other ports are blocked by the iptables firewall. This means that the Litmus Edge flows application can initiate only outgoing traffic and cannot listen to incoming connections.