Profinity provides the ability to both log and replay messages off your CAN Bus network as well as the ability to log CAN Bus data to timeseries databases like InfluxDB and Prometheus.
InfluxDB is an all in one solution with data storage and visualisation included in a single tool. Prometheus just provides data storage and is typically coupled with Grafana for visualisation.
All of these tools are available in commercially supported and Open Source (community supported) editions.
To log your CAN Bus data to InfluxDB v1 or v2 firstly install InfluxDB and get it up and running.
InfluxDB Versions are Important Make sure you are using the right version of the InfluxDB Logger as Profinity's v1 and v2 logger support Influx v1 and v2 which use different protocols.
Logging the data is simple, just add a InfluxDB device to your profile and configure the following options.
Setting | Purpose |
---|---|
InfluxDB Bucket | What InfluxDB bucket do you want to store your data in? |
InfluxDB Organisation | What InfluxDB organisation do you want to use? |
InfluxDB Token | Security token for the user you are connecting to InfluxDB as |
InfluxDB URL | Endpoint URL that InfluxDB is running on |
InfluxDB Health Check | Asks the logger to regularly perform a health check on the connection |
Once these settings have been set correctly you should be able to see data flowing in to InfluxDB, if you don’t check the Logs for more details.
InfluxDB Cloud HealthCheck Warning InfluxDB cloud does not support the InfluxDB Health Check API and therefore you need to switch InfluxDB Health Check to false when using the cloud solution for storing your data.
Prometheus logging works in a completely different manner to InfluxDB logging.
Where InfluxDB expects its data to be pushed to it, Prometheus treats Profinity as a source of data, calling it and asking for the latest values. Prometheus also does not have graphing capability out of the box, rather it is usually coupled with a tool like Grafana to provide the graphing capability.
Adding a Prometheus device to Profinity is all that is required on the Profinity side to set it up for Prometheus logging. There are three configuration values that can be set :
Setting | Purpose |
---|---|
Data Endpoint URL | What URL within the hostname and port should the Prometheus data be served on |
Server Hostname | What adapter should the logger connect to on the local machine (could be an IP address) |
Server Port | What port should the end point run on |
Once the device is active then Prometheus can call Profinity on this URL to receive data.
For example if you left everything as the default, the Profinity would be available on http://localhost:7065/metrics
Information on how to configure Prometheus to receive and display this data is covered in the Prometheus documentation.
Profinity Overview
Profiles
Adding to the Profile
CAN Bus Adapters
Virtual CAN Bus Adapter
Send / Receive CAN
Log / Replay CAN
CAN Bus DBC
InfluxDB / Prometheus
Prohelion Cloud Connect
Profinity Log
Profinity Server
Rest APIs & Hosting
Prohelion Batteries
Battery Charging
Tritium WaveSculptor
Elmar Solar MPPT