Dopo aver installato parte dei componenti software nel precedente articolo
Monitoraggio Sensori – Preparazione Ambiente
continuamo tale operazione con il presente articolo.
Infludb
Si procede alla installazione di Influxdb secondo quanto indicato al link
Influxdb
Per Debian 9 si esegue
|
curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add - source /etc/os-release test $VERSION_ID = "9" && echo "deb https://repos.influxdata.com/debian stretch stable" | sudo tee /etc/apt/sources.list.d/influxdb.list sudo apt-get update sudo apt-get install influxdb sudo systemctl enable influxdb sudo systemctl start influxdb |
Controllare che il tutto funzioni correttamente eseguendo la connessione con il client
Nodered
Si procede alla installazione di node.js
|
curl -sL https://deb.nodesource.com/setup_10.x | sudo bash - sudo apt-get install nodejs |
Si installa quindi nodered, come indicato al link
Installazione nodered
|
sudo npm install -g --unsafe-perm node-red |
Per eseguire all’avvio di Armbian nodered si utilizza lo script presente al seguente link
Autostart nodered
Non abbiamo eseguito lo script automatizzato, ma eseguiti i seguenti passi
|
wget -O /tmp/download https://gist.github.com/bigmonkeyboy/9962293/download cd /tmp/ unzip download sudo cp /tmp/9962293-master/nodered /etc/init.d/ sudo chmod 755 /etc/init.d/nodered |
Editare /etc/init.d/nodered e modificare l’utente da pi a monitor, ossia cambiare il parametro
in
Eseguire
|
sudo update-rc.d nodered defaults |
Avviare nodered
|
sudo systemctl start nodered sudo systemctl enable nodered |
Controllare che nodered risponda accedendo con il browser al link
http://dashboardora.local:1880
Riavviare il sistema e controllare che nodered si avvii automaticamente.
Procedere alla installazione dei moduli aggiuntivi di nodered
|
sudo npm install node-red-node-base64 -g sudo npm install node-red-node-mysql -g sudo npm install node-red-contrib-startup-trigger -g sudo npm install node-red-contrib-string -g sudo npm install node-red-node-base64 -g sudo npm install node-red-contrib-influxdb -g |
Grafana
Si procede al download alla versione per arm
Grafana per ARM
|
wget https://dl.grafana.com/oss/release/grafana_6.1.4_armhf.deb sudo dpkg -i grafana_6.1.4_armhf.deb |
Abilitare e far partire Grafana
|
sudo systemctl daemon-reload sudo systemctl enable grafana-server sudo systemctl start grafana-server |
Accedere al sistema mediante l’url
http://dashboardora.local:3000
collegarsi con l’utenza admin e password admin; procedere al cambio della password
Una volta impostata la nuova password si accede alla interfaccia di impostazione
Nei prossimi articoli eseguiremo le impostazioni per poter visualizzare i dati dei sensori.
Installazione reverse proxy
Per poter accedere al sistema attraverso la porta 80 del server http si può utilizzare nginx come reverse proxy
nginx
Se si utilizza nginx come proxy si disabilita apache
|
sudo systemctl stop apache2 sudo systemctl disable apache2 |
Si procede alla installazione di nginx
|
sudo apt-get install nginx sudo systemctl start nginx sudo systemct enable nginx |
Si configura il tutto per accedere ai due sistemi mediante i seguenti link
http://dashboardora.local/nodered per nodered
http://dashboardora.local/grafana per grafana
Per grafana si segue la documentazione ufficiale
Grafana proxy
Si procede quindi a modificare il file /etc/grafana/grafana.ini modificando i parametri domain e root_url; nel nostro caso si modifica tale sezione come segue
|
# The public facing domain name used to access grafana from a browser ;domain = localhost domain = dashboardora.local # Redirect to correct domain if host header does not match domain # Prevents DNS rebinding attacks ;enforce_domain = false # The full public facing url you use in browser, used for redirects and emails # If you use reverse proxy and sub path specify full url (with sub path) ;root_url = http://localhost:3000 root_url = %(protocol)s://%(domain)s/grafana/ |
Si configura quindi nginx, creando nella cartella /etc/nginx/sites-available il file servizi con il seguente contenuto
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
server { listen 80; listen [::]:80 ipv6only=on; server_name dashboardora.local dashboardora; root /usr/share/nginx/www; index index.html index.htm; location /grafana/ { proxy_pass http://localhost:3000/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location /nodered/ { proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_pass http://localhost:1880/; } } |
Di seguito la configurazione di nginx
Configurazione nginx
Si esegue il seguente comando
|
sudo ln -s /etc/nginx/sites-available/servizi /etc/nginx/sites-enabled/ |
e si fanno ripartire i servizi grafana e nginx
|
sudo systemctl restart grafana-server sudo systemctl restart nginx |
A questo punto è possibile accedere ai due servizi mediante il link
http://dashboardora.local/nodered
http://dashboardora.local/grafana
Nel prossimo articolo si inizia la configurazione dei vari moduli necessari per la gestione del sistema
Monitoraggio Sensori – Configurazione MySql