Ciao a tutti,
qualcuno è riuscito per caso a modificare il template del file services.conf di rpi monitor, per aggiungere tra i servizi monitorati il webserver apache, 123solar e metern, per monitorarne lo status ?
Grazie in anticipo
Modificare RPI Monitor
Re: Modificare RPI Monitor
Per caso ci sei riuscito?
Re: Modificare RPI Monitor
Io ho fatto questo:

con questo file services.conf:
Questo però controlla le porte come pensi di fare per 123solar e Metern?
Questi non sono servizi ma pagine web che girano sotto il web server apache....

con questo file services.conf:
Codice: Seleziona tutto
########################################################################
# Extract information about Opened Port
# Page: 1
# Information Status Statistics
# - ssh port (22) - yes - no
# - rpimonotor port (8888) - yes - no
# - http port (80) - yes - yes
########################################################################
dynamic.1.name=ssh
dynamic.1.source=netstat -nlt
dynamic.1.regexp=tcp .*:(22).*LISTEN
dynamic.2.name=rpimonitor
dynamic.2.source=netstat -nlt
dynamic.2.regexp=tcp .*:(8888).*LISTEN
dynamic.3.name=http
dynamic.3.source=netstat -nlt
dynamic.3.regexp=tcp6 .*:(80).*LISTEN
dynamic.4.name=tasmoadmin
dynamic.4.source=netstat -nlt
dynamic.4.regexp=tcp6 .*:(9999).*LISTEN
dynamic.5.name=nodered
dynamic.5.source=netstat -nlt
dynamic.5.regexp=tcp .*:(1880).*LISTEN
dynamic.6.name=mosquitto
dynamic.6.source=netstat -nlt
dynamic.6.regexp=tcp6 .*:(1883).*LISTEN
web.status.1.content.1.name=Servers
web.status.1.content.1.icon=daemons.png
web.status.1.content.1.line.1="<b>ssh</b> : "+Label(data.ssh,"==22","OK","success")+Label(data.ssh,"!=22","KO","danger")+" <b> rpimonitor</b> : "+Label(data.rpimonitor,"==8888","OK","success")+Label(data.rpimonitor,"!=8888","KO","danger")+" <b> Apache http</b> : "+Label(data.http,"==80","OK","success")+Label(data.http,"!=80","KO","danger")+" <b> Tasmoadmin http</b> : "+Label(data.tasmoadmin,"==9999","OK","success")+Label(data.tasmoadmin,"!=9999","KO","danger")
web.status.1.content.1.line.2="<b>Node-Red</b> : "+Label(data.nodered,"==1880","OK","success")+Label(data.nodered,"!=1880","KO","danger")+" <b>Mosquitto</b> : "+Label(data.mosquitto,"==1883","OK","success")+Label(data.mosquitto,"!=1883","KO","danger")
Questo però controlla le porte come pensi di fare per 123solar e Metern?
Questi non sono servizi ma pagine web che girano sotto il web server apache....
Re: Modificare RPI Monitor
Per curiosità appena ho visto questo post sono andato a cercare come capire se un sito è up o down.
E ho letto del comando curl -I
Quindi nel mio terminale ho provato a digitare
o volendo localhost/123solar e ottengo un output
A quanto ho capito se HTTP è 200 o 300 vuol dire che il sito è up... ma basta per dire che 123solar è funzionante?
Se così fosse io proverei a modificare il codice così:
idea su due piedi... è utile? che dite?
E ho letto del comando curl -I
Quindi nel mio terminale ho provato a digitare
Codice: Seleziona tutto
curl -I http://192.168.1.XXX/123solar/
Codice: Seleziona tutto
HTTP/1.1 200 OK
Date: Sun, 17 May 2020 19:09:58 GMT
Server: Apache/2.4.38 (Raspbian)
Content-Type: text/html; charset=UTF-8
A quanto ho capito se HTTP è 200 o 300 vuol dire che il sito è up... ma basta per dire che 123solar è funzionante?
Se così fosse io proverei a modificare il codice così:
Codice: Seleziona tutto
dynamic.10.123solar=123solar
dynamic.10.source=curl -I http://192.168.1.XXX/123solar/
dynamic.10.regexp=HTTP/1.1 .*200*OK #sistemando in modo tale che vada a leggere se 200 o 300
.....
web.status.1.content.1.line.3="<b>123solar</b> : "+Label(data.123solar,"==200","OK","success")+Label(data.123solar,"=300","OK","success")+Label(data.123solar,"=300","OK","success") # DA SISTEMARE PER DARE ERRORE QUANDO non 200 o 300
idea su due piedi... è utile? che dite?
Re: Modificare RPI Monitor
Per diletto ho provato a copiare codice a caso... ammetto di non sapere cosa stia facendo (sono andato per simmetria e analogie)... tuttavia ho modificato il file services.conf aggiungendo:
E infine ho aggiunto sempre nello stesso file:
Ora ammetto che ho solo guardato cosa facesse il comando netstat -nlt e ho cercato un comando che verificasse se un sito fosse up... così ho trovato il comando curl -I "http://192.168.1.XXX/metern" tuttavia volendo isolare solo un numero ho aggiunto grep -o "200\|301" (nel mio caso esce 301).
Non sapendo cosa mettere in dynamic.X.regexp ho cercato di mantenere vagamente la stessa struttura che c'era ma con il numero 301.
Non mi affiderei assolutamente a tale metodo ma magari vi può essere di spunto.

Codice: Seleziona tutto
dynamic.9.name=solar
dynamic.9.source=curl -I "http://192.168.1.XXX/123solar" 2>&1 | grep -o "200\|301"
dynamic.9.regexp=.*(301).*
dynamic.10.name=metern
dynamic.10.source=curl -I "http://192.168.1.XXX/metern" 2>&1 | grep -o "200\|301"
dynamic.10.regexp=.*(301).*
E infine ho aggiunto sempre nello stesso file:
Codice: Seleziona tutto
web.status.1.content.1.line.3=" <b>123solar</b> : "+Label(data.solar,"==301","OK","success")+Label(data.solar,"!=301","KO","danger")+" <b>Metern</b> : "+Label(data.metern,"==301","OK","success")+Label(data.metern,"!=301","KO","danger")
Ora ammetto che ho solo guardato cosa facesse il comando netstat -nlt e ho cercato un comando che verificasse se un sito fosse up... così ho trovato il comando curl -I "http://192.168.1.XXX/metern" tuttavia volendo isolare solo un numero ho aggiunto grep -o "200\|301" (nel mio caso esce 301).
Non sapendo cosa mettere in dynamic.X.regexp ho cercato di mantenere vagamente la stessa struttura che c'era ma con il numero 301.
Non mi affiderei assolutamente a tale metodo ma magari vi può essere di spunto.

Re: Modificare RPI Monitor
hai provato se restituisce la risposta corretta se metern o solar non funzionano?
Re: Modificare RPI Monitor
come posso far spegnere la pagina web di 123solar o metern?
Ho provato digitando
ma vanno ancora...
Ho provato digitando
Codice: Seleziona tutto
sudo systemctl stop metern.service
sudo systemctl stop 123solar.service
ma vanno ancora...
Chi c’è in linea
Visitano il forum: Nessuno e 0 ospiti