Monitorare lo stato del Computer/Server
Questa guida vi permetterà di monitorare lo stato del vostro Computer/Server su cui è installato Weewx, salvando i dati relativi all'uso di CPU, RAM e Hard Disk così come i dati di rete, in un apposito database.
• Weewx 4 o versioni successive.
• Cliccare qui per scaricare l'estensione CMon 0.21 by Meteo Ponte San Nicolò.
• Inserire il file .py nella cartella bin/user della vostra installazione di Weewx. Cliccare qui per trovare il relativo percorso. Nella maggior parte dei casi è /etc/weewx/bin/user.
• Assicurarsi che Weewx non sia in esecuzione, arrestando il relativo processo da terminale. Potete trovare il comando da eseguire cliccando qui. Nel nostro caso è:
sudo systemctl stop weewx
• Aprire il file weewx.conf con il vostro editor di testo preferito.
• Aggiungere la seguente sezione:
[ComputerMonitor]
data_binding = cmon_binding
max_age = None
• Cercare la sezione [DataBindings] e aggiungere la seguente sottosezione:
[DataBindings]
...
[[cmon_binding]]
database = cmon_sqlite
manager = weewx.manager.DaySummaryManager
table_name = archive
schema = user.cmon.schema
• Cercare la sezione [Databases] e aggiungere la seguente sottosezione:
[Databases]
...
[[cmon_sqlite]]
database_name = cmon.sdb
database_type = SQLite
• Cercare la sottosezione [Engine] [[Services]], e aggiungere , user.cmon.ComputerMonitor (attenzione alle virgole!) alla fine della riga archive_services. Il risultato finale sarà:
[Engine]
# This section specifies which services should be run and in what order.
[[Services]]
...
archive_services = weewx.engine.StdArchive, user.cmon.ComputerMonitor
...
• Salvare le modifiche.
• Potete ora avviare Weewx, sempre da terminale, eseguendo il relativo comando che trovate al link nel Passo 2. Nel nostro caso è:
sudo systemctl start weewx
Fatto ciò, la procedura è completa.
Ecco una lista dei tag che potete integrare nei vostri template usando questa estensione:
• $latest($data_binding="cmon_binding").cpu_temp.format("%.1f") | Temperatura CPU
• $latest($data_binding="cmon_binding").load1.format("%.2f") | Carico 1 minuto
• $latest($data_binding="cmon_binding").load5.format("%.2f") | Carico 5 minuti
• $latest($data_binding="cmon_binding").load15.format("%.2f") | Carico 15 minuti
• $latest($data_binding="cmon_binding").cpu_user | CPU User
• $latest($data_binding="cmon_binding").cpu_nice | CPU Nice
• $latest($data_binding="cmon_binding").cpu_system | CPU System
• $latest($data_binding="cmon_binding").cpu_idle | CPU Idle
• $latest($data_binding="cmon_binding").cpu_iowait | CPU Iowait
• $latest($data_binding="cmon_binding").cpu_irq | CPU Irq
• $latest($data_binding="cmon_binding").cpu_softirq | CPU Softirq
• $latest($data_binding="cmon_binding").proc_active.format("%.0f") | Processi attivi
• $latest($data_binding="cmon_binding").proc_total.format("%.0f") | Processi totali
• $latest($data_binding="cmon_binding").mem_used.format("%.2f") | RAM occupata (in GB)
• $latest($data_binding="cmon_binding").mem_total.format("%.2f") | RAM totale (in GB)
• $latest($data_binding="cmon_binding").swap_used.format("%.2f") | Partizione SWAP occupata (in GB)
• $latest($data_binding="cmon_binding").swap_total.format("%.2f") | Partizione SWAP totale (in GB)
• $latest($data_binding="cmon_binding").disk_root_used.format("%.2f") | Spazio Hard Disk occupato (in GB)
• $latest($data_binding="cmon_binding").disk_root_total.format("%.2f") | Spazio Hard Disk totale (in GB)
• $day($data_binding="cmon_binding").net_eth0_tbytes.sum | Dati di rete inviati oggi (in byte, interfaccia eth0)
• $day($data_binding="cmon_binding").net_eth0_rbytes.sum | Dati di rete ricevuti oggi (in byte, interfaccia eth0)
Per trovare quello più adatto alle vostre esigenze, consultare la guida ufficiale per approfondire l'argomento.
Potete trovare una demo del funzionamento di questa estensione al seguente link: