{"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\/cs\/blog\/administrirovanie\/statistika-i-monitoring-php-skriptov-v-realnom-vremeni-clickhouse-i-grafana-idut-na-pomoshh-k-pinba","title":{"rendered":"Statistika a monitoring PHP skript\u016f v re\u00e1ln\u00e9m \u010dase. ClickHouse a Grafana pom\u00e1haj\u00ed k Pinba","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>V tomto \u010dl\u00e1nku v\u00e1m uk\u00e1\u017eu, jak pou\u017e\u00edvat pinba spole\u010dn\u011b s clickhouse a grafana m\u00edsto pinba_engine a pinboard.<\/p>\n<p>Na php projektu je pinba pravd\u011bpodobn\u011b jedin\u00fd spolehliv\u00fd zp\u016fsob, jak pochopit, co se d\u011bje s v\u00fdkonem. Obvykle se v\u0161ak pinba zav\u00e1d\u00ed a\u017e tehdy, kdy\u017e u\u017e se objev\u00ed probl\u00e9my a nen\u00ed jasn\u00e9, \"kde kopat\".<\/p>\n<p>\u010casto nikdo nem\u00e1 pon\u011bt\u00ed, kolikr\u00e1t za sekundu\/minutu je vol\u00e1n ten kter\u00fd skript, a za\u010dnou optimalizovat \u201enaslepo\u201c, po\u010d\u00ednaje t\u011bmi m\u00edsty, kter\u00e1 se zdaj\u00ed logi\u010dt\u011bj\u0161\u00ed.<\/p>\n<p>N\u011bkdo analyzuje logy nginx, jin\u00fd zase pomal\u00e9 dotazy v datab\u00e1zi.<\/p>\n<p>Samoz\u0159ejm\u011b by pinba nebyla na \u0161kodu, ale existuje n\u011bkolik d\u016fvod\u016f, pro\u010d nen\u00ed na ka\u017ed\u00e9m projektu.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/br\/zm\/qz\/brzmqzc8itwc2lt3gjp0q2p-kse.png\"><img decoding=\"async\" alt=\"Statistika a monitoring PHP skript\u016f v re\u00e1ln\u00e9m \u010dase. ClickHouse a Grafana pom\u00e1haj\u00ed k Pinba\" 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 \/>\nA prvn\u00edm d\u016fvodem je instalace.<\/p>\n<p>Abychom z\u00edskali n\u011bjak\u00fd \u201ev\u00fdstup\u201c z implementace pinby, je velmi \u017e\u00e1douc\u00ed vid\u011bt metriky nejen za posledn\u00ed minuty, ale i za del\u0161\u00ed \u010dasov\u00e9 obdob\u00ed (od dn\u016f po m\u011bs\u00edce).<\/p>\n<p>K tomu je pot\u0159eba:<\/p>\n<ul>\n<li>nainstalovat roz\u0161\u00ed\u0159en\u00ed pro php (a mo\u017en\u00e1 budete cht\u00edt modul pro nginx)<\/li>\n<li>zkompilovat roz\u0161\u00ed\u0159en\u00ed pro mysql<\/li>\n<li>nainstalovat pinboard a nastavit cron<\/li>\n<\/ul>\n<p>\nZ d\u016fvodu nedostatku informac\u00ed o pinb\u011b m\u00e1 mnoho lid\u00ed dojem, \u017ee fungovala pouze na php5 a u\u017e d\u00e1vno pat\u0159\u00ed do minulosti, ale jak uvid\u00edme d\u00e1le \u2014 to nen\u00ed pravda.<\/p>\n<p>Prvn\u00ed krok je nejjednodu\u0161\u0161\u00ed, sta\u010d\u00ed prov\u00e9st p\u0159\u00edkaz:<\/p>\n<pre><code class=\"bash\">apt install php-pinba<\/code><\/pre>\n<p>\nV repozit\u00e1\u0159\u00edch je toto roz\u0161\u00ed\u0159en\u00ed a\u017e do php 7.3 v\u010detn\u011b a nen\u00ed pot\u0159eba nic kompilovat.<\/p>\n<p>Po vykon\u00e1n\u00ed instala\u010dn\u00edho p\u0159\u00edkazu okam\u017eit\u011b z\u00edsk\u00e1me ji\u017e funguj\u00edc\u00ed roz\u0161\u00ed\u0159en\u00ed, kter\u00e9 sb\u00edr\u00e1 a odes\u00edl\u00e1 metriky ka\u017ed\u00e9ho skriptu (doba b\u011bhu, pam\u011b\u0165 atd.) ve form\u00e1tu <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Protocol_Buffers\">protobuf<\/a><\/noindex> po udp na 127.0.0.1:30002.<\/p>\n<p>Tyto udp pakety zat\u00edm nikdo nezachycuje a nezpracov\u00e1v\u00e1, ale to nem\u00e1 \u017e\u00e1dn\u00fd \u0161patn\u00fd vliv na rychlost nebo stabilitu va\u0161ich php skript\u016f.<\/p>\n<p>A\u017e do ned\u00e1vn\u00e9 doby byl jedin\u00fdm aplikac\u00ed, kter\u00e1 mohla zachytit a zpracov\u00e1vat tyto udp pakety, pouze <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/tony2001\/pinba_engine\">pinba_engine<\/a><\/noindex>. Popis &#171;<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/tony2001\/pinba_engine\/wiki\/Installation\">jednodu\u0161e a stru\u010dn\u011b<\/a><\/noindex>&#187; instalace odrazuje od toho, abychom to n\u011bkdy znovu \u010detli a bavili se. V kilometrov\u00fdch seznamech z\u00e1vislost\u00ed jsou jak n\u00e1zvy bal\u00ed\u010dk\u016f, tak n\u00e1zvy program\u016f a odkazy na jednotliv\u00e9 str\u00e1nky s jejich instalac\u00ed, a ty maj\u00ed sv\u00e9 odkazy na dal\u0161\u00ed z\u00e1vislosti. Nikdo nem\u00e1 \u010das ani chu\u0165 se t\u00edmto blbostem zab\u00fdvat.<\/p>\n<p>Proces instalace <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/badoo\/pinba2\">pinba2<\/a><\/noindex> se nezm\u011bnil <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/badoo\/pinba2\/blob\/master\/docs\/index.md#installation\">v\u00fdrazn\u011b jednodu\u0161\u0161\u00ed<\/a><\/noindex>.<\/p>\n<p>Mo\u017en\u00e1 jednoho dne bude mo\u017en\u00e9 nainstalovat pinba10 jedn\u00edm nebo dv\u011bma p\u0159\u00edkazy, ani\u017e byste museli \u010d\u00edst spoustu materi\u00e1lu, abyste pochopili, jak to ud\u011blat, ale zat\u00edm to tak nen\u00ed.<\/p>\n<p>Pokud jste p\u0159esto nainstalovali pinba_engine, je to jen polovina pr\u00e1ce. V\u017edy\u0165 bez <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/intaro\/pinboard\">pinboard<\/a><\/noindex> budete muset omezit sv\u00e1 data pouze na posledn\u00edch n\u011bkolik minut nebo sami agregovat, ukl\u00e1dat a vizualizovat data. Na\u0161t\u011bst\u00ed je pinboard dost jednoduch\u00fd na <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/intaro\/pinboard\/wiki\/Installation\">nainstalov\u00e1n\u00ed<\/a><\/noindex>.<\/p>\n<p>Zd\u00e1 se, \u017ee pro\u010d podstupovat takov\u00e9 utrpen\u00ed, kdy\u017e v\u0161echny metriky z php ji\u017e chod\u00ed na udp port ve form\u00e1tu protobuf a v\u0161e, co je pot\u0159eba, je napsat aplikaci, kter\u00e1 je zachyt\u00ed a ulo\u017e\u00ed do n\u011bjak\u00e9ho \u00falo\u017ei\u0161t\u011b? Z\u0159ejm\u011b t\u011bm v\u00fdvoj\u00e1\u0159\u016fm, kte\u0159\u00ed m\u011bli tuto my\u0161lenku na mysli, hned do\u0161lo, \u017ee si maj\u00ed napsat vlastn\u00ed \u0159e\u0161en\u00ed, z nich\u017e n\u011bkter\u00e1 se dostala na GitHub.<\/p>\n<p>D\u00e1le n\u00e1sleduje p\u0159ehled \u010dty\u0159 open-source projekt\u016f, kter\u00e9 ukl\u00e1daj\u00ed metriky do \u00falo\u017ei\u0161\u0165, z nich\u017e lze tato data snadno dostat a vizualizovat nap\u0159\u00edklad pomoc\u00ed grafany.<\/p>\n<h4><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/olegfedoseev\/pinba-server\">olegfedoseev\/pinba-server<\/a><\/noindex> (listopad 2017) <\/h4>\n<p>\nudp server na go, kter\u00fd ukl\u00e1d\u00e1 metriky do OpenTSDB. Mo\u017en\u00e1, pokud u\u017e OpenTSDB pou\u017e\u00edv\u00e1te ve sv\u00e9m projektu, bude v\u00e1m toto \u0159e\u0161en\u00ed vyhovovat; jinak doporu\u010duji se tomu vyhnout.<\/p>\n<h4><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/olegfedoseev\/pinba-influxdb\">olegfedoseev\/pinba-influxdb<\/a><\/noindex> (\u010derven 2018)<\/h4>\n<p>\nudp server na go, od t\u00e9ho\u017e <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/Aryoh\/\">habravyzera<\/a><\/noindex>, kter\u00fd tentokr\u00e1t ukl\u00e1d\u00e1 metriky do InfluxDB. Na mnoha projektech se ji\u017e nyn\u00ed pro monitoring pou\u017e\u00edv\u00e1 InfluxDB, tak\u017ee pro n\u011b m\u016f\u017ee b\u00fdt toto \u0159e\u0161en\u00ed ide\u00e1ln\u00ed.<\/p>\n<p>Plusy:<\/p>\n<ul>\n<li>InfluxDB <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/olegfedoseev\/pinba-influxdb#influxdb-preparation\">umo\u017e\u0148uje<\/a><\/noindex> agregovat z\u00edskan\u00e9 metriky a origin\u00e1ly mazat po stanoven\u00e9 dob\u011b.<\/li>\n<\/ul>\n<p>\nNev\u00fdhody:<\/p>\n<ul>\n<li>toto \u0159e\u0161en\u00ed neuchov\u00e1v\u00e1 informace o \u010dasova\u010d\u00edch.<\/li>\n<li>InfluxDB bude uchov\u00e1vat adresy str\u00e1nek webu jako tagy a pokud m\u00e1te mnoho unik\u00e1tn\u00edch adres str\u00e1nek, povede to k <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/449352\/#comment_20085878\">zv\u00fd\u0161en\u00e9 spot\u0159eb\u011b<\/a><\/noindex> opera\u010dn\u00ed pam\u011bti. Od ur\u010dit\u00e9ho okam\u017eiku on &#171;<noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/2v\/68\/th\/2v68thch8ajln7abt-ghsmsbxgs.png\">\u017e\u00edrat pam\u011b\u0165, jako kdyby nem\u011bla konce<\/a><\/noindex>&#171;. (<noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/@valyala\/insert-benchmarks-with-inch-influxdb-vs-victoriametrics-e31a41ae2893\">zdroj<\/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> (leden 2019) <\/h4>\n<p>\nudp server na go, kter\u00fd ukl\u00e1d\u00e1 metriky do ClickHouse. Toto je \u0159e\u0161en\u00ed m\u00e9ho p\u0159\u00edtele. Pr\u00e1v\u011b po sezn\u00e1men\u00ed s n\u00edm jsem se rozhodl, \u017ee nastal \u010das v\u011bnovat se pinb\u011b a clickhouse.<\/p>\n<p>Plusy:<\/p>\n<ul>\n<li>clickhouse je ide\u00e1ln\u011b vhodn\u00fd pro tyto \u00fakoly, umo\u017e\u0148uje komprimovat data natolik, \u017ee m\u016f\u017eete uchov\u00e1vat v\u0161echny syrov\u00e9 \u00fadaje i bez agregac\u00ed<\/li>\n<li>pokud je t\u0159eba, m\u016f\u017eete jednodu\u0161e agregovat z\u00edskan\u00e9 metriky<\/li>\n<li>hotov\u00e1 \u0161ablona pro grafanu<\/li>\n<li>uchov\u00e1v\u00e1 informace o \u010dasova\u010d\u00edch<\/li>\n<\/ul>\n<p>\nNev\u00fdhody:<\/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\">fat\u00e1ln\u00ed nedostatek<\/a><\/noindex><\/li>\n<li>Nen\u00ed \u017e\u00e1dn\u00e1 konfigurace, ve kter\u00e9 by bylo mo\u017en\u00e9 nastavit n\u00e1zev datab\u00e1ze a tabulek, adresu a port serveru.<\/li>\n<li>P\u0159i ukl\u00e1d\u00e1n\u00ed syrov\u00fdch dat se pou\u017e\u00edv\u00e1 pomocn\u00e1 tabulka-slovn\u00edk pro uchov\u00e1v\u00e1n\u00ed adres str\u00e1nek a dom\u00e9n, co\u017e n\u00e1sledn\u011b zt\u011b\u017euje dotazy.<\/li>\n<li>Dal\u0161\u00ed drobnosti vypl\u00fdvaj\u00edc\u00ed z prvn\u00edho nedostatku.<\/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> (duben 2019) <\/h4>\n<p>\nUDP server na PHP, kter\u00fd ukl\u00e1d\u00e1 metriky do ClickHouse. To je moje \u0159e\u0161en\u00ed, kter\u00e9 vzniklo b\u011bhem sezn\u00e1men\u00ed s pinba, ClickHouse a protobuf. Dokud jsem se v t\u00e9to kombinaci vyznal, napsal jsem \"proof of concept\", kter\u00fd, p\u0159ekvapiv\u011b, nepou\u017e\u00edval zna\u010dn\u00e9 prost\u0159edky (30 MB opera\u010dn\u00ed pam\u011bti a m\u00e9n\u011b ne\u017e 1 % jednoho z osmi jader procesoru), proto jsem se rozhodl sd\u00edlet to s ve\u0159ejnost\u00ed.<\/p>\n<p>Klady \u2013 jsou stejn\u00e9 jako u p\u0159edchoz\u00edho \u0159e\u0161en\u00ed, nav\u00edc jsem pou\u017eil obvykl\u00e9 n\u00e1zvy z origin\u00e1ln\u00ed pinba_engine. Je\u0161t\u011b jsem p\u0159idal konfiguraci, kter\u00e1 umo\u017e\u0148uje spustit v\u00edce instanc\u00ed pinba serveru najednou, aby se metriky ukl\u00e1daly do r\u016fzn\u00fdch tabulek \u2013 to je u\u017eite\u010dn\u00e9, pokud chcete shroma\u017e\u010fovat data nejen z PHP, ale tak\u00e9 z Nginx.<br \/>\nZ\u00e1pory \u2013 \"fat\u00e1ln\u00ed nedostatek\" a n\u011bkter\u00e9 drobnosti, kter\u00e9 v\u00e1s osobn\u011b neuspokoj\u00ed, ale moje \u0159e\u0161en\u00ed je \"jednoduch\u00e9 jako lodi\u010dka\" a skl\u00e1d\u00e1 se pouze z p\u0159ibli\u017en\u011b 100 \u0159\u00e1dk\u016f k\u00f3du, tak\u017ee ka\u017ed\u00fd PHP v\u00fdvoj\u00e1\u0159 m\u016f\u017ee b\u011bhem p\u00e1r minut zm\u011bnit, co mu nevyhovuje.<\/p>\n<p><b>Princip pr\u00e1ce<\/b><\/p>\n<p>Naslouch\u00e1 se na UDP portu 30002. V\u0161echny p\u0159\u00edchoz\u00ed pakety se dek\u00f3duj\u00ed podle protobuf sch\u00e9matu a agreguj\u00ed. Jednou za minutu do ClickHouse se provede vlo\u017een\u00ed d\u00e1vky do tabulky pinba.requests. (v\u0161echny parametry jsou nastaveny v <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/pinba-server\/pinba-server\/blob\/master\/config.json\">konfiguraci<\/a><\/noindex>)<\/p>\n<p><b>N\u011bco o ClickHouse<\/b><\/p>\n<p>ClickHouse podporuje r\u016fzn\u00e9 storage engine. Nej\u010dast\u011bji pou\u017e\u00edvan\u00fd je MergeTree. <\/p>\n<p>Pokud se v ur\u010dit\u00e9m okam\u017eiku rozhodnete uchov\u00e1vat agregovan\u00e1 data za celou dobu, a syrov\u00e1 pouze za posledn\u00ed obdob\u00ed, m\u016f\u017eete vytvo\u0159it materializovan\u00fd pohled s agregac\u00ed, a hlavn\u00ed tabulku pinba.requests pravideln\u011b \u010distit, p\u0159i\u010dem\u017e v\u0161echna data z\u016fstanou v materializovan\u00e9m pohledu. Nav\u00edc p\u0159i vytv\u00e1\u0159en\u00ed tabulky pinba.requests m\u016f\u017eete \u0159\u00edct \"engine = Null\", pak syrov\u00e1 data nebudou v\u016fbec uchov\u00e1v\u00e1na na disku a p\u0159esto budou st\u00e1le zahrnuta do materializovan\u00e9ho pohledu a uchov\u00e1v\u00e1na agregovan\u00e1. Tento syst\u00e9m pou\u017e\u00edv\u00e1m pro metriky Nginx, proto\u017ee na Nginx m\u00e1m 50x v\u00edce po\u017eadavk\u016f ne\u017e na PHP.<\/p>\n<p>M\u00e1te za sebou dlouhou cestu a nechci v\u00e1s nechat na p\u016fli cesty, tak\u017ee n\u00ed\u017ee najdete podrobn\u00fd popis instalace a nastaven\u00ed m\u00e9ho \u0159e\u0161en\u00ed a v\u0161e, co budete pot\u0159ebovat, v\u010detn\u011b \u00faskal\u00ed, o kter\u00e1 se ztroskotalo nejen n\u011bkolik lod\u00ed. Cel\u00fd proces instalace je pops\u00e1n pro Ubuntu 18.04 LTS a CentOS 7, u jin\u00fdch distribuc\u00ed a verz\u00ed se proces m\u016f\u017ee m\u00edrn\u011b li\u0161it.<\/p>\n<h4>Instalace<\/h4>\n<p>\nV\u0161echny pot\u0159ebn\u00e9 p\u0159\u00edkazy jsem shrnul do <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/pinba-server\/pinba-server\/tree\/master\/docker\">Dockerfile<\/a><\/noindex> pro usnadn\u011bn\u00ed reprodukovatelnosti pokyn\u016f. N\u00ed\u017ee budou pops\u00e1na pouze \u00faskal\u00ed.<\/p>\n<p><b>php-pinba<\/b><\/p>\n<p>Po instalaci se ujist\u011bte, \u017ee ve souboru \/etc\/php\/7.2\/fpm\/conf.d\/20-pinba.ini m\u00e1te odkomentov\u00e1ny v\u0161echny mo\u017enosti. V n\u011bkter\u00fdch distribuc\u00edch (nap\u0159\u00edklad CentOS) mohou b\u00fdt zakomentov\u00e1ny.<\/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>B\u011bhem instalace ClickHouse v\u00e1s po\u017e\u00e1d\u00e1, abyste nastavili heslo pro u\u017eivatele default. Ve v\u00fdchoz\u00edm nastaven\u00ed je tento u\u017eivatel dostupn\u00fd ze v\u0161ech IP adres, tak\u017ee pokud na serveru nem\u00e1te firewall, ur\u010dit\u011b mu nastavte heslo. To lze tak\u00e9 prov\u00e9st po instalaci ve souboru \/etc\/clickhouse-server\/users.xml.<\/p>\n<p>Tak\u00e9 je dobr\u00e9 si v\u0161imnout, \u017ee ClickHouse pou\u017e\u00edv\u00e1 n\u011bkolik port\u016f, v\u010detn\u011b 9000. Tento port se tak\u00e9 pou\u017e\u00edv\u00e1 pro PHP-FPM v n\u011bkter\u00fdch distribuc\u00edch (nap\u0159\u00edklad CentOS). Pokud je tento port ji\u017e pou\u017e\u00edv\u00e1n, m\u016f\u017eete ho zm\u011bnit na jin\u00fd v souboru \/etc\/clickhouse-server\/config.xml.<\/p>\n<p><b>grafana s pluginem pro ClickHouse<\/b><\/p>\n<p>Po instalaci Grafany pou\u017eijte p\u0159ihla\u0161ovac\u00ed jm\u00e9no admin a heslo admin. P\u0159i prvn\u00edm p\u0159ihl\u00e1\u0161en\u00ed v\u00e1s Grafana po\u017e\u00e1d\u00e1 o nastaven\u00ed nov\u00e9ho hesla.<\/p>\n<p>D\u00e1le p\u0159ejdeme do menu &#171;+&#187; -&gt; import a uvedeme \u010d\u00edslo dashboardu pro import <noindex><a rel=\"nofollow\" href=\"https:\/\/grafana.com\/dashboards\/10011\">10011<\/a><\/noindex>. Tento dashboard jsem p\u0159ipravil a nahr\u00e1l, abyste ho nemuseli vytv\u00e1\u0159et znovu sami.<\/p>\n<p>Grafana podporuje pr\u00e1ci s ClickHouse prost\u0159ednictv\u00edm extern\u00edho pluginu, ale pro extern\u00ed pluginy v Grafan\u011b nefunguj\u00ed upozorn\u011bn\u00ed (ticket na to vis\u00ed u\u017e n\u011bkolik let).<\/p>\n<p><b>pinba-server<\/b><\/p>\n<p>Instalace protobuf a libevent nen\u00ed povinn\u00e1, ale zlep\u0161uje v\u00fdkon pinba-serveru. Pokud nainstalujete pinba-server do slo\u017eky odli\u0161n\u00e9 od \/opt, bude tak\u00e9 nutn\u00e9 upravit <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/pinba-server\/pinba-server\/blob\/master\/systemd\/pinba-server.service\">systemd skript<\/a><\/noindex> soubor.<\/p>\n<p><b>pinba modul pro nginx<\/b><\/p>\n<p>Pro kompilaci modulu jsou pot\u0159eba zdrojov\u00e9 soubory stejn\u00e9 verze nginx, jakou ji\u017e m\u00e1te nainstalovanou na serveru, a tak\u00e9 stejn\u00e9 mo\u017enosti kompilace, jinak prob\u011bhne kompilace \u00fasp\u011b\u0161n\u011b, ale p\u0159i p\u0159ipojen\u00ed modulu bude vyhazovat chybu, \u017ee \u201emodul je bin\u00e1rn\u011b nekompatibiln\u00ed\u201c. Mo\u017enosti kompilace lze zobrazit pomoc\u00ed p\u0159\u00edkazu nginx -V<\/p>\n<p><b>Tipy<\/b><\/p>\n<p>V\u0161echny m\u00e9 weby funguj\u00ed pouze p\u0159es https. Pole schema se tedy st\u00e1v\u00e1 bezp\u0159edm\u011btn\u00fdm, proto je pou\u017e\u00edv\u00e1m k rozli\u0161en\u00ed webu\/konzole.<\/p>\n<p>Ve skriptech, kter\u00e9 jsou dostupn\u00e9 z webu, pou\u017e\u00edv\u00e1m:<\/p>\n<pre><code class=\"php\">if (ini_get('pinba.enabled')) {\n    pinba_schema_set('web');\n}\n<\/code><\/pre>\n<p>\nA v konzolov\u00fdch (nap\u0159\u00edklad cron skripty):<\/p>\n<pre><code class=\"php\">if (ini_get('pinba.enabled')) {\n    pinba_schema_set('console');\n}<\/code><\/pre>\n<p>\nV m\u00e9m dashboardu v Grafan\u011b je p\u0159ep\u00edna\u010d web\/konzole pro zobrazen\u00ed statistik odd\u011blen\u011b.<\/p>\n<p>Tak\u00e9 do Pinby m\u016f\u017eete p\u0159ed\u00e1vat sv\u00e9 tagy, nap\u0159\u00edklad:<\/p>\n<pre><code class=\"php\">pinba_tag_set('country', $countryCode);<\/code><\/pre>\n<p>\n<b>To je v\u0161e. <\/b><\/p>\n<p>Velice pros\u00edm o odpov\u011bdi na ankety pod \u010dl\u00e1nkem.<\/p>\n<p>Tradi\u010dn\u011b varuji, \u017ee nekonzultuji a nepom\u00e1h\u00e1m p\u0159es soukrom\u00e9 zpr\u00e1vy na Habr a v soci\u00e1ln\u00edch s\u00edt\u00edch.<\/p>\n<p>Zalo\u017ete ticket na GitHubu.<\/p>\n<p>Tak\u00e9 pros\u00edm o podporu pomoc\u00ed lajk\u016f <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/en\/post\/449818\/\">anglickou verzi<\/a><\/noindex> tohoto \u010dl\u00e1nku <noindex><a rel=\"nofollow\" href=\"https:\/\/www.reddit.com\/r\/PHP\/comments\/bigszu\/statistics_and_monitoring_of_php_scripts_in_real\/\">na Redditu<\/a><\/noindex>.<\/p>\n<p class=\"for_users_only_msg\">Pouze registrovan\u00ed u\u017eivatel\u00e9 se mohou \u00fa\u010dastnit ankety. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/auth\/login\/\">P\u0159ihlaste se<\/a><\/noindex>, pros\u00edm.<\/p>\n<h2 class=\"default-block__polling-title\">Jak\u00fd opera\u010dn\u00ed syst\u00e9m na serveru pou\u017e\u00edv\u00e1te?<\/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>                    jin\u00e9<\/p>\n<\/li>\n<\/ul>\n<p>    Hlasovalo 114 u\u017eivatel\u016f. Zdr\u017eelo se 11 u\u017eivatel\u016f.<\/p>\n<h2 class=\"default-block__polling-title\">Jakou verzi PHP na serveru pou\u017e\u00edv\u00e1te?<\/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>                    jin\u00e9<\/p>\n<\/li>\n<\/ul>\n<p>    Hlasovalo 105 u\u017eivatel\u016f. Zdr\u017eelo se 17 u\u017eivatel\u016f.<\/p>\n<h2 class=\"default-block__polling-title\">Pou\u017eili jste n\u011bkdy Pinbu?<\/h2>\n<ul class=\"content-list content-list_polling\">\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    ano<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    ne, ale r\u00e1d bych<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    ne a necht\u011bl bych<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    ne a nesly\u0161el jsem o n\u00ed<\/p>\n<\/li>\n<\/ul>\n<p>    Hlasovalo 100 u\u017eivatel\u016f. Zdr\u017eelo se 14 u\u017eivatel\u016f.<\/p>\n<h2 class=\"default-block__polling-title\">Jakou verzi Pinba serveru byste cht\u011bli vyzkou\u0161et?<\/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>                    nap\u00ed\u0161u svou vlastn\u00ed<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    jin\u00e9<\/p>\n<\/li>\n<\/ul>\n<p>    Hlasovalo 39 u\u017eivatel\u016f. Zdr\u017eelo se 47 u\u017eivatel\u016f.<br \/>\n<br \/>Zdroj: <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.3 - 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\/cs\/blog\/administrirovanie\/statistika-i-monitoring-php-skriptov-v-realnom-vremeni-clickhouse-i-grafana-idut-na-pomoshh-k-pinba\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\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\/cs\/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\udd47Statistika a monitoring PHP skript\u016f v re\u00e1ln\u00e9m \u010dase. ClickHouse a Grafana pom\u00e1haj\u00ed Pinb\u011b | ProHoster","description":"V tomto \u010dl\u00e1nku v\u00e1m uk\u00e1\u017eu, jak pou\u017e\u00edvat Pinbu spole\u010dn\u011b s ClickHouse a Grafanou m\u00edsto pinba_engine a pinboard. Na php projektu je Pinba snad jedin\u00fd spolehliv\u00fd zp\u016fsob, jak porozum\u011bt tomu, co se d\u011bje.","canonical_url":"https:\/\/prohoster.info\/cs\/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":"cs_CZ","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\/cs\/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\/cs\/wp-json\/wp\/v2\/posts\/32681","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=32681"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/32681\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media\/24468"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=32681"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=32681"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=32681"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}