This tutorial teaches how to setup Fluentd on IOT Sensor.
Before doing this tutorial make sure you have read and completed the following tutorials:
IMPORTANT: In order to successfully request a Fluentd instance, you will need to have a validated Allocation Supply in your project with the following configuration:
The Software Product should already be ready for you to use, no need to create it.
If you wish to know more about the configuration of Fluentd, you can find the official documentation here: Fluentd Configuration File.
Please click on "Request" menu at left side of the page as shown on image below.
This will redirect you to your project page where you will have to select the appropriate project.
After selecting the project will will be given option to choose the product you want to install. In this case it is fluentd.
Finally you will be redirected to your new instance where you will need to specify the needed instance's parameters.
Following actions are needed:
The instance itself
Description of parameters
FLUENTD-GATEWAY-IPv4 |
The IPv4 address which fluentd gateway will bind to. Usually something like 192.168.x.x |
You can monitor the process by running
tail -f /opt/slapos/log/slapos-node-instance.log
on the respective machine.
This step can take some time.
In your SlapOS dashboard you can see your newly requested instance.
The instance is ready when the the Monitoring Status is green.
Note that the Fluentd configuration parameters we defined earlier can be found and edited in the Update parameter form .
You need to further install additional packets and adjust security permissions for your sensor to work, see below
# add Python's packages for reading environment data from MOD-ENV
root@t20:~# pip install bme280 smbus
# download script to read environment data from MOD-ENV (Note: please place it in "/srv/slapgrid"as this is where fluentd expects it!)
root@t20:/srv/slapgrid# wget https://lab.nexedi.com/nexedi/wendelin/-/raw/master/tutorial/kbme280-sim.py
# make sure that downloaded script is executable by all system users
root@t20:/srv/slapgrid# chmod a+x kbme280-sim.py
# make sure that the user running fluentd service on your IOT sensor can access I2C bus to read data from MOD-ENV
# you can see the user running the fluentd by executing "slapos node" command. If your fluentd's instance is "slappart4:fluentd-service-on-watch"
# then it is owned and run by "slapuser4". Thus adjust accordingly command below.
root@t20:/srv/slapgrid# usermod -a -G i2c slapuserX
# test that script is executable for slapuserX (adjust accordingly!)
Login to your IOT Sensor and run the following command :
sudo slapos node status
You see that a new service for Fluentd is added.
And the generated fluentd configuration file is located here :
/srv/slapgrid/slappartX/etc/fluentd-agent.conf
Now your IOT Sensor is ready to read data and to forward it over fluentd IOT Gateway to Wendelin.
For more information, please contact Jean-Paul, CEO of Nexedi (+33 629 02 44 25).