{"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\/sv\/blog\/administrirovanie\/statistika-i-monitoring-php-skriptov-v-realnom-vremeni-clickhouse-i-grafana-idut-na-pomoshh-k-pinba","title":{"rendered":"Statistik och \u00f6vervakning av PHP-skript i realtid. ClickHouse och Grafana hj\u00e4lper Pinba.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>I denna artikel kommer jag att ber\u00e4tta hur man anv\u00e4nder Pinba tillsammans med ClickHouse och Grafana ist\u00e4llet f\u00f6r Pinba Engine och Pinboard.<\/p>\n<p>P\u00e5 PHP-projektet \u00e4r Pinba troligen det enda p\u00e5litliga s\u00e4ttet att f\u00f6rst\u00e5 vad som h\u00e4nder med prestandan. Problemet \u00e4r att Pinba oftast implementeras f\u00f6rst n\u00e4r problem redan observeras och det \u00e4r oklart \"vart man ska gr\u00e4va\".<\/p>\n<p>Ofta har ingen en aning om hur m\u00e5nga g\u00e5nger per sekund\/minut ett visst skript anropas och man b\u00f6rjar optimera \"p\u00e5 k\u00e4nsla\", startande med de platser som verkar logiska.<\/p>\n<p>N\u00e5gon analyserar Nginx-loggar, och n\u00e5gon annan l\u00e5ngsamma fr\u00e5gor i databasen.<\/p>\n<p>Sj\u00e4lvklart skulle Pinba vara till nytta, men det finns flera anledningar till varf\u00f6r den inte finns p\u00e5 varje projekt.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/br\/zm\/qz\/brzmqzc8itwc2lt3gjp0q2p-kse.png\"><img decoding=\"async\" alt=\"Statistik och \u00f6vervakning av PHP-skript i realtid. ClickHouse och Grafana hj\u00e4lper 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 \/>\nOch den f\u00f6rsta anledningen \u00e4r installationen.<\/p>\n<p>F\u00f6r att p\u00e5 n\u00e5got s\u00e4tt f\u00e5 ut n\u00e5got \"resultat\" fr\u00e5n implementeringen av Pinba \u00e4r det v\u00e4ldigt \u00f6nskv\u00e4rt att se m\u00e4tv\u00e4rden inte bara f\u00f6r de senaste minuterna, utan ocks\u00e5 \u00f6ver en l\u00e4ngre tidsperiod (fr\u00e5n dagar till m\u00e5nader).<\/p>\n<p>F\u00f6r detta beh\u00f6ver man:<\/p>\n<ul>\n<li>installera en extension f\u00f6r PHP (och kanske vill du ha en modul f\u00f6r Nginx)<\/li>\n<li>kompilera en extension f\u00f6r MySQL<\/li>\n<li>installera Pinboard och konfigurera cron<\/li>\n<\/ul>\n<p>\nP\u00e5 grund av den begr\u00e4nsade informationen om Pinba har m\u00e5nga f\u00e5tt intrycket att den endast fungerade p\u00e5 PHP5 och l\u00e4nge har varit pass\u00e9, men som vi kommer att se senare - s\u00e5 \u00e4r det inte.<\/p>\n<p>F\u00f6rsta steget \u00e4r det enklaste, bara att k\u00f6ra kommandot:<\/p>\n<pre><code class=\"bash\">apt install php-pinba<\/code><\/pre>\n<p>\nI repositoryn finns denna extension fram till och med PHP 7.3, och du beh\u00f6ver inte kompilera n\u00e5got.<\/p>\n<p>Efter att ha k\u00f6rt installationskommandot f\u00e5r vi genast en fungerande extension som samlar och skickar m\u00e4tv\u00e4rden f\u00f6r varje skript (k\u00f6rtid, minne, osv.) i formatet <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Protocol_Buffers\">protobuf<\/a><\/noindex> via UDP p\u00e5 127.0.0.1:30002.<\/p>\n<p>Dessa UDP-paket f\u00e5ngas f\u00f6r n\u00e4rvarande inte av n\u00e5gon och bearbetas inte, men detta p\u00e5verkar inte hastigheten eller stabiliteten f\u00f6r dina PHP-skript.<\/p>\n<p>Tills nyligen fanns det endast en applikation som kunde f\u00e5nga och bearbeta dessa UDP-paket, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/tony2001\/pinba_engine\">Pinba Engine<\/a><\/noindex>. Beskrivning &#171;<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/tony2001\/pinba_engine\/wiki\/Installation\">enkel och kortfattad<\/a><\/noindex>&#187; installationer f\u00e5r en att aldrig vilja l\u00e4sa eller s\u00e4tta sig in i detta igen. I de kilometersl\u00e5nga listorna av beroenden finns b\u00e5de paketnamn och programnamn samt l\u00e4nkar till separata sidor f\u00f6r deras installation, och de har sina egna l\u00e4nkar till andra beroenden. Ingen har varken tid eller lust att s\u00e4tta sig in i detta kr\u00e5ngel.<\/p>\n<p>Installationsprocess <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/badoo\/pinba2\">pinba2<\/a><\/noindex> blev inte <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/badoo\/pinba2\/blob\/master\/docs\/index.md#installation\">s\u00e4rskilt enklare<\/a><\/noindex>.<\/p>\n<p>Kanske kommer pinba10 n\u00e5gon g\u00e5ng kunna installeras med ett par kommandon utan att beh\u00f6va l\u00e4sa en massa material f\u00f6r att f\u00f6rst\u00e5 hur man g\u00f6r, men s\u00e5 \u00e4r det inte \u00e4n.<\/p>\n<p>Om du \u00e4nd\u00e5 har installerat pinba_engine, s\u00e5 \u00e4r det bara h\u00e4lften av jobbet. F\u00f6r utan <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/intaro\/pinboard\">pinboard<\/a><\/noindex> m\u00e5ste du n\u00f6ja dig med data som bara str\u00e4cker sig n\u00e5gra minuter tillbaka eller samla, spara och visualisera data sj\u00e4lv. Tur att pinboard \u00e4r ganska enkel att <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/intaro\/pinboard\/wiki\/Installation\">installation<\/a><\/noindex>.<\/p>\n<p>Det verkar som \u00f6verfl\u00f6digt lidande n\u00e4r alla metrikv\u00e4rden fr\u00e5n php redan skickas \u00f6ver udp-porten i protobuf-format och allt som beh\u00f6vs \u00e4r att skriva en applikation som f\u00e5ngar dem och lagrar dem i n\u00e5got f\u00f6rr\u00e5d? Tyv\u00e4rr verkar det som att de utvecklare som haft den tanken direkt satte ig\u00e5ng med att skriva sina egna l\u00f6sningar, varav en del hamnat p\u00e5 GitHub.<\/p>\n<p>H\u00e4r f\u00f6ljer en \u00f6versikt av fyra \u00f6ppen k\u00e4llkod-projekt som sparar metrikv\u00e4rden i databaser, fr\u00e5n vilka dessa data l\u00e4tt kan n\u00e5s och visualiseras, till exempel med hj\u00e4lp av grafana.<\/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 i Go som sparar metrikv\u00e4rden i OpenTSDB. Om du redan anv\u00e4nder OpenTSDB i ditt projekt, kan den h\u00e4r l\u00f6sningen passa, annars rekommenderar jag att du g\u00e5r f\u00f6rbi.<\/p>\n<h4><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/olegfedoseev\/pinba-influxdb\">olegfedoseev\/pinba-influxdb<\/a><\/noindex> (juni 2018)<\/h4>\n<p>\nudp-server i Go, fr\u00e5n samma <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/Aryoh\/\">habrauzer<\/a><\/noindex>, som denna g\u00e5ng sparar metrikv\u00e4rden i InfluxDB. M\u00e5nga projekt anv\u00e4nder redan InfluxDB f\u00f6r \u00f6vervakning, s\u00e5 f\u00f6r dem kan den h\u00e4r l\u00f6sningen passa bra.<\/p>\n<p>F\u00f6rdelar:<\/p>\n<ul>\n<li>InfluxDB <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/olegfedoseev\/pinba-influxdb#influxdb-preparation\">m\u00f6jligg\u00f6r<\/a><\/noindex> aggreggera de mottagna metrikv\u00e4rdena och radera originalet efter en viss tidsperiod.<\/li>\n<\/ul>\n<p>\nNackdelar:<\/p>\n<ul>\n<li>denna l\u00f6sning sparar inte information om timers.<\/li>\n<li>InfluxDB kommer att spara webbsidans adresser som taggar och om du har m\u00e5nga unika webbadresser, kommer det att leda till <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/449352\/#comment_20085878\">\u00f6kat minnesutnyttjande. Fr\u00e5n en viss punkt kommer det \"<\/a><\/noindex> RAM. Fr\u00e5n en viss punkt &#171;<noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/2v\/68\/th\/2v68thch8ajln7abt-ghsmsbxgs.png\">k\u00e4lla<\/a><\/noindex>&#171;. (<noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/@valyala\/insert-benchmarks-with-inch-influxdb-vs-victoriametrics-e31a41ae2893\">ClickHouse-Ninja\/Proton<\/a><\/noindex>)<\/li>\n<\/ul>\n<p><\/p>\n<h4><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ClickHouse-Ninja\/Proton\">(januari 2019)<\/a><\/noindex> (januari 2019) <\/h4>\n<p>\nEn UDP-server p\u00e5 Go som sparar m\u00e4tdata i ClickHouse. Det h\u00e4r \u00e4r en l\u00f6sning fr\u00e5n min v\u00e4n. Det var f\u00f6rst efter att jag l\u00e4rde mig om den som jag best\u00e4mde mig f\u00f6r att ta tag i Pinba och ClickHouse.<\/p>\n<p>F\u00f6rdelar:<\/p>\n<ul>\n<li>ClickHouse \u00e4r perfekt f\u00f6r s\u00e5dana uppgifter, den g\u00f6r det m\u00f6jligt att komprimera data s\u00e5 mycket att du kan lagra all r\u00e5data \u00e4ven utan aggregeringar.<\/li>\n<li>Om det beh\u00f6vs kan du enkelt aggregera de mottagna m\u00e4tdata.<\/li>\n<li>En f\u00e4rdig mall f\u00f6r Grafana.<\/li>\n<li>Sparar information enligt timers.<\/li>\n<\/ul>\n<p>\nNackdelar:<\/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\">En fatal brist.<\/a><\/noindex><\/li>\n<li>Det finns ingen konfiguration d\u00e4r du kan st\u00e4lla in databasens namn och tabeller, adressen och porten f\u00f6r servern.<\/li>\n<li>Vid lagring av r\u00e5data anv\u00e4nds en hj\u00e4lptabell f\u00f6r att lagra adresser till sidor och dom\u00e4ner, vilket komplicerar efterf\u00f6ljande f\u00f6rfr\u00e5gningar.<\/li>\n<li>Andra sm\u00e5saker som f\u00f6ljer av den f\u00f6rsta nackdelen.<\/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> (april 2019). <\/h4>\n<p>\nEn UDP-server p\u00e5 PHP som sparar m\u00e4tdata i ClickHouse. Det h\u00e4r \u00e4r min l\u00f6sning, resultatet av att jag bekantade mig med Pinba, ClickHouse och Protobuf. Medan jag sorterade ut hela den h\u00e4r kopplingen skrev jag en \"proof of concept\", som ov\u00e4ntat f\u00f6r mig inte kr\u00e4vde betydande resurser (30 MB RAM och mindre \u00e4n 1% av en av \u00e5tta processork\u00e4rnor), s\u00e5 jag best\u00e4mde mig f\u00f6r att dela med mig till allm\u00e4nheten.<\/p>\n<p>F\u00f6rdelar \u2014 samma som med den f\u00f6reg\u00e5ende l\u00f6sningen, och jag anv\u00e4nde \u00e4ven de vanliga namnen fr\u00e5n den ursprungliga pinba_engine. Dessutom lade jag till en konfiguration som g\u00f6r att du kan starta flera instanser av Pinba-servern samtidigt f\u00f6r att spara m\u00e4tdata i olika tabeller \u2014 detta \u00e4r anv\u00e4ndbart om du vill samla in data inte bara fr\u00e5n PHP utan \u00e4ven fr\u00e5n Nginx.<br \/>\nNackdelar \u2014 \"fatal brist\" och de sm\u00e5saker som kanske inte passar just dig, men min l\u00f6sning \u00e4r \"enkel som en toffel\" och best\u00e5r av ungef\u00e4r 100 rader kod, s\u00e5 alla PHP-utvecklare kan p\u00e5 ett par minuter \u00e4ndra det som de inte gillar.<\/p>\n<p><b>Arbetsprincip.<\/b><\/p>\n<p>UDP-port 30002 lyssnas p\u00e5. Alla inkommande paket avkodas enligt Protobuf-schemat och aggregeras. En g\u00e5ng i minuten g\u00f6rs en ins\u00e4ttning av en bunt i ClickHouse i tabellen pinba.requests. (alla parametrar kan konfigureras i <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/pinba-server\/pinba-server\/blob\/master\/config.json\">konfigurationen.<\/a><\/noindex>)<\/p>\n<p><b>Lite om ClickHouse.<\/b><\/p>\n<p>ClickHouse st\u00f6der olika datalagringsmotorer. Den vanligaste \u00e4r MergeTree. <\/p>\n<p>Om du best\u00e4mmer dig f\u00f6r att lagra aggregerade data f\u00f6r alltid och r\u00e5data endast f\u00f6r den senaste tiden, kan du skapa en materialiserad vy med gruppering, och periodiskt rensa huvudtabellen pinba.requests, medan alla data f\u00f6rblir i den materialiserade vyn. Dessutom, n\u00e4r du skapar tabellen pinba.requests kan du ange \"engine = Null\", s\u00e5 sparas r\u00e5data inte p\u00e5 disk, men de kommer fortfarande att g\u00e5 in i den materialiserade vyn och sparas aggregerade. Jag anv\u00e4nder ett s\u00e5dant schema f\u00f6r nginx-metrik, eftersom jag har 50 g\u00e5nger fler beg\u00e4rningar p\u00e5 nginx \u00e4n p\u00e5 php.<\/p>\n<p>S\u00e5, ni har kommit en l\u00e5ng v\u00e4g och jag vill inte l\u00e4mna er halvv\u00e4gs, s\u00e5 h\u00e4r kommer en detaljerad beskrivning av installationen och konfigurationen av min l\u00f6sning och allt ni beh\u00f6ver, samt de fallgropar som m\u00e5nga har st\u00f6tt p\u00e5. Hela installationsprocessen \u00e4r beskriven f\u00f6r Ubuntu 18.04 LTS och Centos 7, p\u00e5 andra distributioner och versioner kan processen variera n\u00e5got.<\/p>\n<h4>Installation<\/h4>\n<p>\nAlla n\u00f6dv\u00e4ndiga kommandon har jag samlat i <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/pinba-server\/pinba-server\/tree\/master\/docker\">Dockerfile<\/a><\/noindex> f\u00f6r att underl\u00e4tta reproducerbarheten av instruktionerna. Nedan beskrivs endast fallgroparna.<\/p>\n<p><b>php-pinba<\/b><\/p>\n<p>Efter installationen, se till att alla alternativ \u00e4r avkommenterade i filen \/etc\/php\/7.2\/fpm\/conf.d\/20-pinba.ini. I vissa distributioner (till exempel centos) kan de vara kommenterade.<\/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>Under installationen kommer clickhouse att be dig att ange ett l\u00f6senord f\u00f6r anv\u00e4ndaren default. Som standard \u00e4r denna anv\u00e4ndare tillg\u00e4nglig fr\u00e5n alla ip-adresser, s\u00e5 om du inte har en brandv\u00e4gg p\u00e5 servern, se till att st\u00e4lla in ett l\u00f6senord f\u00f6r honom. Detta kan ocks\u00e5 g\u00f6ras efter installationen i filen \/etc\/clickhouse-server\/users.xml.<\/p>\n<p>Det \u00e4r ocks\u00e5 v\u00e4rt att notera att clickhouse anv\u00e4nder flera portar, inklusive 9000. Denna port anv\u00e4nds ocks\u00e5 f\u00f6r php-fpm i vissa distributioner (till exempel centos). Om denna port redan anv\u00e4nds kan du \u00e4ndra den i filen \/etc\/clickhouse-server\/config.xml.<\/p>\n<p><b>grafana med plugin f\u00f6r clickhouse<\/b><\/p>\n<p>Efter installationen av grafana, anv\u00e4nd inloggningen admin och l\u00f6senordet admin. Vid f\u00f6rsta inloggningen kommer grafana att be dig st\u00e4lla in ett nytt l\u00f6senord.<\/p>\n<p>Vi g\u00e5r vidare till menyn &#171;+&#187; -&gt; import och anger nummer p\u00e5 instrumentpanelen f\u00f6r import <noindex><a rel=\"nofollow\" href=\"https:\/\/grafana.com\/dashboards\/10011\">10011<\/a><\/noindex>. Denna instrumentpanel har jag f\u00f6rberett och laddat upp s\u00e5 att ni inte beh\u00f6ver g\u00f6ra den sj\u00e4lva igen.<\/p>\n<p>Grafana st\u00f6djer arbete med ClickHouse genom en tredjepartsplugin, men f\u00f6r tredjepartsplugins fungerar inte larm (biljetten har legat \u00f6ppen i flera \u00e5r).<\/p>\n<p><b>pinba-server<\/b><\/p>\n<p>Installation av protobuf och libevent \u00e4r inte obligatorisk, men f\u00f6rb\u00e4ttrar prestanda f\u00f6r pinba-server. Om du installerar pinba-server i en annan mapp \u00e4n \/opt, m\u00e5ste du ocks\u00e5 justera <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/pinba-server\/pinba-server\/blob\/master\/systemd\/pinba-server.service\">systemd-skript<\/a><\/noindex> filen.<\/p>\n<p><b>pinba-modul f\u00f6r nginx<\/b><\/p>\n<p>F\u00f6r att kompilera modulen beh\u00f6vs k\u00e4llkoden i samma version av nginx som redan \u00e4r installerad p\u00e5 din server, samt samma kompilationsalternativ, annars kommer sammanst\u00e4llningen att lyckas men modulens anslutning resultera i ett felmeddelande om att \"modulen \u00e4r bin\u00e4rt inkompatibel\". Kompilationsalternativen kan ses med kommandot nginx -V.<\/p>\n<p><b>Livsstips<\/b><\/p>\n<p>Jag har alla mina webbplatser som arbetar endast via https. F\u00e4ltet schema blir meningsl\u00f6st, s\u00e5 jag anv\u00e4nder det f\u00f6r att separera web\/console.<\/p>\n<p>I de skript som \u00e4r tillg\u00e4ngliga fr\u00e5n webben anv\u00e4nder jag:<\/p>\n<pre><code class=\"php\">if (ini_get('pinba.enabled')) {\n    pinba_schema_set('web');\n}\n<\/code><\/pre>\n<p>\nOch i konsolskrift (t.ex. cron-skript):<\/p>\n<pre><code class=\"php\">if (ini_get('pinba.enabled')) {\n    pinba_schema_set('console');\n}<\/code><\/pre>\n<p>\nI min dashboard i Grafana finns det en omkopplare f\u00f6r web\/console f\u00f6r att se statistik separat.<\/p>\n<p>Du kan ocks\u00e5 skicka dina egna taggar i Pinba, till exempel:<\/p>\n<pre><code class=\"php\">pinba_tag_set('country', $countryCode);<\/code><\/pre>\n<p>\n<b>Detta \u00e4r allt. <\/b><\/p>\n<p>Jag ber v\u00e4nligen att svara p\u00e5 enk\u00e4terna under artikeln.<\/p>\n<p>Jag varnar traditionellt f\u00f6r att jag inte ger konsultationer och inte hj\u00e4lper via privata meddelanden p\u00e5 Habr\u00e9 eller sociala n\u00e4tverk.<\/p>\n<p>\u00d6ppna en biljett p\u00e5 GitHub.<\/p>\n<p>Jag ber ocks\u00e5 att st\u00f6dja med gilla-markeringar <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/en\/post\/449818\/\">den engelska versionen<\/a><\/noindex> denna artikel <noindex><a rel=\"nofollow\" href=\"https:\/\/www.reddit.com\/r\/PHP\/comments\/bigszu\/statistics_and_monitoring_of_php_scripts_in_real\/\">p\u00e5 Reddit<\/a><\/noindex>.<\/p>\n<p class=\"for_users_only_msg\">Endast registrerade anv\u00e4ndare kan delta i omr\u00f6stningen. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/auth\/login\/\">Logga in<\/a><\/noindex>, tack.<\/p>\n<h2 class=\"default-block__polling-title\">Vilket operativsystem anv\u00e4nder du p\u00e5 servern?<\/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>                    annat<\/p>\n<\/li>\n<\/ul>\n<p>    114 anv\u00e4ndare r\u00f6stat. 11 anv\u00e4ndare avstod.<\/p>\n<h2 class=\"default-block__polling-title\">Vilken version av PHP anv\u00e4nder du p\u00e5 servern?<\/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>                    annat<\/p>\n<\/li>\n<\/ul>\n<p>    105 anv\u00e4ndare r\u00f6stat. 17 anv\u00e4ndare avstod.<\/p>\n<h2 class=\"default-block__polling-title\">Har du n\u00e5gonsin anv\u00e4nt Pinba?<\/h2>\n<ul class=\"content-list content-list_polling\">\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    ja<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    nej, men jag skulle vilja<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    nej och jag skulle inte vilja<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    nej och jag har inte h\u00f6rt talas om det<\/p>\n<\/li>\n<\/ul>\n<p>    100 anv\u00e4ndare r\u00f6stat. 14 anv\u00e4ndare avstod.<\/p>\n<h2 class=\"default-block__polling-title\">Vilken version av Pinba-server skulle du vilja testa?<\/h2>\n<ul class=\"content-list content-list_polling\">\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    pinba_engine (mysql-motor)<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    pinba2 (mysql-motor)<\/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>                    jag skriver min egen<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    annat<\/p>\n<\/li>\n<\/ul>\n<p>    39 anv\u00e4ndare r\u00f6stat. 47 anv\u00e4ndare avstod.<br \/>\n<br \/>K\u00e4lla: <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.4 - 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\/sv\/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.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\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\/sv\/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\udd47Statistik och \u00f6vervakning av PHP-skript i realtid. ClickHouse och Grafana hj\u00e4lper Pinba | ProHoster","description":"I den h\u00e4r artikeln kommer jag att ber\u00e4tta hur man anv\u00e4nder pinba tillsammans med clickhouse och grafana ist\u00e4llet f\u00f6r pinba_engine och pinboard. P\u00e5 php-projekt \u00e4r pinba kanske det enda p\u00e5litliga s\u00e4ttet att f\u00f6rst\u00e5 vad som h\u00e4nder.","canonical_url":"https:\/\/prohoster.info\/sv\/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":"sv_SE","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\/sv\/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\/sv\/wp-json\/wp\/v2\/posts\/32681","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=32681"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/32681\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media\/24468"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=32681"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=32681"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=32681"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}