Everyware Software Framework Developer's Hub

Everyware Software Framework (ESF) is an enterprise-ready IoT Edge Framework distributed and supported by Eurotech. Based on Eclipse Kura, the open source Java/OSGi middleware for IoT gateways, ESF adds provisioning, advanced security, remote access, diagnostics monitoring. It supports ready-to-use field protocols (including Modbus, OPC-UA, S7), MQTT connectivity, and a web-based visual data flow programming to acquire data from the field, process it at the edge, and publish it to IoT Cloud Platforms. ESF features full remote device management through its integration with Everyware Cloud, Eurotech’s IoT Integration Platform.

Get Started

Directory Layout

This section describes the default ESF directory layout that is created upon installation. The default installation directory is as follows:

/opt/eurotech/

The esf sub-directory is a logical link on the actual ESF release directory:

esf -> /opt/eurotech/esf_3.0.2_reliagate-10-20_yocto_1.2.1`
esf_3.0.2_reliagate-10-20_yocto_1.2.1`

ESF File Structure

All of the ESF files are located within this parent directory using the structure shown in the following table:

Directory
Description

bin

Scripts that start ESF

console

Web console CSS file

data

Data of the ESF application

data/db

HSQL embedded database

data/paho-persistence

Message storage for paho (MQTT client) persistence

data/snapshots

XML snapshot files; up to 10 successive configurations including the original (see Snapshot Management)

kura

Configuration files for the ESF framework and logging

kura/plugins

All of the ESF specific jar files

kura/packages

Deployment package files that are not part of the standard ESF framework, but are installed at a later time (see Application Management )

lib/ext

Repository for the native libraries config files

log

Log file from the latest ESF installation

plugins

All of the libraries needed for ESF execution as jar files

Log Files

ESF regularly updates two log files in the /var/log directory:

  • /var/log/kura-console.log - stores the standard console output of the application. This log file contains the eventual errors that are thrown upon ESF startup.

  • /var/log/kura.log - stores all of the logging information from ESF bundles. The logger levels are defined in the log4j.properties configuration file as shown below:

/opt/eurotech/esf/kura/log4j.properties

The default logger level in this file is set to INFO. This level may be modified for the whole application or for a specific bundle as shown in the following example:

log4j.logger.org.eclipse.kura=INFO
log4j.logger.org.eclipse.kura.net.admin=DEBUG

In this example, the logger level is set to DEBUG only for the net.admin bundle. Additional, more specific, properties may be defined as required for your particular logging needs. The logger levels are hierarchical, so that those in a deeper level of the hierarchy will apply; otherwise, the more general logger level will override them.

Once the logger levels are modified as needed and the log4j.properties configuration file is saved, ESF must be restarted in order for the changes to take affect.

Directory Layout