Kweli nqaku ndiza kukubonisa indlela yokusebenzisa i-pinba nge-clickhouse kunye ne-grafana endaweni ye-pinba_engine kunye ne-pinboard.
Kwiprojekthi yephp, i-pinba yeyona ndlela kuphela ethembekileyo yokuqonda okwenzekayo ngomsebenzi. Enyanisweni, i-pinba idla ngokusetyenziswa kuphela xa iingxaki sele zibonwa kwaye azicaci "indawo yokumba".
Rhoqo, akukho mntu unoluvo lokuba kangaphi ngesekondi/ngomzuzu iskripthi esithile esibizwa ngokuba siskripthi kwaye baqala ukwenza "ngokuchukumisa", ukuqala kwezo ndawo zibonakala zisengqiqweni ngakumbi.
Umntu uhlalutya i-nginx logs, kwaye umntu uhlalutya imibuzo ecothayo kwisiseko sedatha.
Ewe, i-pinba ayiyi kuba yinto engafanelekanga, kodwa kukho izizathu ezininzi zokuba ingabi nayo yonke iprojekthi.
Kwaye isizathu sokuqala sisimo.
Ukuze kuninzi okanye kuncinci ukufumana uhlobo oluthile "lokukhupha" ekuqalisweni kwe-pinba, kunqweneleka kakhulu ukubona iimethrikhi kungekhona nje kwimizuzu yokugqibela, kodwa kunye nexesha elide (ukususela kwiintsuku ukuya kwiinyanga).
Kule nto ufuna:
- faka ulwandiso lwephp (kwaye unokufuna imodyuli ye nginx)
- qokelela ukwandiswa kwe-mysql
- faka i-pinboard kwaye usete i-cron
Ngenxa yolwazi oluncinci malunga ne-pinb, abaninzi banoluvo lokuba isebenze kuphela kwi-php5 kwaye sele ihambile, kodwa njengoko siza kubona ngakumbi, oku akunjalo.
Inyathelo lokuqala lelona lilula, konke okufuneka ukwenze kukuqhuba lo myalelo:
apt install php-pinba
Iindawo zokugcina zinolu lwandiso ukuya kuthi ga kunye nokuquka iphp 7.3 kwaye awudingi kuqulunqa nantoni na.
Emva kokuphumeza umyalelo wofakelo, sifumana ngoko nangoko ulwandiso olusele lusebenza oluqokelela kwaye luthumele iimetrics zeskripthi ngasinye (ubude, inkumbulo, njl.njl.) kwifomathi.
Akukho mntu ubamba kwaye aqhube ezi pakethi ze-udp okwangoku, kodwa oku akuchaphazeli kakubi isantya okanye uzinzo lwezikripthi zakho zephp.
Ukuza kuthi ga ngoku, njengesicelo esinokuthi sibambe kwaye siqhubekise ezi pakethe ze-udp, bekukho kuphela
Inkqubo yokufaka
Mhlawumbi ngenye imini kuya kukwazi ukufaka i-pinba10 ngomyalelo omnye okanye emibini kwaye ungafundi izinto ezininzi ukuze uqonde indlela yokwenza ngayo, kodwa okwangoku oku akunjalo.
Ukuba ufake i-pinba_engine, ke eso sisiqingatha kuphela sedabi. Ngapha koko, ngaphandle
Kuya kubonakala ngathi, kutheni ukubandezeleka okunjalo ukuba zonke iimetrics ezivela kwiphp sele zisiya kwi-port ye-udp kwifomathi yeprotobuf kwaye yonke into efunekayo kukubhala isicelo esiya kubabamba kwaye sigcine kuhlobo oluthile lokugcina? Kubonakala ukuba, abo baphuhlisi beza nale ngcamango ngokukhawuleza bahlala phantsi ukubhala iibhayisikili zabo, ezinye zazo zaphela kwi-github.
Oku kulandelayo kukujongwa kweeprojekthi ezine ezivulekileyo ezigcina i-metrics kwindawo yokugcina, apho le datha kulula ukuyifumana kwaye ibonakale, umzekelo, ukusebenzisa i-grafana.
olegfedoseev/pinba-server (Novemba 2017)
udp iseva ekuhambeni egcina iimetrics kwi-OpenTSDB. Mhlawumbi ukuba i-OpenTSDB sele isetyenziswa kwiprojekthi yakho, ke esi sisombululo siyakufanela, kungenjalo ndincoma ukudlula.
olegfedoseev/pinba-influxdb (Juni 2018)
udp umncedisi ekuhambeni, ukusuka okufanayo
Iinkonzo:
- I-InfluxDB
it ivumela hlanganisa iimetrics ezifunyenweyo, kwaye ucime eyoqobo emva kwexesha elithile.
Umgcini:
- esi sisombululo asigcini ulwazi kwizibali-xesha.
- I-InfluxDB iya kugcina iidilesi zephepha lewebhusayithi njengeethegi kwaye ukuba uneedilesi ezininzi ezikhethekileyo zephepha oku kuya kubangela
ukwanda kokusetyenziswa inkumbulo yofikelelo olungenamkhethe. Ukusuka kwindawo ethileiqala ukutya inkumbulo ngokungathi ayikho ngokwayo ". (umthombo )
ClickHouse-Ninja/Proton (NgoJanuwari 2019)
udp iseva ekuhambeni egcina iimetrics kwiClickHouse. Esi sisisombululo somhlobo wam. Kwakusemva kokuba ndiqhelane naye apho ndagqiba ekubeni ndithabathe i-pinba kunye ne-clickhouse.
Iinkonzo:
- clickhouse ilungile kwimisebenzi enjalo, ikuvumela ukuba ucinezele idatha kakhulu kangangokuba ungagcina yonke idata ekrwada nangaphandle kokudityaniswa.
- ukuba kuyafuneka, ungadibanisa ngokulula iimetrikhi ezifunyenweyo
- itemplate esele yenziwe grafana
- igcina ulwazi lwesibali-xesha
Umgcini:
isiphene esibulalayo - Akukho qwalaselo apho unokucwangcisa khona igama lesiseko sedata kunye neetafile, idilesi kunye nezibuko lomncedisi.
- xa ugcina idata ekrwada, itafile yesichazi-magama encedisayo isetyenziselwa ukugcina iphepha kunye needilesi zendawo, edibanisa imibuzo kamva.
- ezinye izinto ezincinci ezilandelayo ukusuka kuthabatha wokuqala
pinba-server/pinba-server (Epreli 2019)
udp iseva kwiphp egcina iimetrics kwiClickHouse. Esi sisisombululo sam, esisisiphumo sokuqhelana nepinba, ClickHouse kunye neprotobuf. Ngelixa ndijongene nalo lonke eli qela, ndabhala "ubungqina bengcamango", leyo, ngokungalindelekanga kum, ayizange idle izibonelelo ezibalulekileyo (i-30 MB ye-RAM kunye ne-1% enye yeeprosesa ezisibhozo), ngoko ke ndagqiba ekubeni sabelane ngayo noluntu.
I-Pluses - ifana nesisombululo sangaphambili, ndaphinda ndasebenzisa amagama aqhelekileyo ukusuka kwi-pinba_engine yokuqala. Ndongeze kwakhona uqwalaselo olukuvumela ukuba usebenzise iimeko ezininzi zepinbaserver ngaxeshanye ukuze ugcine iimetrics kwiitafile ezahlukeneyo - oku kuluncedo ukuba ufuna ukuqokelela idatha kungekuphela nje kwiphp, kodwa nakwi nginx.
I-Cons - "isiphako esibulalayo" kunye nezo zinto zincinci aziyi kufanelana nawe, kodwa isisombululo sam "silula njenge-slipper" kwaye siquka imigca yekhowudi emalunga ne-100, ngoko ke nawuphi na umthuthukisi wephp unokutshintsha into angayithandiyo. imizuzu embalwa.
ukuba isebenza njani
Ukuphulaphula kwi-udp port 30002. Zonke iipakethi ezingenayo zihlanjululwa ngokwenkqubo yeprotobuf kwaye zihlanganiswe. Kanye ngomzuzu, ibhetshi ye-clickhouse ifakwe kwitafile ye-pinba.requests. (zonke iiparameters zibunjwe ngaphakathi
Kancinci malunga ne-clickhouse
Clickhouse ixhasa iinjini zokugcina ezahlukeneyo. Eyona isetyenziswa kakhulu yi MergeTree.
Ukuba ngaxa lithile uthatha isigqibo sokugcina idatha edityanisiweyo ngalo lonke ixesha, kunye nedatha ekrwada kuphela kweyokugqibela, ngoko unokwenza umbono owenziwe ngezinto ngokwamaqela, kwaye ucoce ngamaxesha athile itheyibhile ephambili yepinba.requests, ngelixa yonke idatha iya kuhlala kwi umbono obonakalayo. Ngaphezu koko, xa udala itafile ye-pinba.requests, unokucacisa "injini = i-Null", ngoko idatha eluhlaza ayiyi kugcinwa kwidiski nonke, kwaye ngexesha elifanayo, iya kuwela kwimbono ebonakalayo kwaye ihlale ihlangene. Ndisebenzisa olu cwangciso kwiimetriki ze-nginx, kuba ndinezicelo eziphindwe ka-50 kwi-nginx kune-php.
Ke, usuka kude kwaye andithandi ukukushiya phakathi, ke oku kulandelayo yinkcazo eneenkcukacha yofakelo kunye noqwalaselo lwesisombululo sam nayo yonke into oyifunayo, kunye nemigibe eye yantlitheka ngaphezu kwenqanawa enye. Yonke inkqubo yokufakela ichazwe ku-Ubuntu 18.04 LTS kunye ne-Centos 7, kwezinye izinikezelo kunye neenguqulelo inkqubo inokwahluka kancinci.
isicwangciso
Ndibeka yonke imiyalelo eyimfuneko
php iqhosha
Emva kofakelo, qiniseka ukuba zonke iinketho azichazwanga kwifayile /etc/php/7.2/fpm/conf.d/20-pinba.ini. Kwezinye izinikezelo (umz. i-centos) zinokuchazwa ngaphandle.
extension=pinba.so
pinba.enabled=1
pinba.server=127.0.0.1:30002
indawo yokucofa
Ngexesha lofakelo, i-clickhouse iya kukucela ukuba usete igama eligqithisiweyo lomsebenzisi ongagqibekanga. Ngokungagqibekanga, lo msebenzisi uyafumaneka kuyo yonke i-ip, ngoko ke ukuba awunayo i-firewall kumncedisi, qiniseka ukuseta igama eliyimfihlo kuyo. Oku kunokwenziwa emva kofakelo kwifayile /etc/clickhouse-server/users.xml.
Kukwafanelekile ukuba uqaphele ukuba i-clickhouse isebenzisa amazibuko amaninzi, kuquka i-9000. Eli zibuko likwasetyenziselwa i-php-fpm kwezinye izinikezelo (umzekelo, i-centos). Ukuba sele usebenzisa eli zibuko, ngoko ungalitshintshela kwelinye kwifayile /etc/clickhouse-server/config.xml.
grafana nge-clickhouse plugin
Emva kokufaka i-grafana, sebenzisa i-admin yokungena kunye ne-password admin. Xa ungena okokuqala, uGrafana uya kukucela ukuba usete igama lokugqitha elitsha.
Okulandelayo, yiya kwimenyu "+" -> ngenisa kwaye ucacise inani ledeshibhodi yokungenisa
I-Grafana ixhasa ukusebenza nge-clickhouse ngeplagi yomntu wesithathu, kodwa kwiiplagi zomntu wesithathu, i-grafana ayinazo izilumkiso (itikiti lale nto belinobunzima beminyaka eliqela).
i-pinba-server
Ukufakela i-protobuf kunye ne-libevent yinto yokuzikhethela, kodwa iphucula ukusebenza kwe-pinba-server. Ukuba ufaka i-pinba-server kwifolda ngaphandle kwe-/opt, kuya kufuneka kwakhona udibanise
pinba imodyuli phantsi kwe nginx
Ukuqokelela imodyuli, ufuna imithombo yoguqulelo olufanayo lwe nginx esele ifakwe kumncedisi wakho, kunye neenketho ezifanayo zokudibanisa, kungenjalo ukwakhiwa kuya kuba yimpumelelo, kodwa xa uqhagamshela imodyuli, impazamo iya kuveliswa "imodyuli ayihambelani ngokubini". Iinketho zokuhlanganisa zinokujongwa usebenzisa i nginx -V umyalelo
IiHacks zoBomi
Zonke iisayithi zam zisebenza kuphela kwi-https. Indawo ye-schema iba yintsingiselo, ngoko ke ndiyisebenzisa ukwahlula iwebhu/console.
Kwimibhalo efumaneka kwiwebhu, ndisebenzisa:
if (ini_get('pinba.enabled')) {
pinba_schema_set('web');
}
Kwaye kwi-console (umzekelo, izikripthi zecron):
if (ini_get('pinba.enabled')) {
pinba_schema_set('console');
}
Ideshibhodi yam yegrafana inokutshintsha kwewebhu/console ukujonga ubalo ngokwahlukeneyo.
Ungathumela iithegi zakho kwi-pinbu, umzekelo:
pinba_tag_set('country', $countryCode);
Kuko konke.
Isicelo esikhulu sokuphendula ii-polls phantsi kwenqaku.
Ndilumkisa ngokwesiko ukuba andicebisi kwaye andincedi ngemiyalezo yobuqu kaHabr kunye neenethiwekhi zentlalo.
Yenza itikiti kwi-github.
Kwakhona ndicela inkxaso ngee likes
Ngabasebenzisi ababhalisiweyo kuphela abanokuthatha inxaxheba kuphando.
Yeyiphi i-OS oyisebenzisayo kumncedisi?
-
Ubuntu
-
CentOS
-
Debian
-
Gentoo
-
Red Hat
-
Fedora
-
VulaSUSE
-
I-SuSE
-
Unix
-
Windows
-
Okunye
Bali-114 abasebenzisi abavotileyo. Abasebenzisi abasi-11 abakhange.
Loluphi uhlobo lwe php oyisebenzisayo kumncedisi?
-
7.3
-
7.2
-
7.1
-
7.0
-
5
-
Okunye
Bali-105 abasebenzisi abavotileyo. Abasebenzisi abasi-17 abakhange.
Ngaba ukhe wasebenzisa i-pinba?
-
ewe
-
hayi, kodwa ndingathanda
-
hayi kwaye andifuni
-
hayi, zange ndeva ngaye
Bali-100 abasebenzisi abavotileyo. Abasebenzisi abasi-14 abakhange.
Loluphi uhlobo lomncedisi wepinba ongathanda ukuzama?
-
pinba_injini (injini ye-mysql)
-
I-pinba2 (injini ye-mysql)
-
ibhodi yebhodi (php + mysql)
-
olegfedoseev/pinba-server (hamba + OpenTSDB)
-
olegfedoseev/pinba-influxdb (hamba + influxdb)
-
pinba-server/pinba-server (hamba + clickhouse)
-
i-pinba-server/pinba-server (php + clickhouse)
-
ndibhale eyam
-
Okunye
Bali-39 abasebenzisi abavotileyo. Abasebenzisi abasi-47 abakhange.
umthombo: www.habr.com