Kulesi sihloko ngizokutshela indlela yokusebenzisa i-pinba nge-clickhouse ne-grafana esikhundleni se-pinba_engine ne-pinboard.
Kuphrojekthi ye-PHP, i-pinba mhlawumbe ukuphela kwendlela ethembekile yokuqonda ukuthi kwenzekani ngokusebenza. Yiqiniso, i-pinba ivame ukusetshenziswa kuphela lapho izinkinga seziphawuliwe futhi kungacaci ukuthi βkumbiwe kuphi.β
Ngokuvamile akekho onombono wokuthi kangaki ngomzuzwana/ngomzuzu lokhu noma leso script sibizwa futhi baqala ukuthuthukisa "ngokuthinta", kusukela kulezo zindawo ezibonakala zinengqondo.
Abanye bahlaziya izingodo ze-nginx, kuyilapho abanye bahlaziya imibuzo yesizindalwazi esinensayo.
Yiqiniso, i-pinba ngeke ibe yinto engafaneleki, kodwa kunezizathu ezimbalwa zokuthi kungani kungewona wonke amaphrojekthi anayo.
Futhi isizathu sokuqala ukufakwa.
Ukuze uthole okuningi noma okuncane kokuthola uhlobo oluthile "lokukhipha amandla" ekusetshenzisweni kwe-Pinba, kuyinto efiseleka kakhulu ukubona amamethrikhi hhayi nje ngemizuzu yokugcina, kodwa futhi nesikhathi eside (kusukela ezinsukwini kuya ezinyangeni).
Ukuze wenze lokhu, udinga:
- faka isandiso se-php (futhi ungase ufune imojula ye-nginx)
- hlanganisa isandiso se-mysql
- faka i-pinboard futhi ulungiselele i-cron
Ngenxa yolwazi oluncane mayelana ne-Pinba, abantu abaningi banombono wokuthi isebenze kuphela ku-PHP5 futhi sekuyisikhathi eside iyinto yesikhathi esidlule, kodwa njengoba sizobona kamuva, akunjalo.
Isinyathelo sokuqala silula kakhulu, okudingeka ukwenze nje ukusebenzisa umyalo:
apt install php-pinba
Lesi sandiso siyatholakala kumakhosombe kuze kufike futhi kufaka phakathi i-php 7.3 futhi awudingi ukuhlanganisa noma yini.
Ngemva kokufaka umyalo wokufaka, ngokushesha sithola isandiso esisebenzayo esiqoqa futhi sithumele amamethrikhi ombhalo ngamunye (isikhathi esisebenzayo, inkumbulo, njll.) ngefomethi.
Kuze kube manje akekho obambe noma ocubungule la maphakethe e-UDP, kodwa lokhu akuthinti kabi isivinini noma ukuzinza kwemibhalo yakho ye-PHP.
Kuze kube muva nje, okuwukuphela kwesicelo ebesingabamba futhi sicubungule la maphakethe e-UDP kwaba
Inqubo yokufaka
Mhlawumbe ngolunye usuku kuzokwazi ukufaka i-pinba10 ngomyalo owodwa noma emibili futhi kungadingeki ufunde inqwaba yezinto ukuze uqonde ukuthi ungayenza kanjani, kodwa okwamanje akunjalo.
Uma ufaka i-pinba_engine, lokhu kuyingxenye yempi. Phela, ngaphandle
Kungase kubonakale, kungani ukuhlupheka okunjalo uma wonke amamethrikhi avela ku-php asevele ethunyelwe echwebeni le-udp ngefomethi ye-protobuf futhi konke okudingayo ukubhala isicelo esizowabamba futhi uwabeke ohlotsheni oluthile lokugcina? Ngokusobala, labo bathuthukisi abaqhamuke nalo mbono ngokushesha bahlala phansi ukuze babhale imibono yabo, eminye yayo egcine ku-GitHub.
Okulandelayo ukubuka konke kwamaphrojekthi emithombo evulekile emine alondoloza amamethrikhi kusitoreji, lapho le datha ingabuyiswa kalula futhi ibonakale, isibonelo, kusetshenziswa i-grafana.
olegfedoseev/pinba-server (Novemba 2017)
iseva ye-udp ekuhambeni elondoloza amamethrikhi ku-OpenTSDB. Mhlawumbe uma usuvele usebenzisa i-OpenTSDB kuphrojekthi yakho, khona-ke lesi sixazululo sizokufanela, ngaphandle kwalokho ngincoma ukuthi sidlule.
olegfedoseev/pinba-influxdb (Juni 2018)
udp iseva ekuhambeni, kusukela okufanayo
Izinzuzo:
- I-InfluxDB
kuvumela hlanganisa amamethrikhi atholiwe, futhi ususe okwangempela ngemva kwesikhathi esithile.
Umthengi:
- Lesi sixazululo asilondolozi ulwazi kuzibali sikhathi.
- I-InfluxDB izogcina amakheli ekhasi lesayithi njengamathegi futhi uma unamakheli amaningi ahlukile, lokhu kuzoholela kokuthi
ukwanda kokusetshenziswa inkumbulo yokufinyelela okungahleliwe. Kusukela ngomzuzu othize"izoqala ukudla inkumbulo njengohlanya ". (umthombo )
I-ClickHouse-Ninja/Proton (Januwari 2019)
udp iseva ohambeni, elondoloza amamethrikhi ku-ClickHouse. Lesi yisixazululo somngane wami. Kube ngemva kokujwayelana nayo lapho ngathatha khona isinqumo sokuthi kwase kuyisikhathi sokuthatha i-Pinbu ne-Clickhouse.
Izinzuzo:
- I-Clickhouse ilungele imisebenzi enjalo; ikuvumela ukuthi ucindezele idatha kakhulu ukuze ukwazi ukugcina yonke idatha eluhlaza noma ngaphandle kokuhlanganisa
- uma kudingekile, ungakwazi ukuhlanganisa kalula amamethrikhi angumphumela
- isifanekiso esenziwe ngomumo se-grafana
- igcina ulwazi kuzibali sikhathi
Umthengi:
iphutha elibulalayo - akukho ukucushwa lapho ungamisa khona igama lesizindalwazi namathebula, ikheli kanye nechweba leseva.
- lapho ugcina idatha eluhlaza, ithebula lesichazamazwi elisizayo lisetshenziselwa ukugcina ikhasi namakheli esizinda, okwenza imibuzo elandelayo ibe nzima.
- ezinye izinto ezincane ezilandela kusukela ekususeni kokuqala
i-pinba-server/pinba-server (April 2019)
udp iseva ku-php, egcina amamethrikhi ku-ClickHouse. Lesi yisixazululo sami, okuwumphumela wokwazi i-pinba, i-ClickHouse ne-protobuf. Ngenkathi ngisahlela lonke leli qoqo, ngabhala βubufakazi bomqondoβ, okwathi, ngokungalindelekile kimi, akuzange kudle izinsiza ezibalulekile (30 MB ye-RAM nangaphansi kwe-1% yeyodwa yama-processor cores ayisishiyagalombili), ngakho-ke yanquma ukwabelana ngayo nomphakathi.
Izinzuzo ziyafana nesixazululo sangaphambilini, ngiphinde ngasebenzisa amagama ajwayelekile avela ku-pinba_engine yasekuqaleni. Ngiphinde ngengeza ukucushwa okukuvumela ukuthi uqalise izimo ezimbalwa zeseva ye-pinbase ngesikhathi esisodwa ukuze ulondoloze amamethrikhi kumathebula ahlukene - lokhu kuyasiza uma ufuna ukuqoqa idatha hhayi kuphela ku-php, kodwa futhi kusukela ku-nginx.
Ukungalungi - "iphutha elibulalayo" kanye nalezo zinto ezincane ezingeke zivumelane nawe, kodwa isisombululo sami "silula njenge-slipper" futhi siqukethe imigqa yekhodi eyi-100 kuphela, ngakho-ke noma yimuphi umthuthukisi we-PHP angashintsha lokho angakuthandi. emizuzwini embalwa.
Ukuthi isebenza kanjani
Imbobo ye-UDP 30002 iyalalelwa. Wonke amaphakethe angenayo ahlukaniswa ngekhodi ngokohlelo lwe-protobuf futhi ahlanganiswe. Kanye ngomzuzu, iphakethe lifakwa ku-clickhouse kuthebula le-pinba.requests. (yonke imingcele icushwe ku
Okuncane mayelana ne-clickhouse
I-Clickhouse isekela izinjini ezahlukene zokugcina idatha. Okuvame ukusetshenziswa kakhulu yi-MergeTree.
Uma ngesikhathi esithile unquma ukugcina idatha ehlanganisiwe yaso sonke isikhathi, kanye nedatha eluhlaza okokugcina kuphela, ungakha umbono owenziwe ngezinto ngokuhlanganisa, futhi ngezikhathi ezithile uhlanze ithebula eliyinhloko le-pinba.requests, kuyilapho yonke idatha izohlala ku- umbono owenziwe ngezinto ezibonakalayo. Ngaphezu kwalokho, lapho udala ithebula le-pinba.requests, ungacacisa "injini = Null", khona-ke idatha eluhlaza ngeke ilondolozwe kudiski nhlobo, futhi ngesikhathi esifanayo isazophelela ekubukeni okwenyama futhi igcinwe ihlanganisiwe. . Ngisebenzisa lesi sikimu kumamethrikhi we-nginx, ngoba ku-nginx nginezicelo eziphindwe ka-50 kune-php.
Ngakho-ke, usuhambe ibanga elide futhi angithandi ukukushiya phakathi, ngakho-ke okulandelayo yincazelo eningiliziwe yokufakwa nokucushwa kwesisombululo sami nakho konke okudingayo, kanye nezingibe ezibangele umkhumbi ongaphezu kowodwa. ukuphahlazeka. Yonke inqubo yokufaka ichazwa ku-Ubuntu 18.04 LTS kanye ne-Centos 7; inqubo ingase yehluke kancane kwezinye izinguqulo nezinguqulo.
setting
Ngifaka yonke imiyalo edingekayo
php-pinba
Ngemva kokufaka, qiniseka ukuthi kufayela /etc/php/7.2/fpm/conf.d/20-pinba.ini uyekile ukubeka amazwana kuzo zonke izinketho. Kokunye ukusatshalaliswa (isb. ama-centos) angaphawulwa.
extension=pinba.so
pinba.enabled=1
pinba.server=127.0.0.1:30002
clickhouse
Ngesikhathi sokufaka, i-clickhouse izokucela ukuthi usethe iphasiwedi yomsebenzisi ozenzakalelayo. Ngokuzenzakalelayo, lo msebenzisi ufinyeleleka kuwo wonke ama-IP, ngakho-ke uma ungenayo i-firewall kuseva yakho, qiniseka ukuthi uyisethela iphasiwedi. Lokhu kungenziwa futhi ngemva kokufakwa kufayela elithi /etc/clickhouse-server/users.xml.
Kuyaqapheleka futhi ukuthi i-clickhouse isebenzisa izimbobo ezimbalwa, kufaka phakathi i-9000. Le port iphinde isetshenziselwe i-php-fpm kokunye ukusatshalaliswa (isibonelo, ama-centos). Uma usuvele usebenzisa lesi sizindalwazi, ungasishintshela kwesinye kufayela elithi /etc/clickhouse-server/config.xml.
i-grafana ene-plugin ye-clickhouse
Ngemva kokufaka i-Grafana, sebenzisa i-admin yokungena kanye ne-password admin. Uma ungena okokuqala, u-Grafana uzokucela ukuthi usethe iphasiwedi entsha.
Okulandelayo, hamba ku-β+β -> imenyu yokungenisa bese ubonisa inombolo yedeshibhodi ezongeniswa
I-Grafana isekela ukusebenza nge-clickhouse nge-plugin yenkampani yangaphandle, kodwa i-Grafana ayinazo izexwayiso zama-plugin ezinkampani zangaphandle (kube khona ithikithi lalokhu iminyaka eminingana).
i-pinba-server
Ukufaka i-protobuf ne-libevent kungokuzithandela, kodwa kuthuthukisa ukusebenza kwe-pinba-server. Uma ufaka i-pinba-server kufolda ngaphandle kwe-/opt, uzodinga futhi ukulungisa
pinba module ye nginx
Ukuze uhlanganise imojula, udinga amakhodi omthombo wenguqulo efanayo ye-nginx esevele ifakiwe kuseva yakho, kanye nezinketho ezifanayo zokuhlanganiswa, ngaphandle kwalokho ukwakhiwa kuzophumelela, kodwa lapho uxhuma imojula, iphutha lizophonswa lokho. "imojula ayihambelani kanambambili." Izinketho zokuhlanganisa zingabukwa kusetshenziswa umyalo we-nginx -V
Ama-Life hacks
Wonke amasayithi ami asebenza ku-https kuphela. Inkambu ye-schema iba yize, ngakho ngiyisebenzisela ukuhlukanisa iwebhu/ikhonsoli.
Kumibhalo efinyeleleka kuwebhu engiyisebenzisayo:
if (ini_get('pinba.enabled')) {
pinba_schema_set('web');
}
Futhi emibhalweni ye-console (isibonelo, imibhalo ye-cron):
if (ini_get('pinba.enabled')) {
pinba_schema_set('console');
}
Kudeshibhodi yami eGrafana kuneswishi yewebhu/console yokubuka izibalo ngokuhlukene.
Ungakwazi futhi ukuthumela omaka bakho ku-Pinba, isibonelo:
pinba_tag_set('country', $countryCode);
Yilokho kuphela.
Sicela uphendule amavoti angezansi kwesihloko.
Njengenjwayelo, ngiyakuxwayisa ukuthi angikweluleki noma ngisize ngemilayezo yomuntu siqu ku-Habr nezinkundla zokuxhumana.
Dala ithikithi ku-Github.
Sicela futhi uxhaso ngokuthanda
Abasebenzisi ababhalisiwe kuphela abangabamba iqhaza kuhlolovo.
Iyiphi i-OS oyisebenzisayo kuseva?
-
Ubuntu
-
CentOS
-
Debian
-
I-Gentoo
-
I-Red Hat
-
Fedora
-
Vula i-OpenSUSE
-
I-SuSE
-
Unix
-
Windows
-
nezinye
Bangu-114 abasebenzisi abavotile. Abasebenzisi abangu-11 bagobile.
Iyiphi inguqulo ye-php oyisebenzisayo kuseva?
-
7.3
-
7.2
-
7.1
-
7.0
-
5
-
nezinye
Bangu-105 abasebenzisi abavotile. Abasebenzisi abangu-17 bagobile.
Wake wasebenzisa i-pinba?
-
yebo
-
cha, kodwa ngingathanda
-
cha futhi ngeke ngifune
-
cha futhi akezwanga ngaye
Bangu-100 abasebenzisi abavotile. Abasebenzisi abangu-14 bagobile.
Iyiphi inguqulo yeseva ye-Pinba ongathanda ukuyizama?
-
pinba_engine (mysql engine)
-
I-pinba2 (injini ye-mysql)
-
i-pinboard (php + mysql)
-
olegfedoseev/pinba-server (hamba + OpenTSDB)
-
olegfedoseev/pinba-influxdb (hamba + influxdb)
-
i-pinba-server/pinba-server (hamba + clickhouse)
-
i-pinba-server/pinba-server (php + clickhouse)
-
Ngizobhala okwami
-
nezinye
Bangu-39 abasebenzisi abavotile. Abasebenzisi abangu-47 bagobile.
Source: www.habr.com