Bucky is 'n klein web bediener vir die versameling en die vertaling van statistieke vir Graphite & nbsp;. Dit kan huidige versamel metrieke data van CollectD daemons en van StatsD kliënte.
Installasie
Jy kan installeer met easy_install of pit soos per normale modus operandi:
& Nbsp; easy_install Bucky
# Of
PIP installeer Bucky
Na die installering van, kan jy hardloop Bucky soos:
Bucky
By verstek, sal Bucky n CollectD UDP socket oopmaak op 127.0.0.1:25826, 'n StatsD socket op 127.0.0.1:8125 asook poging aan te sluit by 'n plaaslike Graphite (koolstof) daemon op 127.0.0.1:2003.
Dit is alles opsioneel soos hieronder geïllustreer. Jy kan ook die CollectD of StatsD bedieners skakel heeltemal as jy dit wil hê.
Running Bucky Vir Real
Die slim waarnemer sal sien dat Bucky het geen vlae vir daemonization. Dit is nogal 'n doel. Die aanbevole manier Bucky te hardloop in produksie is via runit. Daar is 'n voorbeeld diens gids in Bucky se bron repository.
Command Line Options
Die opdrag lyn opsies is beperk tot die beheer van die netwerk parameters. As jy wil 'n paar van die meer ingewikkelde werking te stel wat jy nodig het 'n config lêer te gebruik. Hier is die Bucky h afvoer:
Gebruik: main.py [OPSIES] [CONFIG_FILE]
Opsies:
& Nbsp; - collectd-ip = IP IP-adres vir die CollectD UDP socket te bind
& Nbsp; [127.0.0.1]
& Nbsp; - collectd-hawe = INT Port te vir die CollectD UDP socket bind [25826]
& Nbsp; - collectd-tipes = FILE
& Nbsp; Pad na die collectd types.db lêer
& Nbsp; - disable-collectd Skakel die CollectD UDP bediener
& Nbsp; - statsd-ip = IP IP-adres vir die StatsD UDP socket te bind
& Nbsp; [127.0.0.1]
& Nbsp; - statsd-hawe = INT Port te bind vir die StatsD UDP socket [8125]
& Nbsp; - disable-statsd Skakel die StatsD bediener
& Nbsp; - grafiet-ip = IP IP adres van die Graphite / Carbon bediener [127.0.0.1]
& Nbsp; - grafiet-hawe = INT Port van die Graphite / Carbon bediener [2003]
& Nbsp; - full-spoor Display volle fout as config lêer versuim om te laai
& Nbsp; - weergawe show program se weergawe nommer en uitgang
& Nbsp; h, help uit te voer hierdie hulp boodskap en uitgang wys
opstelling lêer Options
Die opset lêer is 'n normale Python lêer wat definieer 'n aantal veranderlikes. Die meeste van command line opsies kan ook gespesifiseer word in hierdie lêer (verwyder die "-" voorvoegsel en vervang "-" met "_"), maar as gespesifiseer in beide plekke, die command line neem prioriteit. Die standaard as 'n config lêer:
# Voorvoegsel vir collectd metrieke name
collectd_conv_prefix = Geen
# Postfix vir collectd metrieke name
collectd_conv_postfix = Geen
# Plaas periodes (.) In metrieke name met hierdie waarde
collectd_replace = "_"
# As 'n pad het identiese herhaalde komponente, ineenstorting
# Hulle na 'n enkele geval. Dit wil sê, a.b.b.c word a.b.c
collectd_strip_duplicates = True
# Hierdie gasheername sal van gasheername verwyder word dat
# Ontvang. Dit wil sê, as "foo.bar.cloudant.com" kom in
# En "cloudant.com" gelys, dan is die gevolg
# Gasheernaam sal "foo.bar" wees.
collectd_host_trim = []
# CollectD statistieke nodig om 'n naam gegenereer vir
# Gebruik deur Graphite. Hier kan jy registreer 'n spesiale
# Hanteerder vir statistieke wat gebaseer is op die CollectD plugin
# Naam.
#
# Byvoorbeeld, die CollectD CPU plugin eindig met
# Metrieke name soos "host.cpu.0.cpu.idle" te verwyder
# Die tweede geval CPU ons kan 'n plugin registreer
# Die naam te genereer.
#
# Die dict sleutel moet die CollectD plugin naam
# En die waarde moet 'n call able wat aanvaar word
# 'N enkele argument en gee 'n lys van stringe.
collectd_converters = {}
# Optionally die stelsel wyd soek vir afskakel
# Converter plugins.
# Omsetters.
collectd_use_entry_points = True
# Die aantal sekondes wat die StatsD daemon moet
# Wag voordat spoel waardes.
statsd_flush_time = 10
instel CollectD
Jy moet net nodig het om iets soos hierdie te voeg tot jou collectd.conf:
LoadPlugin "netwerk"
& Nbsp; Server "127.0.0.1" "25826"
Natuurlik, jy wil aan te pas om die IP adresse en hawens en maak seker dat jou firewall is ingestel UDP pakkies deur te laat.
instel StatsD
Net punt jou StatsD kliënte by Bucky se IP / Port en jy moet goed om te gaan.
'n nota op CollectD converters
CollectD statistieke is nie presies direk vertaalbaar metrieke name grafiet. Die standaard vertaler poog om 'n beste raaiskoot te maak, maar dit kan lei tot effens minder as mooi Graphite bome.
Om hierdie rede, Bucky het konfigureerbare omsetters. Hierdie is slaggereed af die CollectD plugin naam. Die insette tot hierdie funksies is 'n voorstelling van die CollectD metrieke wat lyk soos so:
{
& Nbsp; 'host': 'toroid.local',
& Nbsp; 'interval': 10.0,
& Nbsp; 'plugin': 'geheue',
& Nbsp; 'plugin_instance': '',
& Nbsp; 'tyd': 1320970329,175534,
& Nbsp; 'tipe': "memory"
& Nbsp; 'type_instance': 'n onaktiewe "
& Nbsp; 'waarde': 823.009.280,0,
& Nbsp; 'value_name': 'waarde',
& Nbsp; 'value_type': 1
}
Die gevolg van hierdie funksie moet 'n lys van snare wat deel van die Graphite metrieke naam verteenwoordig wees. Byvoorbeeld, as 'n converter teruggekeer ["cat", "bar"], sal die finale metrieke naam eindig as: $ voorvoegsel $ hostname.foo.bar $ postfix...
'N voorbeeld ingeboude converter lyk soos:
# Dit kan wees hoe jy 'n converter definieer in
# Jou config lêer
klas MemoryConverter (voorwerp):
& Nbsp; PRIORITEIT = 0
& Nbsp; def __call __ (self, monster):
& Nbsp; terugkeer ["memory", monster ["type_instance"]]
collectd_converters = [MemoryConverter ()]
Versamelaars ook 'n idee van prioriteit om konflikte op te los. Dit is bloot 'n eiendom op die call able met die naam "prioriteit" en groter prioriteite word verkies. Ek nie dink nie dit sal nodig het om te word baie dikwels gebruik, maar sy is daar net in geval.
Converters kan óf verklaar word en / of ingevoer in die opsionele opstelling lêer, of hulle kan autodiscovered word via inskrywing punte. Die beginpunt wat soek is, is "bucky.collectd.converters". . Die inskrywing punt naam moet die CollectD plugin naam
Vereistes :
- Python
Kommentaar nie gevind