Bucky yra mažas žiniatinklio serverio rinkti ir paversti metriką grafitas, & nbsp;. Tai gali Dabartinė rinkti metrinių duomenų iš collectd demonų ir iš StatsD klientams.
Diegimas
Jūs galite įdiegti su easy_install arba pip kaip už normalų modus operandi:
& Nbsp; easy_install Bucky
# Arba
PIP įdiegti Bucky
Įdiegus, galite paleisti Bucky, pavyzdžiui:
Bucky
Pagal nutylėjimą, Bucky atvers collectd UDP lizdą 127.0.0.1:25826, StatsD lizdas 127.0.0.1:8125 taip pat bandant prisijungti prie vietinio grafito (anglies) demonas ant 127.0.0.1:2003.
Visa tai yra neprivaloma, kaip parodyta žemiau. Taip pat galite išjungti collectd arba StatsD serverių visiškai, jei to nori.
Veikia Bucky už pinigus
Įžvalgus stebėtojas pastebėsite, kad Bucky neturi vėliavą daemonization. Tai gana sąmoningai. Rekomenduojama būdas paleisti Bucky gamyboje yra per runit. Yra pavyzdys tarnyba katalogas Bucky šaltinio saugykloje.
komandų eilutės parinktis
Komandų eilutės parinktis yra tik kontroliuoti tinklo parametrus. Jei norite konfigūruoti kai daugiau sudėtingų darbu jums reikia naudoti konfigūracijos failą. Štai Bucky -h produkcija:
Naudojimas: main.py [options] [CONFIG_FILE]
Pasirinkimai:
& Nbsp; - collectd-ip = IP IP adresas surišti už collectd UDP lizdą
& Nbsp; [127.0.0.1]
& Nbsp; - collectd uosto = INT uostas surišti už collectd UDP lizdo [25826]
& Nbsp; - collectd tipai = FAILO
& Nbsp; Kelias į collectd types.db failą
& Nbsp; - išjungti-collectd Išjungti collectd UDP serverį
& Nbsp; - statsd-ip = IP IP adresas surišti už StatsD UDP lizdą
& Nbsp; [127.0.0.1]
& Nbsp; - statsd uosto = INT uostas surišti už StatsD UDP lizdo [8125]
& Nbsp; - išjungti-statsd Išjungti StatsD serverį
& Nbsp; - grafito IP = IP IP adresas Grafitas / Anglies serverio [127.0.0.1]
& Nbsp; - grafito uosto = INT uostas grafito / Anglies serverio [2003]
& Nbsp; - visą pėdsakų Rodyti visą klaida, jei config failą nesikrauna
& Nbsp; - Versija Rodyti programos versijos numeris ir išeiti
& Nbsp; -h, help parodyti šią pagalbos pranešimą ir išeiti
Config Failų parinktys
Konfigūracijos failas yra normalu Python failas, kuris apibrėžia kintamųjų skaičių. Dauguma komandų eilutės parinktis gali būti nurodyta šio failo (pašalinti "-" priešdėlis ir pakeisti ", -" su "_"), tačiau, jei nurodyta abiejose vietose, komandinės eilutės pirmenybė. Numatytieji kaip config failą:
# Priešdėlis už collectd metrinių pavadinimų
collectd_conv_prefix = Nėra
# Postfix už collectd metrinių pavadinimų
collectd_conv_postfix = Nėra
# Pakeiskite laikotarpius (.) Metrinėmis pavadinimus su šios vertės
collectd_replace = "_"
# Jei maršrutas turi identišką pakartotinių komponentų, kolapsas
# Juos su vienu. Ty, a.b.b.c tampa a.b.c
collectd_strip_duplicates = True
# Šie hostname'ai bus visiškai pašalintas iš as, kad
# Gavimo. Ty, jei "foo.bar.cloudant.com" ateina
# Ir "cloudant.com" yra sąraše, tada Gautas
# Hostname bus "foo.bar".
collectd_host_trim = []
# Collectd metrikos reikia turėti pavadinimą sugeneruotas
# Naudojimas grafitas. Čia Jūs galite registruotis ypatingą
# Prižiūrėtojas metrikos remiantis collectd įskiepiai
# Pavadinimą.
#
# Pavyzdžiui, collectd CPU įskiepiai baigiasi su
# metrinių pavadinimai kaip "host.cpu.0.cpu.idle" pašalinti
# Antroji instancija CPU galėtume užregistruoti įskiepiai
# Generuoti vardą.
#
# Dict raktas turėtų būti collectd įskiepiai vardas
# Ir vertė turi būti įsteigti EEE, kuri priima
# Vieną argumentą ir grąžina eilučių sąrašą.
collectd_converters = {}
# Pasirinktinai išjungti sistemos platų paiešką
# Konverteris įskiepių.
# keitikliai.
collectd_use_entry_points = True
# Sekundžių skaičius, StatsD demonas turėtų
# Laukti, kol paraudimas vertybes.
statsd_flush_time = 10
konfigūravimas collectd
Turėtumėte reikia pridėti kažką panašaus į tai, kad savo collectd.conf tik:
LoadPlugin "tinklas"
<Įskiepis "tinklas">
& Nbsp; Server "127.0.0.1" 25826 "
Akivaizdu, kad jūs norite, kad atitiktų iki IP adresus ir uostus, ir įsitikinkite, kad jūsų užkardos yra sukonfigūruotas leisti UDP paketus per.
konfigūravimas StatsD
Tiesiog nukreipkite savo StatsD klientus Bucky IP / Port ir jums turėtų būti gerai eiti.
Pastaba dėl collectd keitikliai
Collectd metrikos nėra tiksliai tiesiogiai neverčiamas į Graphite metrinių pavadinimus. Numatytasis vertėjas bando atspėti, tačiau tai gali būti šiek tiek mažesnė nei gana Grafito medžių.
Dėl šios priežasties, Bucky turi konfigūruojama keitiklius. Tai yra neįvedus off collectd įskiepiai vardą. Indėlis į šių funkcijų yra iš collectd metrikos, kad atrodo toks atstovavimas:
{
& Nbsp; "priimančioji": "toroid.local"
& Nbsp; "intervalas": 10,0,
& Nbsp; "papildinys": "atminties",
& Nbsp; "plugin_instance": ",
& Nbsp; "laikas": 1320970329,175534,
& Nbsp; "tipas": "atminties",
& Nbsp; "type_instance": "neaktyvus"
& Nbsp; "vertė": 823.009.280,0,
& Nbsp; "value_name": "vertė",
& Nbsp; "VALUE_TYPE": 1
}
Šios funkcijos rezultatas turi būti eilučių, kurios atstovauja dalį Grafitas metrinę pavadinimas sąrašą. Pavyzdžiui, jei konverteris grįžo ["foo", "baras"], galutinis metrika vardas bus baigti kaip: $ prefiksas $ postfix $ hostname.foo.bar...
Pavyzdys builtin konverteris atrodo tokie:
# Tai gali būti, kaip jūs nustatyti keitiklį į
# Jūsų config failą
klasė MemoryConverter (objektas):
& Nbsp; PRIORITETAS = 0
& Nbsp; def __call __ (self, mėginys):
& Nbsp; sugrįžti ["atminties", pavyzdys ["type_instance"]]
collectd_converters = [MemoryConverter ()]
Kolekcionavimo taip pat turi pirmumo sąvoka siekiant išspręsti konfliktus. Tai tik dėl pirmalaikio išpirkimo pavadintas "PRIORITETO" ir didesnių prioritetų turtas yra teikiama pirmenybė. Aš neįsivaizduoju tai turės būti naudojamas labai dažnai, bet jo ten tik tuo atveju.
Keitikliai arba gali būti pripažintas ir / ar importuoti į papildomą config failą, arba jie gali būti autodiscovered per įėjimo taškų. Įvažiavimo kad ieškoma yra "bucky.collectd.converters". . Įvažiavimo vardas turėtų būti collectd įskiepiai vardas
Reikalavimai :
- Python
Komentarai nerastas