Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Ability to send data to a local or remote InfluxDB instance via InfluxDB http(s) REST API or via InfluxDB Go Client
  • Authenticate the EdgeX node through Basic Authentication Create new measurements in InfluxDBwith username/password
  • Export throughput up to 1,000 events/second from each EdgeX node
  • Local buffering and retry mechanism with resilience to network downtime
  • Local logging of error messages & events through EdgeX Log service

Design

Although the best option would be to modify Core Data Service in order to rely on InfluxDB instead of MongoDB, a first step to achieve integration with influx is to modify the existing Export Service in order to enable a new delivery via InfluxDB Go Client or InfluxDB http(s) REST API.

...

Assumptions

    • Whenever a new subscription is created through the EdgeX Export Client, the target InfluxDB Database name will be specified
    • There is a 1-to-1 relationship between EdgeX measurements and a . A table to map the datatypes shall be defined.device and InfluxDB Measurement
    • There is a 1-to-1 relationship between EdgeX events and PI Tag. A measurements and a InfluxDB tag. A table to map the datatypes shall be defined.
    • The corresponding PI Tag will have a name that is obtained by concatenating the three following pieces (with "." in between)
      • Tag Prefix as defined in the next section "Step 1 - Configuration"
      • Device Name (as what is specified in EdgeX Metadata - this must be unique)
      • Measurement/Event Name (as per what is specified in EdgeX Metadata - this must be unique within the same device)
    • An example of PI Tag Name will be "deployment001.deviceABC.measurement005"

Code

To be updated.

Current status

Waiting for Go Export Client & Distribution to be finalized by the appointed group before making the contribution0.6 release to start collaborating with the Applications Working Group for the integration