Bucky er en liten web-server for å samle inn og oversette beregninger for Graphite. & Nbsp; Det kan nåværende samle metriske data fra CollectD nisser og fra StatsD klienter.
Installasjon
Du kan installere med easy_install eller pip som per normal modus operandi:
& Nbsp; easy_install Bucky
# Eller
PIP installere Bucky
Etter å ha installert, kan du kjøre Bucky som:
Bucky
Som standard vil Bucky åpne en CollectD UDP socket på 127.0.0.1:25826, til en StatsD kontakt på 127.0.0.1:8125 samt forsøk på å koble til en lokal Graphite (Carbon) daemon på 127.0.0.1:2003.
Disse er alle valgfrie som vist nedenfor. Du kan også deaktivere CollectD eller StatsD servere helt hvis du ønsker det.
Running Bucky for Real
Den slu observatør vil merke at Bucky har ingen flagg for daemonization. Dette er helt med vilje. Den anbefalte måten å kjøre Bucky i produksjon er via Runit. Det er et eksempel tjeneste katalog i Bucky kilde depotet.
kommandolinjealternativer
Kommandolinjealternativene er begrenset til å kontrollere nettverksparametrene. Hvis du ønsker å konfigurere noen av de mer intrikate arbeidet du må bruke en config fil. Her er den Bucky -h utgang:
Bruk: main.py [ALTERNATIVER] [CONFIG_FILE]
Alternativer:
& Nbsp; - collectd-ip = IP IP-adresse for å binde for CollectD UDP socket
& Nbsp; [127.0.0.1]
& Nbsp; - collectd-port = INT Port å binde for CollectD UDP socket [25826]
& Nbsp; - collectd-typer = FIL
& Nbsp; Sti til collectd types.db fil
& Nbsp; - disable-collectd Deaktiver CollectD UDP-serveren
& Nbsp; - statsd-ip = IP IP-adresse for å binde for StatsD UDP socket
& Nbsp; [127.0.0.1]
& Nbsp; - statsd-port = INT Port å binde for StatsD UDP socket [8125]
& Nbsp; - disable-statsd Deaktiver StatsD serveren
& Nbsp; - grafitt-ip = IP IP-adressen til Graphite / Carbon-server [127.0.0.1]
& Nbsp; - grafitt-port = INT Port av Graphite / Carbon-server [2003]
& Nbsp; - full-spor Skjerm fulle feil hvis config filen ikke lastes
& Nbsp; - versjon viser programmets versjonsnummer og exit
& Nbsp; -H, Hjelpe vis denne hjelpemeldingen og exit
Config File Options
Konfigurasjonsfilen er en normal Python-fil som definerer en rekke variabler. De fleste av kommandolinjevalg kan også spesifiseres i denne filen (fjern "-" prefiks og erstatte "-" med "_"), men dersom det er oppgitt på begge steder, prioriteres kommandolinjen. Standardinnstillingene som en config-fil:
# Prefix for collectd metriske navn
collectd_conv_prefix = None
# Postfix for collectd metriske navn
collectd_conv_postfix = None
# Sett punktum (.) I metriske navn med denne verdien
collectd_replace = "_"
# Hvis en bane har identisk gjentatte komponenter, kollaps
# Dem til en enkelt forekomst. Dvs, blir a.b.b.c a.b.c
collectd_strip_duplicates = True
# Disse vertsnavn vil bli fjernet fra vertsnavn som
# Mottas. Dvs, hvis "foo.bar.cloudant.com" kommer i
# Og "cloudant.com" er oppført, så den resulterende
# Vertsnavn vil være "foo.bar".
collectd_host_trim = []
# CollectD beregninger må ha et navn generert for
# Bruk av grafitt. Her kan du registrere en spesiell
# Behandleren for beregninger basert på CollectD plugin
# Navn.
#
# For eksempel, ender opp med CollectD CPU plugin
# metriske navn som "host.cpu.0.cpu.idle" for å fjerne
# Den andre forekomsten CPU vi kan registrere en plugin
# For å generere navnet.
#
# Den dict nøkkel bør være CollectD plugin navn
# Og verdien bør være en oppsigelige som aksepterer
# En eneste argument og returnerer en liste over strenger.
collectd_converters = {}
# Eventuelt deaktivere systemet brede søket etter
# Converter plugins.
# omformere.
collectd_use_entry_points = True
# Antall sekunder som StatsD nissen bør
# Vente før spyling verdier.
statsd_flush_time = 10
Konfigurering CollectD
Du trenger bare å legge til noe som dette til din collectd.conf:
LoadPlugin "nettverk"
& Nbsp; Server "127.0.0.1" "25826"
Selvfølgelig, vil du ønsker å matche opp IP-adresser og porter, og sørge for at brannmuren er konfigurert til å tillate UDP pakker gjennom.
Konfigurering StatsD
Bare pek dine StatsD klienter på Bucky IP / Port og du bør være godt å gå.
En kommentar om CollectD omformere
CollectD beregninger er ikke akkurat direkte oversett til grafitt metriske navn. Standardovers forsøker å gjøre en kvalifisert gjetning, men dette kan resultere i litt mindre enn pene Grafitt trær.
Av denne grunn har Bucky konfigurerbare omformere. Disse er laget av CollectD plugin navn. Inngangen til disse funksjonene er en representasjon av CollectD beregning som ser ut som sådan:
{
& Nbsp; 'host': 'toroid.local',
& Nbsp; 'intervall': 10,0,
& Nbsp; 'plugg': 'minne',
& Nbsp; 'plugin_instance': '',
& Nbsp; 'tid': 1320970329,175534,
& Nbsp; 'type': 'minne',
& Nbsp; 'type_instance': "inaktiv",
& Nbsp; "verdi": 823.009.280,0,
& Nbsp; 'value_name': "verdi",
& Nbsp; 'value_type': 1
}
Resultatet av denne funksjonen skal være en liste av strenger som representerer en del av grafitt metrisk navn. For eksempel, hvis en omformer returnert ["foo", "bar"], vil den endelige beregningen navn ende opp som. Prefiks $ $ hostname.foo.bar $ postfix..
Et eksempel builtin Kalkulator ser ut slik:
# Dette kan være hvordan du definerer en omformer i
# Config fil
klasse MemoryConverter (objekt):
& Nbsp; PRIORITET = 0
& Nbsp; def __call __ (selv, prøve):
& Nbsp; tilbake ["minne", sample ["type_instance"]]
collectd_converters = [MemoryConverter ()]
Samlere har også en forestilling om prioritet for å løse konflikter. Dette er bare en eiendom på oppsigelige heter "PRIORITY" og større prioriteringer er å foretrekke. Jeg kan ikke forestille dette må brukes veldig ofte, men det er det bare i tilfelle.
Omformere kan enten bli erklært og / eller importert i valgfri config fil, eller de kan autodiscovered via inngangspunkter. Inngangspunkt som er søkt er "bucky.collectd.converters". . Inngangspunkt skal være navnet CollectD plugin navn
Krav :
- Python
Kommentarer ikke funnet