Bucky je malý webový server pro sběr a překládání metriky pro Graphite & nbsp;. Může to být aktuální shromažďovat metrické údaje z CollectD démoni a od klientů StatsD.
Instalace
Můžete nainstalovat s easy_install nebo pip podle normální modus operandi:
& Nbsp; easy_install Bucky
# Nebo
Pip nainstalovat Bucky
Po instalaci můžete spustit Bucky, jako je:
Bucky
Ve výchozím nastavení, Bucky se otevře CollectD UDP socket na 127.0.0.1:25826, StatsD zásuvka na 127.0.0.1:8125, stejně jako pokus o připojení k místní Graphite (Carbon) démon na 127.0.0.1:2003.
To vše jsou volitelné, jak je znázorněno níže. Můžete také zakázat servery CollectD nebo StatsD úplně, pokud si to přejí.
Běh Bucky pro realitní
Bystrý pozorovatel si všimnout, že Bucky nemá žádné příznaky pro daemonization. To je zcela na účelu. Doporučený způsob, jak spustit Bucky ve výrobě je přes runit. K dispozici je příklad adresářová služba ve zdrojovém úložišti Bucky je.
Možnosti příkazové řádky
Volby příkazového řádku jsou omezeny na kontrolu síťové parametry. Chcete-li nastavit některé z více složité fungování budete muset použít konfigurační soubor. Zde je Bucky -h výkon:
Použití: main.py [volby] [konfigurační_soubor]
Volby:
& Nbsp; - collectd-ip = IP IP adresa vázat na zásuvky CollectD UDP
& Nbsp; [127.0.0.1]
& Nbsp; - collectd-port = INT Port vázat na zásuvky CollectD UDP [25826]
& Nbsp; - collectd-typy = FILE
& Nbsp; Cesta k types.db souboru collectd
& Nbsp; - disable-collectd Zakázat serveru CollectD UDP
& Nbsp; - statsd-ip = IP IP adresa vázat na zásuvky StatsD UDP
& Nbsp; [127.0.0.1]
& Nbsp; - statsd-port = INT Port vázat na zásuvky StatsD UDP [8125]
& Nbsp; - disable-statsd Zakázat serveru StatsD
& Nbsp; - grafit-ip = IP IP adresa Graphite / Carbon serveru [127.0.0.1]
& Nbsp; - grafit-port = INT Port Graphite / Carbon serveru [2003]
& Nbsp; - full-stopa Display plný chyb, pokud je konfigurační soubor nepodaří načíst
& Nbsp; - číslo označení verze přehlídka programu a odchod
& Nbsp; -h, --help zobrazit tuto nápovědu a skončí
Volby Config souborů
Konfigurační soubor je normální soubor, Python, který definuje počet proměnných. Většina z voleb příkazové řádky lze také zadat v tomto souboru (odstranění "-" prefix a nahradit "-" s "_"), ale pokud je specifikována na obou místech, příkazového řádku má přednost. Výchozí nastavení jako konfiguračního souboru:
# Prefix pro collectd metrických jména
collectd_conv_prefix = None
# Postfix pro collectd metrických jména
collectd_conv_postfix = None
# Vyměňte období (.) V metrických jmen s touto hodnotou
collectd_replace = "_"
# Je-li cesta má shodný s opakovanými komponenty, kolaps
# Je na jedné instance. Tj a.b.b.c stává a.b.c
collectd_strip_duplicates = True
# Tyto hostitelů budou odstraněny z názvů hostitelů, že
# Jsou přijímány. Tj, pokud "foo.bar.cloudant.com" přijde
# A "cloudant.com" je uveden, pak výsledný
# Hostname bude "foo.bar".
collectd_host_trim = []
# CollectD metriky, musíte mít název vytvořené pro
# Užívání by grafit. Zde se můžete zaregistrovat speciální
# Handler pro metriky založené na CollectD plugin
# Název.
#
# Například plugin CollectD CPU skončí s
# metrické jména jako "host.cpu.0.cpu.idle" k odstranění
# Druhá instance CPU můžeme zaregistrovat plugin
# Generovat jméno.
#
# Dict klíč by měl být název CollectD plugin
# A hodnota by měla být vypovězeny, který přijímá
# Jediný argument a vrátí seznam řetězců.
collectd_converters = {}
# Volitelně zakázat celého systému vyhledávání
# Převodník plugins.
# převodníky.
collectd_use_entry_points = True
# Počet sekund, po které StatsD démon měl
# Čekat před návaly hodnoty.
statsd_flush_time = 10
Konfigurace CollectD
Měli byste třeba jen přidat něco takového do svého collectd.conf:
LoadPlugin "síť"
& Nbsp; Server "127.0.0.1" "25826"
Je zřejmé, že budete chtít, aby se vyrovnal IP adresy a porty, a ujistěte se, že vaše firewallu jsou nakonfigurovány tak, aby pakety UDP přes.
Konfigurace StatsD
Stačí namířit své klienty StatsD na Bucky IP / Port a vy byste měli být dobré jít.
Poznámka o CollectD zpracovatelů
CollectD metriky nejsou zrovna přímo přeložitelné do Graphite metrické jména. Výchozí překladatel se snaží, aby se nejlepší odhad, ale to může mít za následek o něco méně, než hezké Grafitové stromy.
Z tohoto důvodu, Bucky má nastavitelné převodníky. Ty jsou opatřeny výčnělkem, mimo název CollectD plugin. Vstup do těchto funkcí je reprezentace CollectD metriky, který vypadá, jako:
{
& Nbsp; "hostitel": "toroid.local"
& Nbsp; "interval": 10,0,
& Nbsp; "plugin": "paměť",
& Nbsp; "plugin_instance ':' ',
& Nbsp; "čas": 1320970329,175534,
& Nbsp; "typ": "paměť",
& Nbsp; "type_instance": "neaktivní",
& Nbsp; "hodnotou": 823.009.280,0,
& Nbsp; "value_name": "hodnota",
& Nbsp; "value_type": 1
}
Výsledkem této funkce by měla být seznam řetězců, které představují část Graphite metriky názvu. Například, pokud měnič vrátil ["foo", "bar"], konečný metrický název skončí jako: $ prefix $ hostname.foo.bar $ Postfix...
Příkladem vestavěný převodník vypadá jako:
# To by mohlo být, jak definovat převodník v
# Váš config file
třída MemoryConverter (objekt):
& Nbsp; PRIORITY = 0
& Nbsp; def __call __ (self, ukázka):
& Nbsp; návrat ["paměť", vzorek ["type_instance"]]
collectd_converters = [MemoryConverter ()]
Sběratelé mají také představu o prioritu, aby se řešení konfliktů. Toto je pouze nemovitost na disponibilní s názvem "prioritou" a větší priority jsou výhodné. Neumím si představit to budou muset být použity velmi často, ale je tam jen v případě.
Měniče mohou být buď deklarováno a / nebo dovezené do volitelného konfiguračního souboru, nebo mohou být autodiscovered přes vstupní body. Vstupní bod, který se hledá, je "bucky.collectd.converters". , Název vstupní bod by měl být název CollectD plugin
Požadavky na :
- Python
Komentáře nebyl nalezen