GoGPT Best VPN GoSearch

OnWorks-favicon

rrdgraph_libdbi - Online in de cloud

Voer rrdgraph_libdbi uit in de gratis hostingprovider van OnWorks via Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

Dit is de opdracht rrdgraph_libdbi die kan worden uitgevoerd in de gratis hostingprovider van OnWorks met behulp van een van onze meerdere gratis online werkstations zoals Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

PROGRAMMA:

NAAM


rrdgraph_libdbi - gegevens ophalen voor grafieken in rrdtool-grafiek via libdbi

KORTE INHOUD


= sql// chauffeur>/ = /...
[/rrdminstepsize= ][/rrdfillmissing= vermist n seconden>]//
/ kolom>/ waarde kolom>[/afleiden]/ clausule 1>/.../ clausule n>

PRODUCTBESCHRIJVING


Deze pseudo-rrd-bestandsnaam definieert een sql-gegevensbron:

sql//
magisch cookie-voorvoegsel voor een gegevensbron van het libdbi-type

<libdbi bestuurder>
welk libdbi-stuurprogramma moet worden gebruikt (bijvoorbeeld: mysql)

=
definieert de parameters die nodig zijn om verbinding te maken met de database met het gegeven libdbi-stuurprogramma
(Deze stuurprogramma's zijn libdbi-afhankelijk - bekijk voor details de stuurprogrammadocumentatie van libdbi!)

/rrdminstapgrootte=<minimaal stap maat>
definieert het minimum aantal staplengtes dat wordt gebruikt voor grafieken (standaard: 300 seconden)

/rrdfillmissing=<vul vermist seconden>
definieert het aantal seconden dat moet worden gevuld met de laatste waarde om NaN-vakken als gevolg van jitter bij het invoegen van gegevens te voorkomen (standaard: 0 seconden)


definieert de tabel waaruit de resultatenset moet worden opgehaald.

Als het nodig is om gegevens uit meerdere tabellen op te halen, kunnen deze tabellen worden gedefinieerd door de tabelnamen te scheiden met een "+"

hex-type-codering via %xx worden vertaald naar de werkelijke waarde, gebruik %% om % te gebruiken

<[*]unixtijdstempel kolom>
definieert de kolom van E tafelE die de unix-tijdstempel bevat
- als dit een DATETIME-veld in de database is, voeg dan een voorvoegsel toe met '*'

hex-type-codering via %xx worden vertaald naar de werkelijke waarde, gebruik %% om % te gebruiken

<gegevens waarde kolom>
definieert de kolom van E tafelE die de waardekolom bevat, die in een grafiek moet worden weergegeven

hex-type-codering via %xx worden vertaald naar de werkelijke waarde, gebruik %% om % te gebruiken

/afleiden
definieert dat de gebruikte gegevenswaarde de delta van de twee opeenvolgende waarden moet zijn (om gegevensbronnen van het type COUNTER of DERIVE te simuleren)

/ clausule(s)>
definieert één (of meer) clausules die zijn samengevoegd met AND om de vermeldingen in de te filteren tafel

hex-type-codering via %xx worden vertaald naar de werkelijke waarde, gebruik %% om % te gebruiken

de geretourneerde waarde kolomnamen, die kunnen worden gebruikt als ds-namen, zijn:

Min, avg, max, tellen en sigma
worden geretourneerd om te worden gebruikt als ds-namen in uw DS-definitie.
De reden om dit te gebruiken is dat als de consolidatiefunctie wordt gebruikt voor min/avg en max, de engine meerdere keren wordt gebruikt.
En dit resulteert in dezelfde SQL-instructies die meerdere keren worden gebruikt

Voorbeelden


Hier een voorbeeld van een tabel in een MySQL-database:

DB-verbindingsinformatie
dbhost=127.0.0.1
gebruiker=rrd
wachtwoord=geheim
dbnaam=rrd

hier de tabel:
MAAK TABEL RRDWaarde (
RRDKeyID bigint(20) NIET NUL,
UnixTijdstempel int(11) NIET NUL,
waarde dubbele standaard NIET NULL,
PRIMAIRE SLEUTEL (RRDKeyID,UnixTimeStamp)
);

en de RRDKeyID waarvoor we een grafiek willen maken is: 1141942900757789274

De pseudo rrd-bestandsnaam om hier toegang toe te krijgen is:
"sql//mysql/host=127.0.0.1/dbname=rrd/gebruikersnaam=rrd/wachtwoord=geheim//RRDValue/UnixTimeStamp
/waarde/RRDKeyID=1141464142203608274"

Om dit te illustreren hier een opdracht om een ​​grafiek te maken die de werkelijke waarden bevat.

DS_BASE="sql//mysql/host=127.0.0.1/dbname=rrd/gebruikersnaam=rrd/password=passwd//RRDValue/UnixTimeStamp/value/RRDKeyID=1141942900757789274"
rrdtool grafiek test.png --imgformat=PNG --start=-1dag --end=+3uur --breedte=1000 --hoogte=600 \
"DEF:min=$DS_BASE:min:GEMIDDELDE" \
"LINE1:min#FF0000:waarde" \
"DEF:avg=$DS_BASE:avg:GEMIDDELDE" \
"LINE1:gem#00FF00:gemiddeld" \
"DEF:max=$DS_BASE:max:GEMIDDELDE" \
"LIJN1:max#FF0000:max" \
"DEF:sigma=$DS_BASE:sigma:GEMIDDELDE" \
"CDEF:bovenste=gem,4,sigma,*,+" \
"LINE1:boven#0000FF:+4 sigma" \
"CDEF:lager=gem,4,sigma,*,-" \
"LINE1:lager#0000FF:-4 sigma"

OPMERKINGEN


* Uiteraard kunt u ook elk ander soort stuurprogramma gebruiken dat libdbi ondersteunt - bijvoorbeeld postgres,
...

* Gezien de manier waarop de gegevensbron is samengevoegd, zou het ook mogelijk moeten zijn om joins over te doen
verschillende tafels
(Scheid tabellen met "," in tabel en voeg in de WHERE-clausules toe dat de tabel gelijk is aan joins.
Dit is niet getest!!!)

* Het moet ook relatief eenvoudig zijn om gegevens aan de database toe te voegen met dezelfde gegevensbron
string.
Dit is niet uitgevoerd...

* De aggregatiefuncties worden genegeerd en in plaats daarvan worden verschillende gegevenskolommen gebruikt
om te voorkomen dat dezelfde SQL meerdere keren wordt opgevraagd wanneer minimum, gemiddelde en maximum zijn
nodig voor het tekenen...

* voor DB-efficiëntie moet u denken aan twee tabellen, waarvan er één historische waarden bevat
en de andere bevat de laatste gegevens.
Deze tweede tabel moet klein worden gehouden om zo weinig mogelijk blokkerende SQL mogelijk te maken
stellingen.
Met mysql kun je zelfs myisam table-type gebruiken voor de eerste en InnoDB voor de tweede.
Dit is vooral interessant omdat bij tabellen met +100 miljoen rijen myisam veel kleiner is
dan InnoDB.

* Om de SQL-instructies te debuggen, stelt u de omgevingsvariabele RRDDEBUGSQL en de daadwerkelijke SQL in
verklaringen en de timing wordt afgedrukt naar stderr.

Prestaties problemen with MySQL backend


LibDBI heeft een groot prestatieprobleem wanneer u gegevens ophaalt van een MySQL-server. Prestatie
De impact is exponentieel gebaseerd op het aantal waarden dat u uit de database haalt. Voor
Het zou bijvoorbeeld meer dan 2 seconden duren om 5DS te plotten op basis van 150 uur aan gegevens met a
nauwkeurigheid van 5 minuten (tegen 100 ms wanneer gegevens afkomstig zijn van een RRD-bestand). Deze bug is geweest
opgelost in de nieuwste versie van LibDBI (nog niet uitgebracht). Op dat moment zou je dat wel moeten doen
compileer libdbi en libdbi-drivers uit de CVS-repository om het probleem te repareren. Je kunt er meer vinden
informatie over deze libdbi-gebruikers mailinglijstthread:
http://sourceforge.net/mailarchive/message.php?msg_id=30320894

Gebruik rrdgraph_libdbi online met behulp van onworks.net-services


Gratis servers en werkstations

Windows- en Linux-apps downloaden

Linux-commando's

Ad




×
advertentie
❤️Koop, boek of koop hier — het is gratis, en zo blijven onze diensten gratis.