á€áá±á¬ááºážáá«ážááœáẠpinba_engine ááŸáá·áº pinboard á¡á á¬áž clickhouse ááŸáá·áº grafana ááŒáá·áº pinba ááᯠáááºááá¯á·á¡áá¯á¶ážááŒá¯ááááºááᯠááŒá±á¬ááŒáá«áááºá
PHP ááá±á¬áá»ááºáá áºáá¯ááœááºá pinba ááẠá áœááºážáá±á¬ááºáááºááŸáá·áºááŒá áºáá»ááºáá±áááºáá»á¬ážááᯠáá¬ážáááºááẠáá áºáá¯áááºážáá±á¬áá¯á¶ááŒááºá áááºáá»ááá±á¬áááºážáááºážááŒá áºááá¯ááºáááºá ááŸááºáá«áááºá ááŒá¿áá¬áá»á¬ážááᯠááœá±á·ááŸáááŒá®ážááŸáᬠpinba ááᯠáá»á¬ážáá±á¬á¡á¬ážááŒáá·áº á¡áá±á¬ááºá¡áááºáá±á¬áºáá±á·ááŸáááŒá®áž âáá°ážáááá·áºáá±áá¬â ááŸá¬ áááŸááºážáááºážáá«á
ဠááá¯á·ááá¯áẠááá¯áá¬ááºááœáŸááºážááᯠáá áºá áá¹ááá·áºáá»áŸáẠá¡ááŒáááºáááºáá»áŸ á¡ááŒáááºá¡áá±á¡ááœááºáá»áŸ áááááá¯ááºáá² áááºážááá¯á·ááẠááá¯ááá¯áá¯áá¹ááááŸááá¯á¶ááá±á¬ áá±áá¬áá»á¬ážá០á áááºáᬠ"ááááŒááºáž" ááᯠá¡áá±á¬ááºážáá¯á¶ážááŒá áºá¡á±á¬áẠá áááºáá¯ááºáá±á¬ááºááŒáááºá
á¡áá»áá¯á·á nginx ááŸááºáááºážáá»á¬ážááᯠááœá²ááŒááºážá áááºááŒá¬ááŒá®áž á¡áá»áá¯á·á ááŸá±ážááœá±ážáá±á¬ database queries áá»á¬ážááᯠááœá²ááŒááºážá áááºááŒá¬ááŒáááºá
áá¯ááºáá«áááºá pinba áᬠáááá¯á¡ááºáá«áá°ážá áá«áá±ááá·áº ááá±á¬áá»ááºááá¯ááºážááŸá¬ áááŸáááá²á· á¡ááŒá±á¬ááºážáááºážáá»á¬ážá áœá¬ááŸááá«áááºá
ááŒá®ážáá±á¬á· áááá¡ááŒá±á¬ááºážáááºážá áááºáááºááŸá¯áá«á
Pinba áá¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯á០"áá¯ááºáááºáž" á¡áá»áá¯ážá¡á á¬ážá¡áá»áá¯á·ááᯠá¡áááºážá¡áá»á¬ážáá á±áááºá¡ááœááºá áá±á¬ááºáá¯á¶ážáááá áºáá»á¬ážá¡ááœááºáá¬áá á¡áá»áááºááŒá¬ááŒáá·áºá áœá¬ (áááºáá»á¬ážááŸááá»á¬ážá¡áá) ááá¯ááºážáá¬ááŸá¯áá»á¬ážááᯠááŒáá·áºááŸá¯ááẠá¡ááœááºááŸá áºááá¯ááœááºáá±á¬ááºážáá«áááºá
: áá®ááá¯áá¯ááºááá¯á·
- php á¡ááœáẠextension ááᯠinstall áá¯ááºáá« (ááẠnginx á¡ááœáẠmodule áá áºáá¯ááá¯áá»ááºááá¯ááºáááº)
- mysql á¡ááœáẠextension ááᯠcompile áá¯ááºáá«á
- pinboard ááᯠinstall áá¯ááºááŒá®áž cron ááᯠconfigure áá¯ááºáá«á
Pinba ááŸáá·áºáááºáááºáá±á¬ á¡áá»ááºá¡áááºá¡áááºážáááºáá»áŸáá¬ááŒá±á¬áá·áºá áááºážááẠPHP5 ááœááºáá¬á¡áá¯ááºáá¯ááºááŒá®áž ááŸá±ážááááºáááŒá áºáá²á·ááá·áºá¡áá¬áᯠáá°á¡áá»á¬ážá áááºááŒááºáá°ááá²á·ááŒáá±á¬áºáááºáž áá±á¬ááºááá¯ááºážááœáẠáá»áœááºá¯ááºááá¯á·ááŒááºááœá±á·áááá·áºá¡ááá¯ááºáž áááºážááŸá¬ ááá¯ááá¯á·ááá¯ááºáá«á
áááá¡ááá·áºá á¡ááá¯ážááŸááºážáá¯á¶ážááŒá áºááŒá®áž áááºáá¯ááºáááŸá¬á command ááᯠrun ááá¯ááºáá«á
apt install php-pinba
ဠextension ááᯠphp 7.3 á¡ááááŸáá·áº á¡áá«á¡ááẠrepositories ááœáẠáááá¯ááºááŒá®áž áááºááá·áºá¡áá¬ááá¯áá»áŸ á á¯á ááºážááẠáááá¯á¡ááºáá«á
áááºáááºááŸá¯á¡áááá·áºááᯠáá¯ááºáá±á¬ááºááŒá®ážáá±á¬ááºá áá»áœááºá¯ááºááá¯á·ááẠáá±á¬áºáááºáá
áºáá¯á
á®á¡ááœáẠáááºááá
áºáá»á¬ážááᯠá
á¯áá±á¬ááºážááŒá®áž áá±ážááá¯á·ááá·áº á¡áá¯ááºáá¯ááºááá·áº ááá¯ážáá»á²á·ááŸá¯áá
áºáá¯ááᯠáá»ááºáá»ááºážáááŸááá«áááºá
ááá¯á¡áá»áááºá¡áá áááºáá°áá»áŸ ဠUDP áááºáá±á·ááºá»áá»á¬ážááᯠáááºážááááŒááºáž ááá¯á·ááá¯áẠáá¯ááºáá±á¬ááºááŒááºážáááŸááá±ážáá±á¬áºáááºážá áááºážááẠáááºá PHP script áá»á¬ážá ááŒááºááŸá¯ááºáž ááá¯á·ááá¯áẠáááºááŒáááºááŸá¯ááᯠáááºááá¯á·áá»áŸ á¡áá»ááºááá±á¬áá±á¬ááºááá·áº áááºáá±á¬ááºááŸá¯áááŸááá«á
áááŒá¬áá±ážáá®á¡ááá ဠUDP áááºáá±á·ááºá»áá»á¬ážááᯠáááºážáá¯ááºááŒá®áž áá¯ááºáá±á¬ááºááá¯ááºááá·áº áá
áºáá¯áááºážáá±á¬ á¡ááá®áá±ážááŸááºážááŒá
áºáááºá
installation áá¯ááºáááºážá
ááºááá¯
áá áºáá±á·áá±á·ááœáẠpinba10 ááᯠcommand áá áºáᯠááá¯á·ááá¯áẠááŸá áºáá¯ááŒáá·áº ááá·áºááœááºážááá¯ááºááŒá®áž áááºážááá¯áááºááá¯á·áá¯ááºáá±á¬ááºááááºááᯠáá¬ážáááºááẠá¡ááŒá±á¬ááºážá¡áá¬áá»á¬ážá áœá¬ááᯠáááºáááºáááá¯á¡ááºáá² ááá¯á¡áá»áááºááœáẠááá¯ááá¯á·áááŒá áºááá¯ááºáá±ážáá«á
ááẠpinba_engine ááᯠinstall áá¯ááºáá«áá áááºážááẠááá¯ááºááœá²áá
áºáááºáá¬ááŒá
áºáááºá ááŒá®ážáá±á¬ááºááŸáááá»áŸááá¯á·, ááá«áá²
php á០áááºááá áºáá»á¬ážá¡á¬ážáá¯á¶ážááᯠprotobuf áá±á¬áºáááºááŒáá·áº udp port ááá¯á· áá±ážááá¯á·áá¬ážááŒá®ážááŒá áºááŒá®áž áááºááá¯á¡ááºááá»áŸááŸá¬ áááºážááá¯á·ááá¯áááºážáá°á ááá¯ááŸá±á¬ááºááŸá¯á¡áá»áá¯á·ááœáẠááá·áºááœááºážááẠá¡ááºááá®áá±ážááŸááºážáá áºáá¯áá±ážáááºááŸá¬ á¡áááºááŒá±á¬áá·áº ááá¯ááá¯á·áá±á¬áá¯áá¹ááá¶á á¬ážáááááºážá áááºááŸá¬ážáááºááŸá¬á á€á¡ááŒá¶áá¬ááºááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáá±á¬ developer áá»á¬ážááẠGitHub ááœáẠááŒá®ážáá¯á¶ážááœá¬ážááá·áº áááºážááá¯á·áááá¯ááºááá¯ááºá áááºáá°ážáá»á¬ážááᯠáá±ážááẠáá»ááºáá»ááºážááá¯ááºáá±áá¯á¶ááááºá
á¡á±á¬ááºáá±á¬áºááŒáá«ááẠáá±áá¬ááááºážáááºážááŸá¯ááœáẠáááºááá áºáá»á¬ážááᯠááááºážáááºážáá±ážááá·áº ááœáá·áºáááºážá¡áááºážá¡ááŒá Ạááá±á¬áá»ááºáá±ážáá¯á ááŒá¯á¶áá¯á¶áá¯á¶ážáááºáá»ááºááŒá áºááŒá®ážá á¥ááá¬á á¥ááá¬á¡á¬ážááŒáá·áºá á€áá±áá¬ááᯠá¡ááœááºááá° ááŒááºáááºáá¯ááºáá°ááá¯ááºááŒá®áž ááŒááºáá¬áááºáá¬ááŒááºáá¬ááá¯ááºá á±ááá·áº á¥ááá¬á grafana ááᯠá¡áá¯á¶ážááŒá¯áá¬ážáááºá
olegfedoseev/pinba-áá¬áᬠááá¯áááºáá¬á (áááá)á
OpenTSDB ááœáẠáááºááá áºáá»á¬ážááᯠááááºážáááºážáá±ážáá±á¬ udp áá¬áá¬á á¡áááºá áááºááẠááá·áºááá±á¬áá»ááºááœáẠOpenTSDB ááᯠá¡áá¯á¶ážááŒá¯áá±ááŒá®ááá¯áá»áŸááºá á€ááŒá±ááŸááºážáá»ááºááẠááá·áºá¡ááœáẠááá¯ááºáá®áááá·áºáááºá ááá¯ááºáá«á áááºážááᯠáá»á±á¬áºááŒááºááẠá¡ááŒá¶ááŒá¯ááá¯áá«áááºá
olegfedoseev/pinba-influxdb (ááœáẠáááá)á
udp server on go, á¡áá°áá°áá«áá²á
á¡ááŒá áºááœá±:
- InfluxDB
áá«áá¬ááœááºá·ááŒá¯ áááŸááá¬áá±á¬ áááºááá áºáá»á¬ážááᯠá á¯á ááºážááŒá®áž áááºááŸááºáá¬ážáá±á¬ á¡áá»áááºáá áºáá¯ááŒá®ážáá±á¬áẠáá°áááºážááᯠáá»ááºáá«á
cons:
- á€ááŒá±ááŸááºážáá»ááºááẠááá¯ááºáá¬áá»á¬ážáá±á«áºááœáẠá¡áá»ááºá¡áááºáá»á¬ážááᯠáááááºážáááºážáá«á
- InfluxDB ááẠáááºááá¯ááºá
á¬áá»ááºááŸá¬ááááºá
á¬áá»á¬ážááᯠáááºáá»á¬ážá¡ááŒá
ẠááááºážáááºážáááºááŒá
áºááŒá®áž ááá·áºááœáẠáá°ážááŒá¬ážáá±á¬á
á¬áá»ááºááŸá¬ááááºá
á¬áá»á¬ážá
áœá¬ááŸááá«áá áááºážááẠááŒá
áºáá±á«áºáá¬áááºááŒá
áºáááºá
ááá¯ážááŒáŸáá·áºáá¯á¶ážá áœá²ááŸá¯ áá»áááºážáááºáá±á¬ááºááŸá¯ááŸááºáá¬ááºá á¡áá»áááºáááá±ážááá± "ááŸááºáá¬ááºááᯠáá°ážááœááºá áœá¬ á á¬ážáá¯á¶ážáá±á¬á·áááºá «á (á¡áááºážá¡ááŒá Ạ)
ClickHouse-Ninja/Proton (áááºááá«áá® 2019)
ClickHouse ááœáẠáááºááá áºáá»á¬ážááᯠááááºážáááºážáá±ážáá±á¬ udp áá¬áá¬á áá«á áá»áœááºáá±á¬á·áºáá°áááºáá»ááºážáá²á· á¡ááŒá±áá«á Pinbu áá²á· Clickhouse ááá¯á·ááᯠáááºážááŸá®ážááá¯á· á¡áá»áááºáááºááŒá®ááá¯á· áá¯á¶ážááŒááºááá¯ááºáá¬áá«á
á¡ááŒá áºááœá±:
- Clickhouse ááẠááá¯ááá¯á·áá±á¬áá¯ááºáááºážáá±á¬ááºáá¬áá»á¬ážá¡ááœáẠá á¶ááŒááŒá áºáááºá áááºážááẠááá·áºá¡á¬áž áá±áá¬áá¯ááºááŒááºážá¡á¬ážáá¯á¶ážááᯠá á¯á ááºážááŸá¯áááŸááá² ááááºážáááºážáá¬ážááá¯ááºáá±á¬ááºá¡á±á¬áẠáá±áá¬ááᯠáá»á¯á¶á·ááá¯ááºá á±áá«áááºá
- ááá¯á¡ááºáá«áá áááŸááá¬áá±á¬ áááºááá áºáá»á¬ážááᯠá¡ááœááºááá° á á¯á ááºážááá¯ááºáá«áááºá
- Grafana á¡ááœááºá¡áááºááá·áºáá¯ááºáá¬ážáá±á¬áá¯á¶á á¶
- ááá¯ááºáá¬áá»á¬ážáá±á«áºááœáẠá¡áá»ááºá¡áááºáá»á¬ážááᯠááááºážáááºážáááºá
cons:
ááŒááºážáááºáá±á¬áá»áá¯á·ááœááºážáá»áẠ- áá±áá¬áá±á·á áºááŸáá·áº ááá¬ážáá»á¬ážá á¡áááºá áá¬áá¬á ááááºá á¬ááŸáá·áº ááááºáááºážááᯠááẠconfigure áá¯ááºááá¯ááºááá·áº config áááŸááá«á
- áá±áá¬á¡ááŒááºážááᯠááááºážáááºážááá·áºá¡áá«á áá±á¬ááºáááºááœá²áá±ážááœááºážáá»á¬ážááᯠááŸá¯ááºááœá±ážá á±ááá·áº á á¬áá»ááºááŸá¬ááŸáá·áº ááá¯ááááºážááááºá á¬áá»á¬ážááᯠááááºážáááºážáááºá¡ááœáẠá¡áááºá¡áááá¬ááºááá¬ážááᯠá¡áá¯á¶ážááŒá¯áá«áááºá
- áááá¡ááŸá¯ááºá០áá±á¬ááºáááºááœá²ááŒá áºáá±á¬ á¡ááŒá¬ážá¡áá¬áá»á¬áž
pinba-áá¬áá¬/pinba-áá¬áᬠ(áááá áá¯ááŸá
Ạá§ááŒá®á)
ClickHouse ááœáẠáááºááá áºáá»á¬ážááᯠááááºážáááºážááá·áº php ááŸá udp áá¬áá¬á á€áááºááŸá¬ pinbaá ClickHouse ááŸáá·áº protobuf ááᯠáááá¬áááŒááºážá ááááºááŒá áºáááºá áá»áœááºáá±á¬áº áá®á¡á á¯á¡áá±ážáá áºáá¯áá¯á¶ážááᯠááœá²áá¯ááºáá±á ááºá áá»áœááºáá±á¬á·áºá¡ááœáẠááááºááŸááºáá² áááááá¬áᬠá¡áááºážá¡ááŒá áºááœá±ááᯠá¡áá¯á¶ážáááŒá¯áá²á·áá°áž (30 MB RAM áá²á· áááá¯áááºáᬠcore ááŸá áºáá¯áá²á 1% áááºáááºážáá«áááº)á áá«ááŒá±á¬áá·áº áá»áœááºáá±á¬áº á¡áá»á¬ážáá°ááŸá¬áá»áŸáá±áááºáá¯á¶ážááŒááºáá²á·áááºá
á¡á¬ážáá¬áá»ááºáá»á¬ážááẠááááºááŒá±ááŸááºážáá»ááºáá»á¬ážááŸáá·áº á¡áá°áá°áááºááŒá
áºááŒá®áž áá°áááºáž pinba_engine á០áá¯á¶ááŸááºá¡áááºáá»á¬ážááá¯áááºáž áá¯á¶ážáá«áááºá ááá°áá®áá±á¬ááá¬ážáá»á¬ážááœáẠmetrics áá»á¬ážááá¯ááááºážáááºážáááºá¡ááœáẠpinbase server instances á¡áá»á¬ážá¡ááŒá¬ážááá¯áá
áºááŒáá¯ááºáááºáááºážááœáá·áºááœáá·áºááŒá¯ááá·áº config áá
áºáá¯ááá¯áááºážááá·áºááœááºážáá¬ážááẠ- áááºááẠphp ááŸáá¬áá nginx ááŸáá±áá¬áá»á¬ážááá¯á
á¯áá±á¬ááºážááá¯áá«ááááºážáááºá¡áá¯á¶ážáááºáááºá
á¡á¬ážáááºážáá»ááºáá»á¬áž - "ááŒááºážáááºáá±á¬áá»áá¯á·ááœááºážáá»ááº" ááŸáá·áº ááá·áºááá¯ááºáá±ážááá¯ááºáá¬ááŸáá·áºáááá¯ááºáá®ááá·áºá¡áá¬áá±ážáá±ážáá±ážááŒá
áºáá±á¬áºáááºáž áá»áœááºá¯ááºáááŒá±ááŸááºážáá»ááºááŸá¬ "áááááºáá
áºáá¶áá²á·ááá¯á·ááá¯ážááŸááºáž" ááŒá®áž áá¯ááºá
á¬ááŒá±á¬ááºáž 100 ááá·áºáá¬áá«áááºáá±á¬ááŒá±á¬áá·áº PHP developer ááá¯ááºážááẠáá°áááŒáá¯ááºáá±á¬á¡áá¬ááᯠááŒá±á¬ááºážáá²ááá¯ááºáááºá áááá
áºá¡áááºážáááºá¡ááœááºáž
áááºááá¯á¡áá¯ááºáá¯ááºáááº
UDP port 30002 ááᯠáá¬ážáá±á¬ááºáááºá á¡áááºáááºáááºá¡á¬ážáá¯á¶ážááᯠprotobuf á¡á
á®á¡á
ááºá¡á áá¯ááºáá¶áá«ááºááŒáá·áº á
á¯á
ááºážáá¬ážáááºá áá
áºáááá
áºáá
áºááŒáááºá áááºáá±á·ááºá»áá
áºáá¯ááᯠpinba.requests ááá¬ážááœáẠclickhouse áá²ááá¯á· ááá·áºááœááºážáááºá (áááºááŸááºáá»ááºá¡á¬ážáá¯á¶ážááᯠááá·áºáááºáá»ááºáá²ááœáẠááá·áºááœááºážáá¬ážáááºá
clickhouse á¡ááŒá±á¬ááºážá¡áááºážáááº
Clickhouse ááẠááá°áá®áá±á¬ áá±áá¬ááá¯ááŸá±á¬ááºááŸá¯á¡ááºáá»ááºáá»á¬ážááᯠáá¶á·ááá¯ážáá±ážáááºá á¡áá¯á¶ážá¡áá»á¬ážáá¯á¶ážááá±á¬á· MergeTree ááŒá áºáá«áááºá
á¡áááºá áááºááẠáá áºáá»áááºáá»áááºááœáẠá á¯á ááºážáá¬ážáá±á¬ áá±áá¬ááᯠáá áºáá»áááºáá¯á¶áž ááááºážáááºážáááºááŸáá·áº áá±á¬ááºáá¯á¶ážáá áºáá¯á¡ááœááºáᬠáá±áá¬á¡ááŒááºážááᯠááááºážáááºážááẠáá¯á¶ážááŒááºáá«áá á¡á¯ááºá á¯ááœá²á·ááŒááºážááŒáá·áº áá¯ááºáá¯á¶ážáá±á«áºáá¬á¡á±á¬áẠáááºáá®ážááá¯ááºááŒá®áž áá±áá¬á¡á¬ážáá¯á¶ážááẠáááºá pinba.requests ááá¬ážááœáẠá¡áá»áááºááŸáá·áºá¡áá»áŸ ááá·áºááŸááºážáá±áááºááŒá áºááŒá®ážá áá¯ááºááœááºá¡ááŒááºá ááá¯á·á¡ááŒááºá pinba.requests ááá¬ážááá¯áááºáá®ážáá±á¬á¡áá«á áááºááẠ"á¡ááºáá»áẠ= Null" áá¯áááºááŸááºááá¯ááºáááºá ááá¯á·áá±á¬ááºáá±áá¬áá¯ááºááŒááºážáá»á¬ážááᯠdisk ááœááºáá¯á¶ážáááááºážáááºážáááºááá¯ááºáá«á áá áºáá»áááºáááºážááœááºáááºážáááºáá¯ááºáá¯á¶ážáá±á«áºáá¬áá±á¬ááŒááºááœááºážááœááºá¡áá¯á¶ážáááºááŒá®ážáá±á«ááºážá ááºážááááºážáááºážáááºááŒá áºáááºá . nginx ááœáẠáá»áœááºá¯ááºááẠphp ááẠá¡á 50 ááá¯ááá¯áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááŸááá±á¬ááŒá±á¬áá·áº nginx ááá¯ááºážáá¬ááŸá¯áá»á¬ážá¡ááœáẠá€á¡á á®á¡á á¥áºááᯠá¡áá¯á¶ážááŒá¯áá«áááºá
áá«ááŒá±á¬áá·áº áááºážááá®ážáá±ážááá¯áá±á¬ááºáá¬ááŒá®áž áááºážááᯠáááºážáá áºáááºááŸá¬ áá¬ážáááœá¬ážáá»ááºáá°ážá áá«ááŒá±á¬áá·áº áá«á·ááŒá±ááŸááºážáá»ááºáá²á· áááºáááºááŸá¯áá²á· ááœá²á·á ááºážááŸá¯ááá¯ááºáᬠá¡áá±ážá áááºáá±á¬áºááŒáá»ááºááœá±áá²á· áááºážááá¯á¡ááºááá»áŸá¡áá¬á¡á¬ážáá¯á¶ážá¡ááŒáẠáááºá¹áá±á¬áá áºá ááºážáááºááá¯ááŒá®áž ááŒá áºáá±á«áºáá¬áá²á· áá»áá¯á·ááœááºážáá»ááºááœá±á áá»ááºá á®ážáááºá áááºáááºááŒááºážáá¯ááºáááºážá ááºáá áºáá¯áá¯á¶ážááᯠUbuntu 18.04 LTS ááŸáá·áº Centos 7 á¡ááœáẠáá±á¬áºááŒáá¬ážááŒá®ážá áá¯ááºáááºážá ááºááẠá¡ááŒá¬ážáá±á¬ ááŒáá·áºááŒá°ážááŸá¯áá»á¬ážááŸáá·áº áá¬ážááŸááºážáá»á¬ážáá±á«áºááœáẠá¡áááºážáááºááœá²ááŒá¬ážááá¯ááºáááºá
ustanovka
áá«ááá¯á¡ááºáá²á· command ááœá±á¡á¬ážáá¯á¶ážááá¯ááá·áºáááºá
php-pinba
ááá·áºááœááºážááŒá®ážáá±á¬ááºá /etc/php/7.2/fpm/conf.d/20-pinba.ini ááá¯ááºááœáẠááœá±ážáá»ááºá áá¬á¡á¬ážáá¯á¶ážááᯠááŸááºáá»ááºááá±ážááŒá±á¬ááºáž áá±áá»á¬áá«á á±á á¡áá»áá¯á·áá±á¬ ááŒáá·áºáá±ááŸá¯áá»á¬áž (á¥ááᬠcentos) ááœáẠáááºážááá¯á·ááᯠááŸááºáá»ááºáá±ážááá¯ááºáá«áááºá
extension=pinba.so
pinba.enabled=1
pinba.server=127.0.0.1:30002
clickhouse
ááá·áºááœááºážá ááºá¡ááœááºážá clickhouse ááẠáá¯á¶áá±á¡áá¯á¶ážááŒá¯áá°á¡ááœáẠá áá¬ážááŸááºáá áºáá¯áááºááŸááºááẠááá·áºá¡á¬áž áá±á¬ááºážááá¯áááá·áºáááºá áá°áááºážá¡á¬ážááŒáá·áºá á€á¡áá¯á¶ážááŒá¯áá°ááẠIP áá»á¬ážá¡á¬ážáá¯á¶ážá០áááºáá±á¬ááºááá¯ááºáááºá ááá¯á·ááŒá±á¬áá·áº ááá·áºáá¬áá¬ááœáẠfirewall áááŸááá±ážáá«áá áááºážá¡ááœáẠá áá¬ážááŸááºááᯠáá±áá»á¬áááºááŸááºáá«á /etc/clickhouse-server/users.xml ááá¯ááºááœáẠááá·áºááœááºážááŒá®ážáá±á¬áẠáááºážááá¯áááºáž áá¯ááºáá±á¬ááºááá¯ááºáááºá
clickhouse ááẠ9000 á¡áá«á¡ááẠport á¡áá»á¬ážá¡ááŒá¬ážááᯠá¡áá¯á¶ážááŒá¯ááŒá±á¬ááºážáááºáž áááááŒá¯ááá·áºáá«áááºá ဠport ááᯠá¡áá»áá¯á·áá±á¬ ááŒáá·áºáá±ááŸá¯áá»á¬ážááœáẠphp-fpm ááœááºáááºáž á¡áá¯á¶ážááŒá¯ááẠ(á¥ááá¬á centos)á á€ááá¯á·ááºááᯠáááºá¡áá¯á¶ážááŒá¯ááŒá®ážááŒá áºáá«áá áááºááẠáááºážááᯠ/etc/clickhouse-server/config.xml ááá¯ááºááœáẠá¡ááŒá¬ážááá¯á· ááŒá±á¬ááºážááá¯ááºáááºá
clickhouse plugin ááŸáá·áºá¡áá° grafana
Grafana ááá¯ááá·áºááœááºážááŒá®ážáá±á¬ááºá áá±á¬á·ááºá¡ááºá á®áá¶ááá·áºááœá²áá°ááŸáá·áº á áá¬ážááŸááºá á®áá¶ááá·áºááœá²áá°ááᯠá¡áá¯á¶ážááŒá¯áá«á áááºááááá¯á¶ážá¡ááŒáááºáááºáá±á¬ááºáá±á¬á¡áá«á Grafana ááẠááá·áºá¡á¬áž á áá¬ážááŸááºá¡áá áºáá áºáá¯áááºááŸááºááẠáá±á¬ááºážááá¯áááá·áºáááºá
ááá¯á·áá±á¬áẠâ+â -> ááœááºážáá¯ááºáá®áá°ážááá¯á· ááœá¬ážáᬠáááºááœááºážááŸá¯á¡ááœáẠáááºááŸáºáá¯ááºáá¶áá«ááºááᯠááœáŸááºááŒáá«á
Grafana ááẠááŒááºáá¡ááœá²á·á¡á ááºáž ááááºá¡ááºáá áºáá¯ááŸáááá·áº clickhouse ááŸáá·áº á¡áá¯ááºáá¯ááºááŒááºážááᯠáá¶á·ááá¯ážáá±ážáááºá ááá¯á·áá±á¬áº Grafana ááẠááŒááºáááááºá¡ááºáá»á¬ážá¡ááœáẠááááá±ážáá»ááºáá»á¬áž áááŸááá«á (á€á¡ááœáẠáááºááŸááºáá áºá á±á¬áẠááŸá áºáá±á«ááºážáá»á¬ážá áœá¬ ááŸááá±áááº)á
pinba-áá¬áá¬
protobuf ááŸáá·áº libevent ááᯠááá·áºááœááºážááŒááºážááẠááœá±ážáá»ááºááá¯ááºáá±á¬áºáááºáž pinba-server á
áœááºážáá±á¬ááºáááºááᯠááá¯ážáááºá
á±áááºá á¡áááºá áááºááẠ/opt ááŸááœá²á á¡ááŒá¬ážááá¯ááºááœá²áá
áºáá¯ááœáẠpinba-áá¬áá¬ááᯠááá·áºááœááºážáá«áá áááºáááºáááºáž ááŒááºáááºááẠááá¯á¡ááºáááºááŒá
áºáááºá
nginx á¡ááœáẠpinba module
áá±á¬áºáá»á°ážáá áºáá¯ááᯠá á¯á ááºážáááºá áááºááẠáááºááá¬áá¬ááœáẠááá·áºááœááºážááŒá®ážááŒá áºááá·áº nginx áá¬ážááŸááºážá á¡áááºážá¡ááŒá áºáá¯ááºáá»á¬ážá¡ááŒáẠáá°áá®áá±á¬á á¯á ááºážááŸá¯ááœá±ážáá»ááºá áá¬áá»á¬áž ááá¯á¡ááºáááºá ááá¯á·ááá¯ááºáá«á áááºáá±á¬ááºááŸá¯ á¡á±á¬ááºááŒááºáááºááŒá áºáá±á¬áºáááºáž áá±á¬áºáá»á°ážááᯠáá»áááºáááºááá·áºá¡áá«ááœáẠá¡ááŸá¬ážá¡ááœááºážááŒá áºááœá¬ážáááá·áºáááºá " module ááẠbinary áááá¬ááááŒá áºáá«á" Compilation options áá»á¬ážááᯠnginx -V command ááŒáá·áº ááŒáá·áºááŸá¯ááá¯ááºáá«áááºá
áá Hack
áá»áœááºá¯ááºáááá¯ááºáá»á¬ážá¡á¬ážáá¯á¶ážááẠhttps áá±á«áºááœááºáᬠá¡áá¯ááºáá¯ááºáá«áááºá schema á¡ááœááºááẠá¡áááá¹áá«ááºáá²á·ááŒá áºáá¬áááºá ááá¯á·ááŒá±á¬áá·áº áááº/ááœááºááá¯ážááºááᯠááœá²ááŒá¬ážááẠáááºážááᯠá¡áá¯á¶ážááŒá¯áá«áááºá
áá»áœááºá¯ááºá¡áá¯á¶ážááŒá¯áá±á¬ áááºá០áááºáá±á¬ááºááá¯ááºáá±á¬ Script áá»á¬ážááœááº-
if (ini_get('pinba.enabled')) {
pinba_schema_set('web');
}
ááŒá®ážáá±á¬á· console script ááœá±ááŸá¬ (á¥ááá¬á cron scripts)
if (ini_get('pinba.enabled')) {
pinba_schema_set('console');
}
Grafana ááŸá áá»áœááºá¯ááºá áááºááŸáºáá¯ááºááœáẠá á¬áááºážááá¬ážáá»á¬ážááᯠáá®ážááŒá¬ážááŒáá·áºááŸá¯áááºá¡ááœáẠáááº/ááœááºááá¯ážááºááá¯ááºáá áºáᯠááŸááá«áááºá
áááºááẠáááºááááºáá»á¬ážááᯠPinba ááá¯á·áááºáž ááá¯á·ááá¯ááºáááºá á¥ááá¬-
pinba_tag_set('country', $countryCode);
áá«áá«áá²á
áá»á±ážáá°ážááŒá¯á áá±á¬ááºážáá«ážá¡á±á¬ááºááŸá áá²áá»á¬ážááᯠááŒá±ááá¯áá«á
áá¯á¶ážá á¶á¡ááá¯ááºážá Habr ááŸáá·áº áá°ááŸá¯ááœááºáááºáá»á¬ážááœáẠááá¯ááºáá±ážááá¯ááºáá¬á á¬ááá¯áá»á¬ážááŸáá áºááá·áº á¡ááŒá¶áá±ážááŒááºáž ááá¯á·ááá¯áẠáá°áá®ááŒááºážáááŒá¯ááẠááá·áºá¡á¬áž ááááá±ážáá«áááºá
Github ááœáẠáááºááŸááºáá áºáᯠáááºáá®ážáá«á
Like ááŒáá·áºáááºáž á¡á¬ážáá±ážááŒáá«áŠáž
á
á¬áááºážááœááºážá¡áá¯á¶ážááŒá¯áá°áá»á¬ážáᬠá
á
áºáááºážááœáẠáá«áááºááá¯ááºáá«áááºá
ááẠOS ááᯠáá¬áá¬ááŸá¬ áá¯á¶ážáá±áá²á
-
Ubuntu ááá¯
-
CentOS
-
debian
-
Gentoo
-
á¥á®ážáá¯ááºáá®
-
Fedora
-
áá±á¬á· openSUSE
-
SuSE
-
Unix á
-
Windows ááá¯
-
á¡ááŒá¬áž
á¡áá¯á¶ážááŒá¯áá° 114 áŠáž áá²áá±ážáá²á·áááºá á¡áá¯á¶ážááŒá¯áá° 11 ááŸá±á¬ááºáá±áá²á·áá«áááºá
áá¬áá¬ááŸá¬ áááºá¡áá¯á¶ážááŒá¯áá±áá²á· php áá¬ážááŸááºážá áááºááá¯áá²á
-
7.3
-
7.2
-
7.1
-
7.0
-
5
-
á¡ááŒá¬áž
á¡áá¯á¶ážááŒá¯áá° 105 áŠáž áá²áá±ážáá²á·áááºá á¡áá¯á¶ážááŒá¯áá° 17 ááŸá±á¬ááºáá±áá²á·áá«áááºá
Pinba áá¯á¶ážáá°ážáá¬ážá
-
áá¯ááºáá²á·
-
ááá¯ááºáá°ážá áá«áá±ááá·áº áá«ááá¯áá»ááºáááºá
-
ááá¯ááºáá°ážá áá«ááá¯ááºáá»ááºáá°ážá
-
ááá¯ááºáá°ážá áá°á·á¡ááŒá±á¬ááºáž áááŒá¬ážáááá°ážá
á¡áá¯á¶ážááŒá¯áá° 100 áŠáž áá²áá±ážáá²á·áááºá á¡áá¯á¶ážááŒá¯áá° 14 ááŸá±á¬ááºáá±áá²á·áá«áááºá
Pinba áá¬áá¬á áááºááá·áºáá¬ážááŸááºážááᯠáááºá ááºážááŒáá·áºááá¯ááááºážá
-
pinba_engine (mysql á¡ááºáá»ááº)
-
pinba2 (mysql á¡ááºáá»ááº)
-
pinboard (php + mysql)
-
olegfedoseev/pinba-áá¬áᬠ(go + OpenTSDB)
-
olegfedoseev/pinba-influxdb (go + influxdb)
-
pinba-server/pinba-server (go + clickhouse)
-
pinba-server/pinba-server (php + clickhouse)
-
áá«á·áá¬áá¬áá«áá±ážáááºá
-
á¡ááŒá¬áž
á¡áá¯á¶ážááŒá¯áá° 39 áŠáž áá²áá±ážáá²á·áááºá á¡áá¯á¶ážááŒá¯áá° 47 ááŸá±á¬ááºáá±áá²á·áá«áááºá
source: www.habr.com