Modificare RPI Monitor

Discussioni relative a software necessario per il monitoraggio e il Raspberry
Borghese
Messaggi: 6
Iscritto il: 29/03/2020, 23:11

Modificare RPI Monitor

Messaggioda Borghese » 14/04/2020, 0:27

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


metus
Messaggi: 86
Iscritto il: 10/05/2019, 1:04

Re: Modificare RPI Monitor

Messaggioda metus » 17/05/2020, 18:02

Per caso ci sei riuscito?

Avatar utente
Flane
Messaggi: 2200
Iscritto il: 16/01/2016, 15:02

Re: Modificare RPI Monitor

Messaggioda Flane » 17/05/2020, 18:25

Io ho fatto questo:
Immagine

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....

metus
Messaggi: 86
Iscritto il: 10/05/2019, 1:04

Re: Modificare RPI Monitor

Messaggioda metus » 17/05/2020, 21:24

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

Codice: Seleziona tutto

curl -I http://192.168.1.XXX/123solar/
o volendo localhost/123solar e ottengo un output

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?

metus
Messaggi: 86
Iscritto il: 10/05/2019, 1:04

Re: Modificare RPI Monitor

Messaggioda metus » 17/05/2020, 23:45

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:

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.



Immagine

s_p
Messaggi: 200
Iscritto il: 06/04/2017, 20:49

Re: Modificare RPI Monitor

Messaggioda s_p » 18/05/2020, 10:14

hai provato se restituisce la risposta corretta se metern o solar non funzionano?

metus
Messaggi: 86
Iscritto il: 10/05/2019, 1:04

Re: Modificare RPI Monitor

Messaggioda metus » 18/05/2020, 11:31

come posso far spegnere la pagina web di 123solar o metern?
Ho provato digitando

Codice: Seleziona tutto

sudo systemctl stop metern.service
sudo systemctl stop 123solar.service

ma vanno ancora...


Torna a “Software”

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite