Dit is de opdracht rrdcached 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
rrdcached - Daemon voor gegevenscaching voor rrdtool
KORTE INHOUD
gecached [-a alloc_grootte] [-b basismap [-B,-F] [-f time-out] [-G groep,-g]
[-j dagboek_dir] [-L] [-l adres] [-m mode] [-O] [-P permissies] [-p pid_bestand] [-R]
[-s groep] [-t schrijf_threads] [-U gebruiker,-w time-out] [-z vertraging]
PRODUCTBESCHRIJVING
gecached is een daemon die updates van bestaande RRD-bestanden ontvangt, deze verzamelt en,
als er genoeg zijn ontvangen of een bepaalde tijd is verstreken, schrijft de updates naar de RRD
het dossier. EEN doorspoelen commando kan worden gebruikt om het schrijven van waarden naar schijf te forceren, zodat grafieken
faciliteiten en dergelijke kunnen werken met actuele gegevens.
De daemon is geschreven met grote setups in gedachten. Die instellingen komen meestal IO-gerelateerd tegen
problemen vroeg of laat om redenen die buiten het bestek van dit document vallen. Controleer de
wiki op de RRDtool-homepage voor details. Controleer ook "VEILIGHEIDSOVERWEGINGEN" hieronder
voordat u deze daemon gebruikt! Een gedetailleerde beschrijving van hoe de daemon werkt, is te vinden
in het gedeelte "HOE HET WERKT" hieronder.
OPTIES
-l adres
Vertelt de daemon om aan te binden adres en accepteer daarop inkomende TCP-verbindingen
stopcontact. Indien adres begint met "unix:", alles wat volgt op dat voorvoegsel is
geïnterpreteerd als het pad naar een UNIX-domeinsocket. Anders het adres of de naam van het knooppunt
worden opgelost met "getaddrinfo()".
Voor netwerkaansluitingen kan een poort worden opgegeven met behulp van het formulier "[adres]:haven". Indien
het adres is een IPv4-adres of een volledig gekwalificeerde domeinnaam (d.w.z. het adres
bevat ten minste één punt (".")), kunnen de vierkante haken worden weggelaten, wat resulteert in de
(eenvoudiger) "adres:haven" patroon. De standaardpoort is 42217. Als u een netwerk opgeeft
socket, is het verplicht om de sectie "VEILIGHEIDSOVERWEGINGEN" te lezen.
De volgende formaten worden geaccepteerd. Houd er rekening mee dat het adres van het UNIX-domein
stopcontact Dan moet je begin met een schuine streep in het tweede geval!
unix:
/
[ ]:
:
Gegeven een poort zonder host (bijv. "-l :42217") zal de daemon op die poort luisteren op
alle netwerkinterfaces. Gebruik "-L" om te voorkomen dat de poort expliciet moet worden opgegeven als
de standaardpoort is gewenst.
Zo nee -l optie is niet gespecificeerd het standaardadres, "unix:/tmp/rrdcached.sock", zal
worden gebruikt. Meerdere -l opties kunnen worden aangeboden.
-L Vertelt de daemon om te binden aan de standaard TCP-poort op alle beschikbare interfaces. Het is
equivalent aan "-l ''" zonder de verwarring van de lege stringparameter.
-s groepsnaam|gid
Stel de groepsmachtigingen van een UNIX-domeinsocket in. De optie accepteert een numeriek
groeps-ID of groepsnaam. Die groep heeft dan zowel lees- als schrijfrechten (de
socket heeft bestandspermissies 0760) voor de socket en kan daarom
commando's naar de daemon. Dit kan handig zijn in gevallen waarin u niet gemakkelijk alles kunt uitvoeren
RRD-processen met dezelfde gebruikersrechten (bijv. grafiekgenererende CGI-scripts die
meestal uitgevoerd in de toestemmingscontext van de webserver).
Deze optie heeft invloed op de volgend UNIX-socketadressen (de volgende -l opties) of
de standaard socket (indien niet) -l opties zijn opgegeven), dat wil zeggen, u kunt specificeren
verschillende instellingen voor verschillende stopcontacten.
De standaard is om het eigendom of de machtigingen van de socket niet te wijzigen en dus de te gebruiken
systeemfout.
-m mode
Stel de bestandsrechten van een UNIX-domeinsocket in. De optie accepteert een octaal getal
die het bitpatroon voor de modus vertegenwoordigt (zie chmod(1) voor details).
Houd er rekening mee dat niet alle systemen deze instelling respecteren. Op Linux, lees-/schrijfrechten
zijn vereist om verbinding te maken met een UNIX-socket. Veel van BSD afgeleide systemen negeren echter
machtigingen voor UNIX-sockets. Zien unix(7) voor details.
Deze optie heeft invloed op de volgend UNIX-socketadressen (de volgende -l opties) of
de standaard socket (indien niet) -l opties zijn opgegeven), dat wil zeggen, u kunt specificeren
verschillende instellingen voor verschillende stopcontacten.
De standaard is om het eigendom of de machtigingen van de socket niet te wijzigen en dus de te gebruiken
systeemfout.
-P commando[,commando[,...]]
Specificeert de opdrachten die worden geaccepteerd via zowel een netwerk als een UNIX-socket. Dit maakt het mogelijk
beheerders van RRDCacheD om de acties te controleren die vanuit verschillende bronnen worden geaccepteerd.
De argumenten die aan de -P optie is een door komma's gescheiden lijst met opdrachten. Voor
om bijvoorbeeld de opdrachten "FLUSH" en "PENDING" toe te staan, zou men kunnen specificeren:
rrdcached -P FLUSH, IN AFWACHTING VAN $MORE_ARGUMENTS
De -P optie heeft invloed op de volgend socket adressen (de volgende -l opties) of de
standaard socket (indien niet) -l opties zijn opgegeven). In het volgende voorbeeld, alleen
de IPv4-netwerkaansluiting (adres 10.0.0.1) wordt beperkt tot de "FLUSH" en
"PENDING" commando's:
rrdcached -l unix:/some/path -P FLUSH,PENDING -l 10.0.0.1
Een volledige lijst met beschikbare commando's is te vinden in de sectie "Geldige commando's"
onderstaand. Er zijn twee kleine bijzondere uitzonderingen:
· De commando's "HELP" en "QUIT" zijn altijd toegestaan.
· Als het "BATCH"-commando wordt geaccepteerd, wordt de . commando wordt automatisch geaccepteerd,
ook.
Lees ook "VEILIGHEIDSOVERWEGINGEN" hieronder.
-w time-out
Gegevens worden elke keer naar schijf geschreven time-out seconden. Er kan een optioneel achtervoegsel worden gebruikt (bijv
"5m" in plaats van 300 seconden). Als deze optie niet is opgegeven, is het standaardinterval van
300 seconden worden gebruikt.
-z vertraging
Indien gespecificeerd, vertraagt rrdcached het schrijven van elke RRD met een willekeurig aantal seconden
in het bereik [0,vertraging). Dit voorkomt dat te veel schrijfbewerkingen tegelijkertijd in de wachtrij worden geplaatst.
Deze waarde mag niet groter zijn dan de waarde gespecificeerd in -w. Een optioneel achtervoegsel
kan worden gebruikt (bijv. "3m" in plaats van 180 seconden). Standaard is er geen vertraging.
-f time-out
Alle time-out seconden wordt de hele cache doorzocht op oude waarden waarnaar wordt geschreven
schijf. Dit betreft alleen bestanden waarvan de updates zijn gestopt, dus zet dit op a
een hoge waarde, zoals 3600 seconden, is in de meeste gevallen acceptabel. Een optioneel achtervoegsel kan
worden gebruikt (bijv. "1h" in plaats van 3600 seconden). Deze time-out is standaard 3600 seconden.
-p filet
Stelt de naam en locatie van het PID-bestand in. Indien niet gespecificeerd, is de standaard,
"$localstatedir/run/rrdcached.pid" gebruikt.
-t schrijf_threads
Specificeert het aantal threads dat wordt gebruikt voor het schrijven van RRD-bestanden. De standaardwaarde is 4.
Door dit aantal te verhogen, kan rrdcached meer gelijktijdige I/O-verzoeken hebben
in de kern. Hierdoor kan de kernel de schijfschrijfbewerkingen opnieuw ordenen, wat resulteert in:
betere schijfdoorvoer.
-j dir
Schrijf updates voor een dagboek in dir. In het geval van een programma- of systeemcrash,
zal de daemon in staat stellen om alle updates te schrijven die in behandeling waren op het moment van de crash.
Bij het opstarten zal de daemon controleren op journaalbestanden in deze map. Indien gevonden, alle
updates daarin worden in het geheugen ingelezen voordat de daemon nieuwe begint te accepteren
verbindingen.
Het journaal wordt gedraaid met dezelfde frequentie als de spoeltimer gegeven door -f.
Als journaling is ingeschakeld, gebruikt de daemon een procedure voor snel afsluiten. Liever
dan alle bestanden naar de schijf te spoelen, zorgt het ervoor dat het journaal correct wordt geschreven en
onmiddellijk verlaten. Hoewel de RRD-gegevensbestanden niet volledig up-to-date zijn,
informatie gaat verloren; alle wachtende updates worden de volgende keer opnieuw afgespeeld vanuit het journaal
de daemon start op.
Gebruik de om snel afsluiten uit te schakelen -F optie.
-F Spoel ALTIJD alle updates van de RRD-gegevensbestanden door wanneer de daemon wordt afgesloten,
ongeacht de journaalinstelling.
-g Op de voorgrond rennen. De daemon zal niet vork().
-b dir
De daemon verandert bij het opstarten in een specifieke map. Alle bestanden doorgegeven aan de
daemon, die worden gespecificeerd door a relatief pad, wordt geïnterpreteerd als relatief ten opzichte van
deze map. Als de standaard niet wordt gegeven, "/ tmp", zal gebruikt worden.
+------------------------+------------------------ +
! Opdrachtregel ! Bestand bijgewerkt!
+------------------------+------------------------ +
! foo.rrd! /tmp/foo.rrd !
! foo/bar.rrd ! /tmp/foo/bar.rrd !
! /var/lib/rrd/foo.rrd ! /var/lib/rrd/foo.rrd !
+------------------------+------------------------ +
Paden gegeven op de opdrachtregel en paden eigenlijk
bijgewerkt door de daemon, uitgaande van de basisdirectory
"/ tmp".
WAARSCHUWING: De paden tot en met de basismap MUST NIET BE symbolische verbindingen.
Met andere woorden, als de basisdirectory is opgegeven als:
-b /base/dir/ergens
... dan GEEN van de volgende moeten symbolische links zijn:
/baseren
/basis/directory
/base/dir/ergens
-B Sta alleen schrijven toe in de basismap gespecificeerd in -b (en eventuele submappen).
Dit betekent NIET symbolische koppelingen detecteren. Paden die "../" bevatten, worden ook geblokkeerd.
-R Toestaan dat recursieve subdirectory's worden gemaakt in de basisdirectory die is opgegeven in -b (En elk
submappen). Kan alleen worden gebruikt wanneer: -B is ook ingesteld.
-a alloc_grootte
Wijs waardeaanwijzers toe in brokken van alloc_grootte. Dit kan het CPU-gebruik verbeteren op
machines met trage "realloc()"-implementaties, in ruil voor iets meer geheugen
gebruik. De standaardwaarde is 1. Stel dit niet meer in dan de -w waarde gedeeld door
uw gemiddelde RRD-stapgrootte.
-O Voorkom dat het CREATE-commando bestaande bestanden overschrijft, zelfs als dit wordt gevraagd
om dat te doen. Dit is voor extra veiligheid.
-G -groep
Wanneer u als daemon draait en wordt aangeroepen vanuit een geprivilegieerd account, stelt u de groepsprivileges opnieuw in
aan die van groep. De groep kan worden opgegeven als een naam of als een groeps-ID. de demon
zal afsluiten met een diagnose als het niet succesvol kan overgaan naar de opgegeven
groep.
-U -gebruiker
Wanneer u als daemon draait en wordt aangeroepen vanuit een geprivilegieerd account, stelt u de gebruikersrechten opnieuw in op
die van gebruiker. De gebruiker kan worden opgegeven als een naam of als een gebruikers-ID. De daemon zal
sluit af met een diagnose als deze niet met succes kan worden overgezet naar de opgegeven gebruiker.
GETROFFEN RRDTOOL COMMANDO'S
De volgende commando's kunnen op de hoogte worden gebracht van de: gecached met behulp van het opdrachtregelargument
--demon of de omgevingsvariabele RRDCACHED_ADDRESS:
· dumpen
· ophalen
· doorspoelen
· grafiek
· grafv
· informatie
· eerst
· laatste
· laatste update
· bijwerken
· exporteren
· creëren
De -update commando kan waarden naar de daemon sturen in plaats van ze naar de schijf te schrijven
zelf. Alle andere commando's kunnen een SPOELEN commando (zie hieronder) naar de daemon ervoor
toegang tot de bestanden, zodat ze werken met up-to-date gegevens, zelfs als de cache-time-out groot is.
FOUT RAPPORTAGE
De daemon rapporteert fouten op twee manieren: Tijdens het opstarten worden foutberichten afgedrukt
naar "STDERR". Een van de stappen bij het opstarten is naar de achtergrond gaan en sluiten
"STDERR" - hierna is rechtstreeks schrijven naar de gebruiker niet meer mogelijk. Zodra dit heeft
is gebeurd, stuurt de daemon logberichten naar de systeemregistratiedaemon met behulp van syslog(3).
De gebruikte faciliteit is "LOG_DAEMON".
HOE IT WERKEN
Bij het ontvangen van een update, gecached schrijft niet naar schijf maar zoekt daarvoor naar een ingang
bestand in zijn interne boom. Indien niet gevonden, wordt er een item aangemaakt inclusief de huidige tijd
(in het onderstaande diagram "Eerste" genoemd). Deze keer is niet de tijd gespecificeerd op de opdracht
regel, maar de tijd die het besturingssysteem als "nu" beschouwt. De waarde en tijd van de
waarde (in het onderstaande diagram "Tijd" genoemd) worden toegevoegd aan het boomknooppunt.
Bij het toevoegen van een waarde aan een boomknooppunt wordt gecontroleerd of het tijd is om de waarden te schrijven
naar schijf. Waarden worden naar schijf geschreven als "now() - First >= timeout", waarbij "timeout" de . is
time-out opgegeven met de -w optie, zie "OPTIES". Als de waarden "oud genoeg" zijn, zullen ze
wordt in de wachtrij geplaatst in de "update-wachtrij", i. e. ze worden toegevoegd aan de gekoppelde lijst
hieronder weergegeven. Omdat de boomknooppunten en de elementen van de gekoppelde lijst dezelfde gegevens zijn
structuren in het geheugen, wordt elke update naar een bestand dat al in de wachtrij is gezet, weggeschreven
met de volgende schrijfactie naar het RRD-bestand ook.
Een aparte "updatethread" haalt constant het eerste element in de updatewachtrij uit de wachtrij en
schrijft al zijn waarden naar het juiste bestand. Dus zolang de update-wachtrij niet leeg is
bestanden worden met de hoogst mogelijke snelheid geschreven.
Aangezien de time-out van bestanden alleen wordt gecontroleerd wanneer nieuwe waarden aan het bestand worden toegevoegd, is "dood"
bestanden, ik. e. bestanden die niet meer worden bijgewerkt, zouden nooit naar schijf worden geschreven.
Daarom, zo nu en dan, gecontroleerd door de -f optie, de hele boom wordt gelopen en
alle "oude" waarden worden in de wachtrij geplaatst. Aangezien dit alleen van invloed is op "dode" bestanden en wandelen in de boom
relatief duur is, moet u het "spoelinterval" op een redelijk hoge waarde instellen.
De standaardwaarde is 3600 seconden (een uur).
Het nadeel van caching-waarden is dat ze niet worden weergegeven in grafieken die zijn gegenereerd met de
RRD-bestanden. Om dit te omzeilen, biedt de daemon het "flush-commando" om specifiek te spoelen
bestanden. Dit betekent dat het bestand wordt ingevoegd op de hoofd van de update-wachtrij of daarheen verplaatst
als het al in de wachtrij staat. Het flush-commando keert alleen terug nadat het bestand in behandeling is
updates zijn naar de schijf geschreven.
+------+ +------+ +------+
! hoofd ! ! wortel ! ! staart !
+---+--+ +---+--+ +---+--+
! /\!
! / \!
! /\ /\ !
! /\/\ \ `----------------- ... --------, !
V / `------, ! V
+---+----+---+ +------+-----+ +---+----+---+
! Bestand: foo! ! Bestand: balk ! ! Bestand: qux!
! Ten eerste: 101! ! Ten eerste: 119 ! ! Ten eerste: 180!
! Volgende:&bar -+--->! Volgende:&... -+---> ... --->! Volgende:NULL !
| Vorige:NULL !<---+-Vorige:&foo !<--- ... ----+-Vorige: &... !
+============+ +============+ +===========+
! Tijd: 100! ! Tijd: 120 ! ! Tijd: 180!
! Waarde: 10! ! Waarde: 0.1 ! ! Waarde: 2,2 !
+-----------+ +------------+ +------------+
! Tijd: 110! ! Tijd: 130 ! ! Tijd: 190!
! Waarde: 26! ! Waarde: 0.1 ! ! Waarde: 7,3 !
+-----------+ +------------+ +------------+
:::::::
+-----------+ +------------+ +------------+
! Tijd: 230! ! Tijd: 250 ! ! Tijd: 310!
! Waarde: 42! ! Waarde: 0.2 ! ! Waarde: 1,2 !
+-----------+ +------------+ +------------+
Het bovenstaande diagram laat zien:
· Bestanden/waarden worden opgeslagen in een (uitgebalanceerde) boomstructuur.
· Boomknooppunten en items in de updatewachtrij hebben dezelfde gegevensstructuur.
· De lokale tijd ("First") en de tijd gespecificeerd in updates ("Time") kunnen verschillen.
· Time-outwaarden worden ingevoegd bij de "staart".
· Expliciet gespoelde waarden worden ingevoegd bij de "kop".
· ASCII-kunstrotsen.
VEILIGHEID OVERWEGINGEN
authenticatie
Als uw rrdtool-installatie is gebouwd zonder libwrap, is er geen vorm van authenticatie
voor klanten die verbinding maken met de rrdcache-daemon!
Als uw rrdtool-installatie is gebouwd met libwrap, kunt u hosts_access gebruiken om:
beperk de clienttoegang tot de rrdcache-daemon (rrdcached). Voor meer informatie over hoe u
gebruik hosts_access om de toegang tot de rrdcache-daemon te beperken. Lees de
gastheren_toegang(5) man-pagina's.
Het wordt nog steeds sterk aanbevolen om een pakketfilter of soortgelijk mechanisme te installeren om te voorkomen dat:
ongeoorloofde verbindingen. Tenzij je hiervoor een dedicated VLAN of VPN hebt, gebruik makend van netwerk
stopcontacten is waarschijnlijk een slecht idee!
autorisatie
Er is minimale autorisatie per stopcontact.
Autorisatie gebeurt momenteel per socket. Dat betekent dat elke socket een lijst heeft
van commando's zal het accepteren en het zal accepteren. Het accepteert alleen die opdrachten
expliciet vermeld, maar het zal (momenteel) deze commando's accepteren van iedereen die de
stopcontact.
Als de netwerkaansluitingen moeten worden gebruikt, is het noodzakelijk om de geaccepteerde
commando's aan die nodig zijn door externe clients. Als externe klanten bijvoorbeeld willen:
grafieken van de gegevens in de cache tekenen, mogen ze alleen de opdracht "FLUSH" gebruiken.
Autorisatie werkt niet wanneer rrcached socket-geactiveerd is door systemd.
Encryptie
Er is geen encryptie.
Nogmaals, dit kan in de toekomst worden toegevoegd, maar voorlopig is het jouw taak om je
privé gegevens privé. Installeer een VPN of een versleutelde tunnel als je statistieken zijn
vertrouwelijk!
geestelijke gezondheid controleren
Er is geen geestelijke controle.
De daemon schrijft blindelings naar elk bestand dat hem wordt verteld, dus je moet echt een . maken
aparte gebruiker alleen voor deze daemon. Het doet ook geen enkele sanity checks, dus als het lukt
wordt verteld om waarden te schrijven voor een tijd lang in de toekomst, uw bestanden zullen goed worden verknoeid!
Conclusie
· Beveiliging is de taak van de beheerder.
· We raden aan om alleen schrijftoegang via UNIX-domeinsockets toe te staan.
· Je bent gewaarschuwd.
PROTOCOL
De daemon communiceert met clients met behulp van een lijngebaseerd ASCII-protocol dat gemakkelijk te
lezen en gemakkelijk te typen. Dit maakt het gemakkelijk voor scripts om het protocol te implementeren en
mogelijk voor gebruikers om telnet te gebruiken om verbinding te maken met de daemon en dingen "met de hand" te testen.
Het protocol is lijngebaseerd, dit houdt in dat elk record uit één of meerdere lijnen bestaat. EEN
regel wordt beëindigd door het regelinvoerteken 0x0A, gewoonlijk geschreven als "\n". In de
onderstaande voorbeelden, wordt dit teken geschreven als " " ("regelinvoer").
Nadat de verbinding tot stand is gebracht, wordt van de klant verwacht dat hij een "commando" verzendt. EEN
commando bestaat uit het sleutelwoord commando, mogelijk enkele argumenten en een terminating
nieuwe regel karakter. Zie "Geldige opdrachten" hieronder voor een lijst met opdrachten.
Voorbeeld:
FLUSH /tmp/foo.rrd
De daemon antwoordt met een regel bestaande uit een statuscode en een kort statusbericht,
gescheiden door een of meer spatietekens. Een negatieve statuscode signaleert een fout, a
positieve statuscode of nulsignaal succes. Als de statuscode groter is dan nul, is het
geeft het aantal regels aan dat volgt op de statusregel.
Voorbeelden:
0 Succes
2 Twee regels volgen
Dit is de eerste regel
En dit is de tweede regel
Geldig commando's
De volgende commando's worden door de daemon begrepen:
SPOELEN bestandsnaam
Zorgt ervoor dat de daemon zet bestandsnaam aan de hoofd van de update-wachtrij (mogelijk verplaatsen)
daar als het knooppunt al in de wachtrij staat). Het antwoord wordt verzonden na de knoop heeft
uit de wachtrij gehaald.
FLUSHAL
Zorgt ervoor dat de daemon ALLE lopende waarden naar de schijf begint te spoelen. Dit keert terug
onmiddellijk, ook al kan het schrijven lang duren.
IN AFWACHTING bestandsnaam
Toont alle "in behandeling zijnde" updates voor een bestand, in volgorde. De getoonde updates zijn nog niet
geschreven naar het onderliggende RRD-bestand.
OPHALEN bestandsnaam CF [begin [einde] [ds ...]]
Roept "rrd_fetch" aan met de opgegeven argumenten en retourneert het resultaat in tekstvorm. Indien
nodig is, wordt het bestand eerst naar de schijf gespoeld. De functie aan de clientzijde "rrdc_fetch"
(aangegeven in "rrd_client.h") parseert de uitvoer en gedraagt zich net als "rrd_fetch_r" voor
eenvoudige integratie van remote queries. ds definieert de te dumpen kolommen - als er geen zijn
gegeven, dan worden ze allemaal geretourneerd
OPHALENBIN bestandsnaam CF [begin [einde] [ds ...]]
Roept "rrd_fetch" aan met de opgegeven argumenten en retourneert het resultaat in text/binary
formulier om onnodige overhead te voorkomen. Indien nodig wordt het bestand leeggemaakt
eerst naar de schijf. De functie aan de clientzijde "rrdc_fetch" (aangegeven in "rrd_client.h")
parseert de uitvoer en gedraagt zich net als "rrd_fetch_r" voor eenvoudige integratie van remote
vragen. ds definieert de te dumpen kolommen - als er geen worden gegeven, worden ze allemaal geretourneerd
VERGETEN bestandsnaam
Verwijdert bestandsnaam uit de cache. Alle wachtende updates WILL BE VERLOREN.
WACHTRIJ
Toont de bestanden die in de uitvoerwachtrij staan. Retourneert nul of meer regels in de
volgende formaat, waar is het aantal waarden dat moet worden geschreven voor de
:
KLANTENSERVICE [commando]
Retourneert een kort gebruiksbericht. Als er geen commando wordt gegeven, of commando is KLANTENSERVICE, een lijst van
commando's die door de daemon worden ondersteund, worden geretourneerd. Anders een korte beschrijving, eventueel
die een verwijzing naar een handmatige pagina bevat, wordt geretourneerd. Dit is natuurlijk bedoeld voor
interactief gebruik en het formaat waarin de opdrachten en gebruikssamenvattingen zijn
geretourneerd is niet goed gedefinieerd.
STATISTIEKEN
Retourneert een lijst met metrische gegevens die kunnen worden gebruikt om de prestaties van de daemons te meten en
controleer de status ervan. Voor een beschrijving van de geretourneerde waarden, zie "Prestatiewaarden"
hieronder.
Het formaat waarin de waarden worden geretourneerd, is vergelijkbaar met veel andere op regels gebaseerde
protocollen: Elke waarde wordt afgedrukt op een aparte regel, elk bestaande uit de naam van
de waarde, een dubbele punt, een of meer spaties en de werkelijke waarde.
Voorbeeld:
9 Statistieken volgen
Wachtrijlengte: 0
UpdatesOntvangen: 30
FlushesOntvangen: 2
UpdatesGeschreven: 13
DataSetsGeschreven: 390
TreeNodesNummer: 13
Boomdiepte: 4
JournalBytes: 190
Journaal Draaien: 0
PING
PING-PONG, dit is erg handig bij het gebruik van een verbindingspool tussen de gebruikersclient en
GERDCACHED.
Voorbeeld:
0 PONG
UPDATE bestandsnaam waarden [waarden
Voegt meer gegevens toe aan een bestandsnaam. Dit is the bewerking waarvoor de daemon is ontworpen, dus
het opnieuw beschrijven van het mechanisme is overbodig. Lees "HOE HET WERKT" hierboven voor een
gedetailleerde uitleg.
Merk op dat rrdcached alleen absolute tijdstempels accepteert in de update-waarden. Updates
strings zoals "N:1:2:3" worden automatisch geconverteerd naar absolute tijd door de RRD-client
bibliotheek voor verzending naar rrdcached.
SCHREEF bestandsnaam
Deze opdracht wordt naar het journaal geschreven nadat een bestand met succes is weggeschreven naar:
schijf. Het wordt gebruikt tijdens het afspelen van een journaal om te bepalen welke updates al zijn geweest
toegepast. Het is Slechts geldig in het journaal; het wordt niet geaccepteerd van het andere commando
kanalen.
EERST bestandsnaam [rranum]
Retourneer de tijdstempel voor de eerste CDP in de opgegeven RRA. Standaard is om RRA . te gebruiken
nul als er geen is opgegeven.
LAATSTE bestandsnaam
Retourneer de tijdstempel voor de laatste update naar de opgegeven RRD. Merk op dat de cache is
niet gespoeld voor controle, aangezien de opdrachtgever dit apart dient aan te vragen indien
het is verplicht.
INFO bestandsnaam
Retourneer de configuratie-informatie voor de opgegeven RRD. Merk op dat de cache is niet
doorgespoeld alvorens te controleren, aangezien van de klant wordt verwacht dat hij dit apart vraagt als dit het geval is
vereist.
De informatie wordt geretourneerd, één item per regel, met het formaat:
l l l
CREATE bestandsnaam [-S stapgrootte] [-B begintijd] [-O] DSdefinities ... RRAdefinities ...
Dit zal het RRD-bestand maken volgens de opgegeven parameters, op voorwaarde dat de
parameters geldig zijn, en (als de optie -O is gegeven of als de rrdcached is gestart)
met de vlag -O) de opgegeven bestandsnaam bestaat niet al.
PARTIJ
Met deze opdracht wordt de bulklading van meerdere opdrachten gestart. Dit is ontworpen voor
installaties met extreem hoge update-snelheden, omdat het meer dan één commando toestaat
uit te geven per lezen() en schrijven().
Alle opdrachten worden uitgevoerd zoals ze zouden zijn als ze afzonderlijk zouden worden gegeven, behalve:
uitvoer naar de gebruiker. Berichten die op succes wijzen, worden onderdrukt en foutmeldingen
worden uitgesteld totdat de klant klaar is.
Opdrachtverwerking is voltooid wanneer de client een punt (".") op zijn eigen regel verzendt.
Nadat de client klaar is, reageert de server met een aantal fouten en de lijst met:
foutmeldingen (indien aanwezig). Elke foutmelding geeft het nummer van de opdracht aan
waarmee het overeenkomt, en de foutmelding zelf. Het eerste gebruikerscommando na
PARTIJ is opdracht nummer één.
klant: BATCH
server: 0 Ga je gang. Eindig met punt '.' op zijn eigen lijn.
client: UPDATE x.rrd 1223661439:1:2:3 <--- opdracht #1
client: UPDATE y.rrd 1223661440:3:4:5 <--- opdracht #2
opdrachtgever: enzovoort...
opdrachtgever: .
server: 2 fouten
server: 1 bericht voor commando 1
server: 12 bericht voor commando 12
QUIT
Verbreek de verbinding met rrdcached.
Prestatie Waarden
De volgende tellers worden geretourneerd door de STATISTIEKEN opdracht:
WachtrijLengte (niet ondertekend) 64bit geheel getal)
Aantal nodes dat momenteel in de wachtrij staat voor updates.
UpdatesOntvangen (niet ondertekend) 64bit geheel getal)
Aantal ontvangen UPDATE-opdrachten.
FlushesOntvangen (niet ondertekend) 64bit geheel getal)
Aantal ontvangen FLUSH-commando's.
UpdatesGeschreven (niet ondertekend) 64bit geheel getal)
Totaal aantal updates, d.w.z. e. oproepen naar "rrd_update_r", sinds de daemon is gestart.
DataSetsGeschreven (niet ondertekend) 64bit geheel getal)
Totaal aantal "datasets" dat naar de schijf is geschreven sinds de daemon is gestart. Een dataset
is een of meer waarden doorgegeven aan de UPDATE opdracht. Bijvoorbeeld: "1223661439:123:456"
is één dataset met twee waarden. De term "dataset" wordt gebruikt om verwarring te voorkomen
of individuele waarden of groepen waarden worden geteld.
BoomKnooppuntenNummer (niet ondertekend) 64bit geheel getal)
Aantal knooppunten in de cache.
BoomDiepte (niet ondertekend) 64bit geheel getal)
Diepte van de boom die wordt gebruikt voor snel opzoeken van sleutels.
JournaalBytes (niet ondertekend) 64bit geheel getal)
Totaal aantal bytes dat naar het journaal is geschreven sinds het opstarten.
Journaal Draaien (niet ondertekend) 64bit geheel getal)
Aantal keren dat het journaal is geroteerd sinds het opstarten.
SIGNALEN
SIGINT en SIGTERM
De daemon wordt normaal afgesloten bij ontvangst van een van deze signalen. Updates in behandeling zijn
behandeld in overeenstemming met de -j en -F opties.
SIGUSR1
De daemon wordt afgesloten NADAT alle updates naar de schijf zijn gewist. Dit kan een tijdje duren.
SIGUSR2
De daemon wordt onmiddellijk afgesloten, zonder updates naar de schijf te spoelen. In afwachting van updates
wordt afgespeeld vanuit het journaal wanneer de daemon opnieuw opstart. WAARSCHUWING: if
journaling (-J) is NIET ingeschakeld, elke in afwachting van updates WILL BE VERLOREN.
Gebruik rrdcached online met onworks.net-services