Logging over extended time


#1

Hi,

I’m currently using the Murano platform to act as a back-end to demonstrate a simple IoT network which I have made. I would also like to log the data so that I can see what my network is sending. Currently, my network sends data regularly every few seconds, and I would like to keep logging the data being sent up for a couple of months.

The main idea behind this is that I want to be able to see how the IoT network performs over a long period of time, so I know how reliable it can run.

I’ve heard of some sort of time-series data base which may be used, although I don’t know how to use it or much data it can store. I would ideally require it to store data for months so that I can retrieve it from my computer. If this not possible, then should I set my Murano account to forward any data it receives to my computer?

If anyone knows the best way to log data, it would be great if you could let me know.

Thanks,
Youssuf


#2

Hi @Youssuf,

Thanks for posting!

Customer’s today on Exosite’s free ‘Community’ Business Tier can save data in their database timeseries services for 30 days. If you need to keep the data for a longer period you can download your data on a set schedule or move to a ‘Bootstrap’ account where your data will persist in our services for 60 days. If you need assistance with either of these options please let us know by getting a hold of Exosite Support.

Thanks,
-Martin


#3

Hi @Martin,

That’s great to hear.

Do you know if there is any limit on the number of data points which can be stored. I’ll be looking to be sending data frequently, perhaps every second.

Thanks,
Youssuf


#4

Right now Exosite plans to allocate 100MBs of disk space to Community Business’ timeseries database partitions. So the number of of data points you can store in the platform is dependent on your datapoint’s size.

Hopefully that helps,
-Martin


#5

I think that 100 MB will be enough for my database. Thanks for letting me know about this.

However, I’m not sure how to access the timeseries service. I’ve read through the tsdb documentation which shows the parameters for querying the database, but I don’t know what API this is supposed to be sent to. Could you let me know more about getting data out of the database?

Thanks again,
Youssuf


#6

@Youssuf

You create and deploy your own API for your Solution using Murano’s custom Solution API feature. You can read the documentation about this feature here.

In Murano you write Lua code to handle requests made by your applications to interact with the services you chose to use. Try taking a look at this example, and this rest of the repository’s contents

This means in the event handler of your Solution’s API endpoint, you will want to use the methods outlined in the tsdb documentation to interact with your device’s data.

-Martin


#7

Hi Martin,

I have read through the documentation, but I’m still uncertain of how to go about creating an API. Are there any tutorials or a default API which can be used to download data which gets uploaded to Murano?

Youssuf


#8

Hi @Youssuf,

We don’t have a tutorial available at this time, but we do have example endpoint code available.

https://github.com/exosite/hvac-reference-application/tree/master/endpoints

Let me know if you have quesitons about these repositories.
-Martin