GoGPT Best VPN GoSearch

Favicon di OnWorks

rrdgraph_libdbi - Online nel cloud

Esegui rrdgraph_libdbi nel provider di hosting gratuito OnWorks su Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

Questo è il comando rrdgraph_libdbi che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

PROGRAMMA:

NOME


rrdgraph_libdbi - recupero dei dati per la rappresentazione grafica nel grafico rrdtool tramite libdbi

SINOSSI


= sql// autista>/ = /...
[/rrdminstepsize= ][/rrdfillmissing= mancante n secondi>]//
/ colonna>/ APPREZZIAMO colonna>[/deriva]/ clausola 1>/.../ clausola n>

DESCRIZIONE


Questo pseudo-rrd-filename definisce un'origine dati sql:

sql//
magic cookie-prefix per un'origine dati di tipo libdbi

<libdbi autista>
quale driver libdbi usare (es: mysql)

=
definisce i parametri necessari per connettersi al database con il driver libdbi fornito
(Questi driver dipendono da libdbi - per i dettagli si prega di consultare la documentazione del driver di libdbi!)

/rrdminstepsize=<minimo passo dimensione>
definisce il numero minimo della lunghezza del passo utilizzata per la rappresentazione grafica (predefinito: 300 secondi)

/rrdfillmancante=<riempire mancante secondi>
definisce il numero di secondi da riempire con l'ultimo valore per evitare caselle NaN a causa del jitter di inserimento dei dati (predefinito: 0 secondi)


definisce la tabella da cui recuperare il set di risultati.

Se è necessario recuperare dati da più tabelle, queste tabelle possono essere definite separando i nomi delle tabelle con un "+"

la codifica di tipo esadecimale tramite %xx viene tradotta nel valore effettivo, usa %% per usare %

<[*]timestamp unix colonna>
definisce la colonna di E tabellaE che contiene unix-timestamp
- se questo è un campo DATETIME nel database, prefisso con '*' iniziale

la codifica di tipo esadecimale tramite %xx viene tradotta nel valore effettivo, usa %% per usare %

<dati APPREZZIAMO colonna>
definisce la colonna di E tabellaE che contiene la colonna del valore, che dovrebbe essere rappresentata graficamente

la codifica di tipo esadecimale tramite %xx viene tradotta nel valore effettivo, usa %% per usare %

/derivare
definisce che il valore dei dati utilizzato deve essere il delta dei 2 valori consecutivi (per simulare origini dati di tipo COUNTER o DERIVE)

/ clausola(i)>
definisce una (o più) clausole where che si uniscono con AND per filtrare le voci nel tavolo

la codifica di tipo esadecimale tramite %xx viene tradotta nel valore effettivo, usa %% per usare %

i nomi-colonna del valore restituito, che possono essere utilizzati come nomi-ds, sono:

verbale, avg, max, contare e sigma
vengono restituiti per essere utilizzati come ds-name nella definizione DS.
Il motivo per l'utilizzo di questo è che se la funzione di consolidamento viene utilizzata per min/avg e max, il motore viene utilizzato più volte.
E questo si traduce nelle stesse istruzioni SQL utilizzate più volte

ESEMPI


Ecco un esempio di tabella in un database MySQL:

Informazioni sulla connessione al DB
dbhost=127.0.0.1
utente=rrd
password=segreta
nomedb=rrd

qui la tabella:
CREA TABELLA RRDValue (
RRDKeyID grande(20) NON NULLO,
UnixTimeStamp int(11) NON NULLO,
valore double default NOT NULL,
CHIAVE PRIMARIA (RRDKeyID,UnixTimeStamp)
);

e il RRDKeyID che vogliamo rappresentare graficamente è: 1141942900757789274

Lo pseudo-rrd-filename per accedere a questo è:
"sql//mysql/host=127.0.0.1/dbname=rrd/username=rrd/password=secret//RRDValue/UnixTimeStamp
/value/RRDKeyID=1141464142203608274"

Per illustrare questo qui un comando per creare un grafico che contenga i valori effettivi.

DS_BASE="sql//mysql/host=127.0.0.1/dbname=rrd/username=rrd/password=passwd//RRDValue/UnixTimeStamp/value/RRDKeyID=1141942900757789274"
rrdtool graph test.png --imgformat=PNG --start=-1giorno --end=+3ore --width=1000 --height=600 \
"DEF:min=$DS_BASE:min:MEDIA" \
"LINE1:min#FF0000:valore" \
"DEF:avg=$DS_BASE:avg:MEDIA" \
"LINE1:media#00FF00:media" \
"DEF:max=$DS_BASE:max:MEDIA" \
"LINE1:max#FF0000:max" \
"DEF:sigma=$DS_BASE:sigma:MEDIA" \
"CDEF:superiore=media,4,sigma,*,+" \
"LINE1:upper#0000FF:+4 sigma" \
"CDEF:inferiore=media,4,sigma,*,-" \
"LINE1:inferiore#0000FF:-4 sigma"

NOTE


* Naturalmente puoi anche usare qualsiasi altro tipo di driver supportato da libdbi, ad esempio postgres,
...

* Dal modo in cui l'origine dati è unita, dovrebbe essere anche possibile eseguire unioni over
tavoli diversi
(separare le tabelle con "," nella tabella e aggiungere nelle clausole WHERE le join uguali della tabella.
Questo non è stato testato!!!)

* Dovrebbe anche essere relativamente semplice da aggiungere al database utilizzando la stessa fonte di dati
stringa.
Non è stato implementato...

* Le funzioni di aggregazione vengono ignorate e vengono invece utilizzate diverse colonne di dati
per evitare di interrogare lo stesso SQL più volte quando minimo, medio e massimo sono
necessario per la grafica...

* per l'efficienza del DB dovresti pensare di avere 2 tabelle di cui una contenente i valori storici
e l'altro contenente i dati più recenti.
Questa seconda tabella dovrebbe essere ridotta per consentire il minor numero di blocchi SQL
dichiarazioni.
Con mysql puoi anche usare myisam table-type per il primo e InnoDB per il secondo.
Ciò è particolarmente interessante poiché con le tabelle con + 100 milioni di righe myisam è molto più piccolo
quindi InnoDB.

* Per eseguire il debug delle istruzioni SQL impostare la variabile d'ambiente RRDDEBUGSQL e l'effettivo SQL
dichiarazioni e la tempistica viene stampata su stderr.

Cookie di prestazione sicurezza con MySQL backend


LibDBI ha un grosso problema di prestazioni quando si recuperano i dati da un server MySQL. Prestazione
l'impatto è esponenzialmente basato sul numero di valori recuperati dal database. Per
esempio, ci vorrebbero più di 2 secondi per rappresentare graficamente 5DS su 150 ore di dati con a
precisione di 5 minuti (contro 100 ms quando i dati provengono da un file RRD). Questo bug è stato
corretto sull'ultima versione di LibDBI (non ancora rilasciato). A quel tempo, avresti bisogno di
compilare libdbi e libdbi-drivers dal repository CVS per risolverlo. Puoi trovare di più
informazioni su questo thread della mailing list di libdbi-users:
http://sourceforge.net/mailarchive/message.php?id_msg=30320894

Usa rrdgraph_libdbi online usando i servizi onworks.net


Server e workstation gratuiti

Scarica app per Windows e Linux

Comandi Linux

Ad




×
Cookie per pubblicità
❤️Fai acquisti, prenota o acquista qui: nessun costo, aiuta a mantenere i servizi gratuiti.