{"id":32681,"date":"2019-10-31T21:48:22","date_gmt":"2019-10-31T18:48:22","guid":{"rendered":"https:\/\/prohoster.info\/blog\/statistika-i-monitoring-php-skriptov-v-realnom-vremeni-clickhouse-i-grafana-idut-na-pomoshh-k-pinba\/"},"modified":"2019-10-31T21:48:22","modified_gmt":"2019-10-31T18:48:22","slug":"statistika-i-monitoring-php-skriptov-v-realnom-vremeni-clickhouse-i-grafana-idut-na-pomoshh-k-pinba","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/statistika-i-monitoring-php-skriptov-v-realnom-vremeni-clickhouse-i-grafana-idut-na-pomoshh-k-pinba","title":{"rendered":"Statistika ja PHP skriptide j\u00e4lgimine reaalajas. ClickHouse ja Grafana aitavad Pinbat","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Selles artiklis r\u00e4\u00e4gin, kuidas kasutada pinbat koos clickhouse'i ja grafanaga pinba_engine'i ja pinboard'i asemel.<\/p>\n<p>PHP-projekti puhul on pinba v\u00f5ib-olla ainus usaldusv\u00e4\u00e4rne viis m\u00f5ista, mis toimub j\u00f5udlusega. T\u00f5si, pinba integreeritakse tavaliselt alles siis, kui probleemid juba esinevad ja pole selge, kust alustada.<\/p>\n<p>Tihti pole kellelgi aimugi, kui mitu korda sekundis\/minutit kutsutakse teatud skripti, ja optimiseerimine algab 'k\u00e4tte tunde' j\u00e4rgi alates kohtadest, mis tunduvad loogilisemad.<\/p>\n<p>M\u00f5ned anal\u00fc\u00fcsivad nginx'i logisid, teised aeglaseid p\u00e4ringuid andmebaasis.<\/p>\n<p>Muidugi pole pinba \u00fcleliigne, kuid on mitmeid p\u00f5hjuseid, miks seda ei leita igalt poolt projektist.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/br\/zm\/qz\/brzmqzc8itwc2lt3gjp0q2p-kse.png\"><img decoding=\"async\" alt=\"Statistika ja PHP skriptide j\u00e4lgimine reaalajas. ClickHouse ja Grafana aitavad Pinbat\" src=\"\/wp-content\/uploads\/2019\/04\/cdf2dc9af2a131d1f9aaef6bbde9b914.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nEsimene p\u00f5hjus on installatsioon.<\/p>\n<p>Kuna soovitakse pinbalt mingisugust 'tagasivoolu' saada, on v\u00e4ga soovitatav n\u00e4ha m\u00f5\u00f5dikuid mitte ainult viimase minuti jooksul, vaid ka pikema aja jooksul (p\u00e4evadest kuudeni).<\/p>\n<p>Selleks on vaja:<\/p>\n<ul>\n<li>paigaldada php jaoks laiendus (v\u00f5ib-olla soovite nginx'i moodulit)<\/li>\n<li>kompileerida mysql'i laiendus<\/li>\n<li>paigaldada pinboard ja seadistada cron<\/li>\n<\/ul>\n<p>\nSelle v\u00e4hese teabe t\u00f5ttu pinba kohta on paljudel mulje, et see t\u00f6\u00f6tas vaid php5-l ja on juba ammu minevikus, aga nagu me hiljem n\u00e4eme \u2014 see ei ole nii.<\/p>\n<p>Esimene samm on k\u00f5ige lihtsam, tuleb ainult k\u00e4ivitada k\u00e4sk:<\/p>\n<pre><code class=\"bash\">apt install php-pinba<\/code><\/pre>\n<p>\nReposiitides on see laiendus saadaval kuni php 7.3-ni, ja te ei pea midagi kompileerima.<\/p>\n<p>P\u00e4rast installimisk\u00e4sku saame juba t\u00f6\u00f6tava laienduse, mis kogub ja saadab iga skripti m\u00f5\u00f5dikud (t\u00e4itmise aeg, m\u00e4lu jne) formaadis <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Protocol_Buffers\">protobuf<\/a><\/noindex> udp kaudu aadressil 127.0.0.1:30002.<\/p>\n<p>Need udp-paketid pole veel keegi kinni p\u00fc\u00fcdnud ega t\u00f6\u00f6delnud, kuid see ei m\u00f5juta teie php-skripti t\u00f6\u00f6tamise kiirus ega stabiilsust.<\/p>\n<p>Kuni hiljuti oli ainus rakendus, mis suutis neid udp-pakette kinni p\u00fc\u00fcda ja t\u00f6\u00f6delda, ainult <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/tony2001\/pinba_engine\">pinba_engine<\/a><\/noindex>. Kirjeldus &#171;<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/tony2001\/pinba_engine\/wiki\/Installation\">lihtne ja selge<\/a><\/noindex>&#187; paigaldamine muudab soovi seda kunagi uuesti lugeda ja s\u00fcveneda. Kilomeetrilised s\u00f5ltuvuste loendid sisaldavad nii pakettide nimesid, programmnimesid kui ka linke eraldi lehtedele nende paigaldamiseks, ning neil on omakorda linke teistele s\u00f5ltuvustele. Sellise jamaga tegelemiseks ei ole kellelgi ei aega ega soovi.<\/p>\n<p>Installimisprotsess <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/badoo\/pinba2\">pinba2<\/a><\/noindex> ei muutunud <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/badoo\/pinba2\/blob\/master\/docs\/index.md#installation\">eriti kergem<\/a><\/noindex>.<\/p>\n<p>V\u00f5ib-olla on kunagi pinba10 v\u00f5imalik paigaldada \u00fche v\u00f5i kahe k\u00e4suga ning lugeda l\u00e4bi hulk materjali, et aru saada, kuidas seda teha, kuid hetkel pole see nii.<\/p>\n<p>Kui te siiski installisite pinba_engine'i, siis on see vaid pool t\u00f6\u00f6st. Sest ilma <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/intaro\/pinboard\">pinboard<\/a><\/noindex> peate piirduma andmetega vaid viimase paari minuti jooksul v\u00f5i ise andmeid koguma, salvestama ja visualiseerima. Hea on see, et pinboard on piisavalt lihtne <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/intaro\/pinboard\/wiki\/Installation\">paigaldamiseks<\/a><\/noindex>.<\/p>\n<p>Tundub, et miks peaks kannatama, kui k\u00f5ik php m\u00f5\u00f5dikud juba tulevad udp-porti protobuf formaadis ja k\u00f5ik, mis on vajalik, on kirjutada rakendus, mis need kinni p\u00fc\u00fcab ja mingi salvestusse kogub? Ilmselt need arendajad, kellel tuli see m\u00f5te p\u00e4he, asusid kohe kirjutama oma lahendusi, millest osa j\u00f5udis githubi.<\/p>\n<p>J\u00e4rgnevalt on \u00fclevaade neljast avatud l\u00e4htekoodiga projektist, mis salvestavad m\u00f5\u00f5dikud salvestusse, kust on neid lihtne k\u00e4tte saada ja visualiseerida, n\u00e4iteks graafana kaudu.<\/p>\n<h4><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/olegfedoseev\/pinba-server\">olegfedoseev\/pinba-server<\/a><\/noindex> (november 2017) <\/h4>\n<p>\nudp server go-s, mis salvestab m\u00f5\u00f5dikud OpenTSDB-sse. Kui OpenTSDB-d juba teie projektis kasutatakse, siis v\u00f5ib see lahendus teile sobida, muidu soovitan m\u00f6\u00f6da minna.<\/p>\n<h4><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/olegfedoseev\/pinba-influxdb\">olegfedoseev\/pinba-influxdb<\/a><\/noindex> (juuni 2018)<\/h4>\n<p>\nudp server go-s, sama <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/Aryoh\/\">habrajuuser<\/a><\/noindex>, kes seekord salvestab m\u00f5\u00f5dikud InfluxDB-s. Paljudes projektides kasutatakse juba praegu InfluxDB-d, seega v\u00f5ib see lahendus neile suurep\u00e4raselt sobida.<\/p>\n<p>Plussid:<\/p>\n<ul>\n<li>InfluxDB <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/olegfedoseev\/pinba-influxdb#influxdb-preparation\">kaugelt sulgeda vahekaarte, mis on avatud teistel seadmetel.<\/a><\/noindex> koguda saadud m\u00f5\u00f5dikud ja originaal kustutada m\u00e4\u00e4ratud aja m\u00f6\u00f6dudes.<\/li>\n<\/ul>\n<p>\nMiinused:<\/p>\n<ul>\n<li>see lahendus ei salvesta teavet ajas.<\/li>\n<li>InfluxDB salvestab veebilehtede aadresse siltidena ja kui teil on palju ainulaadseid aadresse, siis see toob kaasa <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/449352\/#comment_20085878\">suurenenud kulu<\/a><\/noindex> m\u00e4lu. Teatud hetkest alates on ta &#171;<noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/2v\/68\/th\/2v68thch8ajln7abt-ghsmsbxgs.png\">hakkab m\u00e4lu s\u00f6\u00f6ma nagu hull<\/a><\/noindex>&#171;. (<noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/@valyala\/insert-benchmarks-with-inch-influxdb-vs-victoriametrics-e31a41ae2893\">allikas<\/a><\/noindex>)<\/li>\n<\/ul>\n<p><\/p>\n<h4><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ClickHouse-Ninja\/Proton\">ClickHouse-Ninja\/Proton<\/a><\/noindex> (jaanuar 2019) <\/h4>\n<p>\nudp server go-s, mis salvestab m\u00f5\u00f5dikud ClickHouse-sse. See on minu s\u00f5bra lahendus. Just p\u00e4rast selle tutvumist otsustasin, et on aeg hakata pinbu ja clickhouse'iga tegelema.<\/p>\n<p>Plussid:<\/p>\n<ul>\n<li>clickhouse sobib selliste \u00fclesannete jaoks ideaalselt, see v\u00f5imaldab andmeid tihendada nii, et saate hoida k\u00f5ik toored andmed isegi ilma agregatsioonideta<\/li>\n<li>vajadusel saate kerge vaevaga koguda saadud m\u00f5\u00f5dikud<\/li>\n<li>valmis mall graafana jaoks<\/li>\n<li>salvestab teavet ajas<\/li>\n<\/ul>\n<p>\nMiinused:<\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"http:\/\/lurkmore.to\/%D0%A4%D0%B0%D1%82%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%BD%D0%B5%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D1%82%D0%BE%D0%BA\">fatali puudus<\/a><\/noindex><\/li>\n<li>puudu on konfiguratsioon, kus saaks seadistada andmebaasi ja tabelite nimetused, serveri aadress ja port.<\/li>\n<li>ilmub, et talletades tooreid andmeid, kasutatakse abikatalooge lehtede ja domeenide aadresside talletamiseks, mis hiljem raskendab p\u00e4ringute tegemist<\/li>\n<li>muud pisiasjad, mis tulenevad esimesest miinusest<\/li>\n<\/ul>\n<p><\/p>\n<h4><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/pinba-server\/pinba-server\">pinba-server\/pinba-server<\/a><\/noindex> (aprill 2019) <\/h4>\n<p>\nphp p\u00f5hine udp server, mis salvestab n\u00e4itajaid ClickHouse'i. See on minu lahendus, mis on tulenenud tutvusest pinba, ClickHouse ja protobuf'iga. Kui ma kogu selle sideme kallal t\u00f6\u00f6tasin, kirjutasin \"proof of concept\", mis \u00fcllatuslikult ei tarbinud m\u00e4rkimisv\u00e4\u00e4rseid ressursse (30 mb operatiivm\u00e4lu ja v\u00e4hem kui 1% \u00fcht k\u00fcmmest protsessorituumast), mist\u00f5ttu otsustasin selle avalikkusega jagada.<\/p>\n<p>Plussid \u2014 samad, mis eelneval lahendusel, kasutasin ka originaalsest pinba_engine'ist tuttavaid nimetusi. Veelgi olen lisanud konfi, mis v\u00f5imaldab k\u00e4ivitada mitu pinba serveri instantsi, et n\u00e4itajaid salvestada erinevatesse tabelitesse \u2014 see on kasulik, kui soovite koguda andmeid mitte ainult php-st, vaid ka nginx-ist.<br \/>\nMiinused \u2014 \"fatali puudus\" ja muud pisiasjad, mis teid isiklikult ei rahulda, kuid minu lahendus on \"lihtne nagu suss\" ja koosneb vaid umbes 100 koodireast, nii et iga php arendaja v\u00f5ib m\u00f5ne minutiga muuta seda, mis talle ei meeldi.<\/p>\n<p><b>T\u00f6\u00f6 \u043f\u0440\u0438\u043d\u0446\u0438\u043f<\/b><\/p>\n<p>kuulatakse udp-porti 30002. K\u00f5ik sisenevad paketid dekodeeritakse vastavalt protobuf skeemile ja agregatakse. Iga minuti j\u00e4rel tehakse kippi tabela pinba.requests. (k\u00f5iki parameetreid saab seadistada <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/pinba-server\/pinba-server\/blob\/master\/config.json\">konfis<\/a><\/noindex>)<\/p>\n<p><b>Veidi ClickHouse'ist<\/b><\/p>\n<p>Clickhouse toetab erinevaid andmete talletamise mootorit. K\u00f5ige rohkem kasutatav on MergeTree. <\/p>\n<p>Kui otsustate mingil hetkel salvestada agreggeeritud andmeid kogu aja jooksul ja tooreid ainult viimase aja jaoks, siis saate luua materialized view koos grupeerimisega ning peamist tabelit pinba.requests perioodiliselt puhastada, samas kui k\u00f5ik andmed j\u00e4\u00e4vad materialized view'sse. Veelgi enam, kui loote tabeli pinba.requests, v\u00f5ite m\u00e4\u00e4rata \"engine = Null\", siis toored andmed ei salvestata \u00fcldse k\u00f5vakettale, kuid need j\u00f5uavad ikkagi materialized view'sse ja salvestatakse agreggeerituna. Sellist skeemi kasutan nginx-i n\u00e4itajate jaoks, kuna nginx-is on mul 50 korda rohkem p\u00e4ringuid kui php-s.<\/p>\n<p>Nii, olete juba pika tee l\u00e4binud ja ma ei sooviks teid poolele teele j\u00e4tta, seega j\u00e4rgnevalt on p\u00f5hjalik kirjeldus minu lahenduse paigaldamisest ja seadistamisest ning k\u00f5igest, mis teil vajalik on, samuti k\u00f5ikidest ohukohtadest, millega on korduvalt kokku puututud. Kogu paigaldusprotsess on kirjeldatud Ubuntu 18.04 LTS ja Centos 7 jaoks, teistel distributsioonidel ja versioonidel v\u00f5ib protsess veidi erineda.<\/p>\n<h4>Paigaldamine<\/h4>\n<p>\nK\u00f5ik vajalikud k\u00e4sud olen kokku kogunud <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/pinba-server\/pinba-server\/tree\/master\/docker\">Dockerfile<\/a><\/noindex> \u00f5petuste j\u00e4lgitavuse lihtsustamiseks. Allpool kirjeldatakse vaid ohukohti.<\/p>\n<p><b>php-pinba<\/b><\/p>\n<p>P\u00e4rast paigaldamist veenduge, et failis \/etc\/php\/7.2\/fpm\/conf.d\/20-pinba.ini oleksid k\u00f5ik valikud kommenteeritud v\u00e4lja. M\u00f5nes distributsioonis (n\u00e4iteks centos) v\u00f5ivad need olla kommenteeritud.<\/p>\n<pre><code class=\"plaintext\">extension=pinba.so\npinba.enabled=1\npinba.server=127.0.0.1:30002<\/code><\/pre>\n<p>\n<b>clickhouse<\/b><\/p>\n<p>Paigaldamise ajal palub clickhouse teil m\u00e4\u00e4rata parooli kasutajale default. Vaikimisi on see kasutaja kergesti ligip\u00e4\u00e4setav k\u00f5igilt ip-delt, seega kui teil pole serveris tulem\u00fc\u00fcri, siis m\u00e4\u00e4rake kindlasti parool. Seda saab teha ka p\u00e4rast paigaldamist failis \/etc\/clickhouse-server\/users.xml.<\/p>\n<p>Samuti tasub t\u00e4hele panna, et clickhouse kasutab mitmeid porte, sealhulgas 9000. Seda p\u00fcsi\u00fchendust kasutatakse samuti php-fpm m\u00f5nes distributsioonis (n\u00e4iteks centos). Kui see port on juba h\u00f5ivatud, siis saate selle faili \/etc\/clickhouse-server\/config.xml muutmisel teise porti vahetada.<\/p>\n<p><b>grafana koos clickhouse'i plugina<\/b><\/p>\n<p>P\u00e4rast grafana paigaldamist kasutage sisselogimiseks admin kasutajat ja parooli admin. Esmakordsel sisselogimisel palub grafana teil seada uus parool.<\/p>\n<p>Seej\u00e4rel siseneme men\u00fc\u00fcsse &#171;+&#187; -&gt; import ja n\u00e4itame imporditava armatuuri numbrit <noindex><a rel=\"nofollow\" href=\"https:\/\/grafana.com\/dashboards\/10011\">10011<\/a><\/noindex>. Selle armatuurlaua olen ette valmistanud ja \u00fcles laadinud, et te ei peaks seda ise uuesti tegema.<\/p>\n<p>Grafana toetab koos t\u00f6\u00f6tamist clickhouse'iga kolmanda osapoole plugina kaudu, kuid kolmanda osapoole pluginatel ei t\u00f6\u00f6ta grafana h\u00e4ires\u00fcsteem (pilet selle kohta on juba mitu aastat ootel).<\/p>\n<p><b>pinba-server<\/b><\/p>\n<p>protobuf ja libevent paigaldamine ei ole kohustuslik, kuid see parandab pinba-serveri tulemuslikkust. Kui installite pinba-serveri kausta, mis ei ole \/opt, peate samuti muutma <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/pinba-server\/pinba-server\/blob\/master\/systemd\/pinba-server.service\">systemd skripti<\/a><\/noindex> faili.<\/p>\n<p><b>pinba-modul nginx-ile<\/b><\/p>\n<p>Mooduli kompileerimiseks on vajalikud samad nginx-i l\u00e4htekoodid, mis teil serveris juba on, samuti samad kompileerimisvalikud; muidu toimub kogumine edukalt, kuid mooduli aktiveerimisel kuvatakse viga, et \"moodul on binaarselt \u00fchilduv\". Kompileerimisv\u00f5imalusi saab vaadata k\u00e4su nginx -V abil.<\/p>\n<p><b>Elu n\u00e4pun\u00e4ited<\/b><\/p>\n<p>Mul t\u00f6\u00f6tavad k\u00f5ik saidid ainult https-i peal. Schema v\u00e4li muutub m\u00f5ttetuks, seet\u00f5ttu kasutan seda veebi\/konsoli eristamiseks.<\/p>\n<p>Veebis kergesti saadaval olevates skriptides kasutan:<\/p>\n<pre><code class=\"php\">if (ini_get('pinba.enabled')) {\n    pinba_schema_set('web');\n}\n<\/code><\/pre>\n<p>\nKonsolites (n\u00e4iteks cron-skriptides):<\/p>\n<pre><code class=\"php\">if (ini_get('pinba.enabled')) {\n    pinba_schema_set('console');\n}<\/code><\/pre>\n<p>\nMinu Grafana armatuurlaud on varustatud web\/konsoli statistika eristamise l\u00fclitiga.<\/p>\n<p>Samuti saab pinbale edastada oma silte, n\u00e4iteks:<\/p>\n<pre><code class=\"php\">pinba_tag_set('country', $countryCode);<\/code><\/pre>\n<p>\n<b>Sellega on k\u00f5ik. <\/b><\/p>\n<p>Palun vastake artikli all olevatele k\u00fcsitlustele.<\/p>\n<p>Traditsiooniliselt hoiatatud, et ma ei n\u00f5usta ega aita isiklike s\u00f5numite kaudu Habr ja sotsiaalmeedias.<\/p>\n<p>Avage pilet GitHubis.<\/p>\n<p>Samuti palun toetage like'idega <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/en\/post\/449818\/\">ingliskeelset versiooni<\/a><\/noindex> selle artikli <noindex><a rel=\"nofollow\" href=\"https:\/\/www.reddit.com\/r\/PHP\/comments\/bigszu\/statistics_and_monitoring_of_php_scripts_in_real\/\">Redditis<\/a><\/noindex>.<\/p>\n<p class=\"for_users_only_msg\">Ainult registreeritud kasutajad saavad k\u00fcsitluses osaleda. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/auth\/login\/\">Logige sisse<\/a><\/noindex>, palun.<\/p>\n<h2 class=\"default-block__polling-title\">Millist operatsioonis\u00fcsteemi kasutate serveris?<\/h2>\n<ul class=\"content-list content-list_polling\">\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    Ubuntu<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    CentOS<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    Debian<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    Gentoo<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    Red Hat<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    Fedora<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    OpenSUSE<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    SuSE<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    Unix<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    Windows<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    muid<\/p>\n<\/li>\n<\/ul>\n<p>    H\u00e4\u00e4letas 114 kasutajat. Tasusid 11 kasutajat.<\/p>\n<h2 class=\"default-block__polling-title\">Millist PHP versiooni kasutate serveris?<\/h2>\n<ul class=\"content-list content-list_polling\">\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    7.3<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    7.2<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    7.1<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    7.0<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    5<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    muid<\/p>\n<\/li>\n<\/ul>\n<p>    H\u00e4\u00e4letas 105 kasutajat. Tasusid 17 kasutajat.<\/p>\n<h2 class=\"default-block__polling-title\">Kas olete kunagi pinbat kasutanud?<\/h2>\n<ul class=\"content-list content-list_polling\">\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    jah<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    ei, aga sooviksin<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    ei ja ei sooviks<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    ei ja ei ole kuulnud sellest<\/p>\n<\/li>\n<\/ul>\n<p>    H\u00e4\u00e4letas 100 kasutajat. Tasusid 14 kasutajat.<\/p>\n<h2 class=\"default-block__polling-title\">Millist pinba-serveri versiooni sooviksite proovida?<\/h2>\n<ul class=\"content-list content-list_polling\">\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    pinba_engine (mysql engine)<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    pinba2 (mysql engine)<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    pinboard (php + mysql)<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    olegfedoseev\/pinba-server (go + OpenTSDB)<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    olegfedoseev\/pinba-influxdb (go + influxdb)<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    pinba-server\/pinba-server (go + clickhouse)<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    pinba-server\/pinba-server (php + clickhouse)<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    kirjutan oma enda<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    muid<\/p>\n<\/li>\n<\/ul>\n<p>    H\u00e4\u00e4letas 39 kasutajat. Tasusid 47 kasutajat.<br \/>\n<br \/>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/444610\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443, \u043a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c pinba \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e \u0441 clickhouse \u0438 grafana \u0432\u043c\u0435\u0441\u0442\u043e pinba_engine \u0438 pinboard. \u041d\u0430 php-\u043f\u0440\u043e\u0435\u043a\u0442\u0435 pinba \u2014 \u043f\u043e\u0436\u0430\u043b\u0443\u0439 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043d\u0430\u0434\u0451\u0436\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043f\u043e\u043d\u044f\u0442\u044c, \u0447\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0441 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e. \u041f\u0440\u0430\u0432\u0434\u0430 \u043e\u0431\u044b\u0447\u043d\u043e pinba \u0432\u043d\u0435\u0434\u0440\u044f\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u043e\u0433\u0434\u0430, \u043a\u043e\u0433\u0434\u0430 \u0443\u0436\u0435 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u044e\u0442\u0441\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0438 \u043d\u0435 \u043f\u043e\u043d\u044f\u0442\u043d\u043e \u00ab\u0433\u0434\u0435 \u043a\u043e\u043f\u0430\u0442\u044c\u00bb. \u0427\u0430\u0441\u0442\u043e \u043d\u0438\u043a\u0442\u043e \u043f\u043e\u043d\u044f\u0442\u0438\u044f \u043d\u0435 \u0438\u043c\u0435\u0435\u0442, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443\/\u043c\u0438\u043d\u0443\u0442\u0443 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":24468,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-32681","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443, \u043a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c pinba \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e \u0441 clickhouse \u0438 grafana \u0432\u043c\u0435\u0441\u0442\u043e pinba_engine \u0438 pinboard. \u041d\u0430 php-\u043f\u0440\u043e\u0435\u043a\u0442\u0435 pinba \u2014 \u043f\u043e\u0436\u0430\u043b\u0443\u0439 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043d\u0430\u0434\u0451\u0436\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043f\u043e\u043d\u044f\u0442\u044c, \u0447\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0441.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/statistika-i-monitoring-php-skriptov-v-realnom-vremeni-clickhouse-i-grafana-idut-na-pomoshh-k-pinba\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430 \u0438 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 PHP \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438. ClickHouse \u0438 Grafana \u0438\u0434\u0443\u0442 \u043d\u0430 \u043f\u043e\u043c\u043e\u0449\u044c \u043a Pinba | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443, \u043a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c pinba \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e \u0441 clickhouse \u0438 grafana \u0432\u043c\u0435\u0441\u0442\u043e pinba_engine \u0438 pinboard. \u041d\u0430 php-\u043f\u0440\u043e\u0435\u043a\u0442\u0435 pinba \u2014 \u043f\u043e\u0436\u0430\u043b\u0443\u0439 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043d\u0430\u0434\u0451\u0436\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043f\u043e\u043d\u044f\u0442\u044c, \u0447\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0441.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/statistika-i-monitoring-php-skriptov-v-realnom-vremeni-clickhouse-i-grafana-idut-na-pomoshh-k-pinba\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:48:22+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:48:22+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47PHP skriptide statistika ja j\u00e4lgimine reaalajas. ClickHouse ja Grafana tulevad Pinba appi | ProHoster","description":"Selles artiklis r\u00e4\u00e4gin sellest, kuidas kasutada pinbat koos clickhouse'i ja grafanaga pinba_engine ja pinboardi asemel. PHP-projektil on pinba m\u00f5istlik viis aru saada, mis toimub.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/statistika-i-monitoring-php-skriptov-v-realnom-vremeni-clickhouse-i-grafana-idut-na-pomoshh-k-pinba","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430 \u0438 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 PHP \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438. ClickHouse \u0438 Grafana \u0438\u0434\u0443\u0442 \u043d\u0430 \u043f\u043e\u043c\u043e\u0449\u044c \u043a Pinba | ProHoster","og:description":"\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443, \u043a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c pinba \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e \u0441 clickhouse \u0438 grafana \u0432\u043c\u0435\u0441\u0442\u043e pinba_engine \u0438 pinboard. \u041d\u0430 php-\u043f\u0440\u043e\u0435\u043a\u0442\u0435 pinba \u2014 \u043f\u043e\u0436\u0430\u043b\u0443\u0439 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043d\u0430\u0434\u0451\u0436\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043f\u043e\u043d\u044f\u0442\u044c, \u0447\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0441.","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/statistika-i-monitoring-php-skriptov-v-realnom-vremeni-clickhouse-i-grafana-idut-na-pomoshh-k-pinba","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:48:22+00:00","article:modified_time":"2019-10-31T18:48:22+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"32681","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 12:02:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:54:26","updated":"2026-01-21 12:02:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/32681","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=32681"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/32681\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/24468"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=32681"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=32681"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=32681"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}