рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордпрдорд╛ PHP рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВрдХреЛ рддрдереНрдпрд╛рдЩреНрдХ рд░ рдирд┐рдЧрд░рд╛рдиреАред ClickHouse рд░ Grafana рдкрд┐рдирдмрд╛рдХреЛ рд╕рд╣рд╛рдпрддрд╛рдорд╛ рдЖрдЙрдБрдЫрдиреН

рдпрд╕ рд▓реЗрдЦрдорд╛ рдо рддрдкрд╛рдИрдВрд▓рд╛рдИ pinba_engine рд░ pinboard рдХреЛ рд╕рдЯреНрдЯрд╛ clickhouse рд░ grafana рд╕рдБрдЧ pinba рдХрд╕рд░реА рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рднрдиреЗрд░ рдмрддрд╛рдЙрдиреЗрдЫреБред

PHP рдкрд░рд┐рдпреЛрдЬрдирд╛рдорд╛, pinba рд╢рд╛рдпрдж рдкреНрд░рджрд░реНрд╢рди рд╕рдВрдЧ рдХреЗ рднрдЗрд░рд╣реЗрдХреЛ рдЫ рдмреБрдЭреНрди рдХреЛ рд▓рд╛рдЧреА рдПрдХ рдорд╛рддреНрд░ рднрд░рдкрд░реНрджреЛ рддрд░реАрдХрд╛ рд╣реЛред рд╕рд╛рдБрдЪреЛ рд╣реЛ, рдкрд┐рдирдмрд╛ рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ рддрдм рдорд╛рддреНрд░ рд▓рд╛рдЧреВ рдЧрд░рд┐рдиреНрдЫ рдЬрдм рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рдкрд╣рд┐рд▓реЗ рдиреИ рджреЗрдЦрд┐рдПрдХрд╛ рд╣реБрдиреНрдЫрдиреН рд░ "рдХрд╣рд╛рдБ рдЦрдиреНрдиреЗ" рд╕реНрдкрд╖реНрдЯ рд╣реБрдБрджреИрдиред

рдкреНрд░рд╛рдпрдГ рдХрд╕реИрд▓рд╛рдИ рдерд╛рд╣рд╛ рд╣реБрдБрджреИрди рдХрд┐ рдкреНрд░рддрд┐ рд╕реЗрдХреЗрдиреНрдб/рдорд┐рдиреЗрдЯ рдХрддрд┐ рдкрдЯрдХ рдпреЛ рд╡рд╛ рддреНрдпреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд▓рд╛рдИ рдХрд▓ рдЧрд░рд┐рдиреНрдЫ рд░ рддрд┐рдиреАрд╣рд░реВрд▓реЗ "рд╕реНрдкрд░реНрд╢ рджреНрд╡рд╛рд░рд╛" рдЕрдиреБрдХреВрд▓рди рдЧрд░реНрди рдерд╛рд▓реНрдЫрдиреН, рддреА рдард╛рдЙрдБрд╣рд░реВрдмрд╛рдЯ рд╕реБрд░реБ рдЧрд░реЗрд░ рдЬреБрди рдмрдвреА рддрд╛рд░реНрдХрд┐рдХ рджреЗрдЦрд┐рдиреНрдЫред

рдХреЗрд╣реАрд▓реЗ nginx рд▓рдЧрд╣рд░реВ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЧрд░реНрдЫрдиреН, рдЬрдмрдХрд┐ рдЕрд░реВрд▓реЗ рдврд┐рд▓реЛ рдбрд╛рдЯрд╛рдмреЗрд╕ рдкреНрд░рд╢реНрдирд╣рд░реВрдХреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЧрд░реНрдЫрдиреНред

рдирд┐рд╕реНрд╕рдиреНрджреЗрд╣, рдкрд┐рдирдмрд╛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╣реБрдиреЗрдЫреИрди, рддрд░ рддреНрдпрд╣рд╛рдБ рдзреЗрд░реИ рдХрд╛рд░рдгрд╣рд░реВ рдЫрдиреН рдХрд┐рди рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛рдорд╛ тАЛтАЛрдпреЛ рдЫреИрдиред

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордпрдорд╛ PHP рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВрдХреЛ рддрдереНрдпрд╛рдЩреНрдХ рд░ рдирд┐рдЧрд░рд╛рдиреАред ClickHouse рд░ Grafana рдкрд┐рдирдмрд╛рдХреЛ рд╕рд╣рд╛рдпрддрд╛рдорд╛ рдЖрдЙрдБрдЫрдиреН

рд░ рдкрд╣рд┐рд▓реЛ рдХрд╛рд░рдг рд╕реНрдерд╛рдкрдирд╛ рдЫред

Pinba рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдмрд╛рдЯ рдХреЗрд╣рд┐ рдкреНрд░рдХрд╛рд░рдХреЛ "рдирд┐рдХрд╛рд╕" рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, рдЕрдиреНрддрд┐рдо рдорд┐рдиреЗрдЯрдХреЛ рд▓рд╛рдЧрд┐ рдорд╛рддреНрд░ рд╣реЛрдЗрди, рддрд░ рд▓рд╛рдореЛ рд╕рдордп (рджрд┐рдирджреЗрдЦрд┐ рдорд╣рд┐рдирд╛рд╣рд░реВ) рдорд╛ рдкрдирд┐ рдореЗрдЯреНрд░рд┐рдХрд╣рд░реВ рд╣реЗрд░реНрди рдзреЗрд░реИ рд╡рд╛рдВрдЫрдиреАрдп рдЫред

рдпрд╕рдХреЛ рд▓рд╛рдЧрд┐ рддрдкрд╛рдИрд▓рд╛рдИ рдЖрд╡рд╢реНрдпрдХ рдЫ:

  • php рдХреЛ рд▓рд╛рдЧреА рд╡рд┐рд╕реНрддрд╛рд░ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН (рд░ рддрдкрд╛рдЗрдБ nginx рдХреЛ рд▓рд╛рдЧреА рдПрдХ рдореЛрдбреНрдпреБрд▓ рдЪрд╛рд╣рд╛рдиреБрд╣реБрдиреНрдЫ)
  • mysql рдХреЛ рд▓рд╛рдЧрд┐ рд╡рд┐рд╕реНрддрд╛рд░ рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░реНрдиреБрд╣реЛрд╕реН
  • рдкрд┐рдирдмреЛрд░реНрдб рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ рдХреНрд░реЛрди рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрдиреБрд╣реЛрд╕реН

Pinba рдХреЛ рдмрд╛рд░реЗ рдорд╛ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╕рд╛рдиреЛ рдорд╛рддреНрд░рд╛ рдХреЛ рдХрд╛рд░рдг, рдзреЗрд░реИ рдорд╛рдиреНрдЫреЗ рдХреЛ рдзрд╛рд░рдгрд╛ рдЫ рдХрд┐ рдпреЛ рдХреЗрд╡рд▓ PHP5 рдорд╛ рдХрд╛рдо рдЧрд░реНрджрдЫ рд░ рд▓рд╛рдореЛ рд╕рдордп рд╕рдореНрдо рд╡рд┐рдЧрдд рдХреЛ рдХреБрд░рд╛ рднрдПрдХреЛ рдЫ, рддрд░ рд╣рд╛рдореА рдкрдЫрд┐ рджреЗрдЦреНрдиреЗрдЫреМрдВ, рдпреЛ рдорд╛рдорд▓рд╛ рд╣реЛрдЗрдиред

рдкрд╣рд┐рд▓реЛ рдЪрд░рдг рд╕рд░рд▓ рдЫ, рддрдкрд╛рдИрд▓реЗ рдЧрд░реНрдиреБ рдкрд░реНрдиреЗ рднрдиреЗрдХреЛ рдЖрджреЗрд╢ рдЪрд▓рд╛рдЙрдиреБ рд╣реЛ:

apt install php-pinba

рдпреЛ рд╡рд┐рд╕реНрддрд╛рд░ php 7.3 рд╕рдореНрдо рд░ рд╕рд╣рд┐рдд рднрдгреНрдбрд╛рд░рд╣рд░реВрдорд╛ рдЙрдкрд▓рдмреНрдз рдЫ рд░ рддрдкрд╛рдИрдВрд▓реЗ рдХреЗрд╣рд┐ рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫреИрдиред

рд╕реНрдерд╛рдкрдирд╛ рдЖрджреЗрд╢ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реЗрдкрдЫрд┐, рд╣рд╛рдореАрд▓реЗ рддреБрд░реБрдиреНрддреИ рдХрд╛рд░реНрдп рд╡рд┐рд╕реНрддрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдЫреМрдВ рдЬрд╕рд▓реЗ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ (рдЪрд▓рд┐рд░рд╣реЗрдХреЛ рд╕рдордп, рдореЗрдореЛрд░реА, рдЖрджрд┐) рдХреЛ рдврд╛рдБрдЪрд╛рдорд╛ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рд╕рдЩреНрдХрд▓рди рд░ рдкрдард╛рдЙрдБрдЫред рдкреНрд░реЛрдЯреЛрдмрдл 127.0.0.1:30002 рдорд╛ udp рдорд╛рд░реНрдлрддред

рдЕрд╣рд┐рд▓реЗрд╕рдореНрдо рдХрд╕реИрд▓реЗ рдкрдирд┐ рдпреА UDP рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВ рд╕рдорд╛рддреЗрдХреЛ рд╡рд╛ рдкреНрд░рд╢реЛрдзрди рдЧрд░реЗрдХреЛ рдЫреИрди, рддрд░ рдпрд╕рд▓реЗ рддрдкрд╛рдИрдВрдХреЛ PHP рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВрдХреЛ рдЧрддрд┐ рд╡рд╛ рд╕реНрдерд┐рд░рддрд╛рд▓рд╛рдИ рдХреБрдиреИ рдкрдирд┐ рд╣рд┐рд╕рд╛рдмрд▓реЗ рдирдХрд╛рд░рд╛рддреНрдордХ рдЕрд╕рд░ рдЧрд░реНрджреИрдиред

рд╣рд╛рд▓ рд╕рдореНрдо, рдпреА UDP рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВ рд╕рдорд╛рддреНрди рд░ рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрди рд╕рдХреНрдиреЗ рдПрдХ рдорд╛рддреНрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдерд┐рдпреЛ pinba_engineред рд╡рд░реНрдгрди"рд╕рд░рд▓ рд░ рд╕рдВрдХреНрд╖рд┐рдкреНрдд" рд╕реНрдерд╛рдкрдирд╛рд▓реЗ рдХрд╣рд┐рд▓реНрдпреИ рдкрдвреНрдиреЗ рдЗрдЪреНрдЫрд╛рд▓рд╛рдИ рдирд┐рд░реБрддреНрд╕рд╛рд╣рд┐рдд рдЧрд░реНрдЫ рд░ рдпрд╕рд▓рд╛рдИ рдлреЗрд░рд┐ рдЦреЛрд▓реНрдЫред рдирд┐рд░реНрднрд░рддрд╛рд╣рд░реВрдХреЛ рдХрд┐рд▓реЛрдорд┐рдЯрд░-рд▓рд╛рдореЛ рд╕реВрдЪреАрд╣рд░реВрд▓реЗ рдкреНрдпрд╛рдХреЗрдЬрд╣рд░реВрдХреЛ рдирд╛рдорд╣рд░реВ рд░ рдХрд╛рд░реНрдпрдХреНрд░рдорд╣рд░реВрдХреЛ рдирд╛рдорд╣рд░реВ рд░ рддрд┐рдиреАрд╣рд░реВрдХреЛ рд╕реНрдерд╛рдкрдирд╛рдХреЛ рд╕рд╛рде рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкреГрд╖реНрдард╣рд░реВрдорд╛ рд▓рд┐рдЩреНрдХрд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ, рд░ рддрд┐рдиреАрд╣рд░реВрдХреЛ рдЕрдиреНрдп рдирд┐рд░реНрднрд░рддрд╛рд╣рд░реВрдорд╛ рдЖрдлреНрдиреИ рд▓рд┐рдЩреНрдХрд╣рд░реВ рдЫрдиреНред рдпреЛ рдмрдХрд╡рд╛рд╕рдХреЛ рд╕рд╛рдордирд╛ рдЧрд░реНрдиреЗ рд╕рдордп рд╡рд╛ рдЗрдЪреНрдЫрд╛ рдХрд╕реИрд╕рдБрдЧ рдЫреИрдиред

рд╕реНрдерд╛рдкрдирд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ pinba2 рдЧрд░реЗрдирдиреН рд╡рд┐рд╢реЗрд╖ рдЧрд░реА рд╕рдЬрд┐рд▓реЛ.

рд╕рд╛рдпрдж рдХреБрдиреИ рджрд┐рди рдпреЛ рдПрдХ рд╡рд╛ рджреБрдИ рдЖрджреЗрд╢рд╣рд░реВ рд╕рдВрдЧ pinba10 рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрди рд╕рдореНрднрд╡ рд╣реБрдиреЗрдЫ рд░ рдпреЛ рдХрд╕рд░реА рдЧрд░реНрдиреЗ рднрдиреЗрд░ рдмреБрдЭреНрди рд╕рд╛рдордЧреНрд░реАрдХреЛ рдЧреБрдЪреНрдЫрд╛ рдкрдвреНрдиреБ рдкрд░реНрджреИрди, рддрд░ рдЕрд╣рд┐рд▓реЗрдХреЛ рд▓рд╛рдЧрд┐ рдпреЛ рдорд╛рдорд▓рд╛ рд╣реЛрдЗрдиред

рдпрджрд┐ рддрдкрд╛рдЗрдБ pinba_engine рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рдпреЛ рдХреЗрд╡рд▓ рдЖрдзрд╛ рдпреБрджреНрдз рд╣реЛред рдЖрдЦрд┐рд░, рдмрд┐рдирд╛ рдкрд┐рдирдмреЛрд░реНрдб рддрдкрд╛рдИрдВрд▓реЗ рдЖрдлреИрд▓рд╛рдИ рдЕрдиреНрддрд┐рдо рдХреЗрд╣реА рдорд┐рдиреЗрдЯрдХреЛ рдбреЗрдЯрд╛рдорд╛ рд╕реАрдорд┐рдд рдЧрд░реНрдиреБрдкрд░реНрдиреЗрдЫ, рд╡рд╛ рддрдкрд╛рдИрдВрд▓реЗ рдбреЗрдЯрд╛ рдЖрдлреИрдВрд▓рд╛рдИ рдПрдХрддреНрд░рд┐рдд, рднрдгреНрдбрд╛рд░рдг рд░ рдХрд▓реНрдкрдирд╛ рдЧрд░реНрдиреБрдкрд░реНрдиреЗрдЫред рдпреЛ рд░рд╛рдореНрд░реЛ рдЫ рдХрд┐ рдкрд┐рдирдмреЛрд░реНрдб рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдПрдХрджрдо рд╕рд░рд▓ рдЫ рд╕реНрдерд╛рдкрдирд╛.

рдпрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ, рдХрд┐рди рдпрд╕реНрддреЛ рдкреАрдбрд╛ рд╣реБрдиреНрдЫ рдпрджрд┐ php рдмрд╛рдЯ рд╕рдмреИ рдореЗрдЯреНрд░рд┐рдХрд╣рд░реВ рдкрд╣рд┐рд▓реЗ рдиреИ рдкреНрд░реЛрдЯреЛрдмрдл рдврд╛рдБрдЪрд╛рдорд╛ udp рдкреЛрд░реНрдЯрдорд╛ рдкрдард╛рдЗрдПрдХреЛ рдЫ рд░ рддрдкрд╛рдИрд▓рд╛рдИ рдЖрд╡рд╢реНрдпрдХ рдЫ рдПрдЙрдЯрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд▓реЗрдЦреНрдиреБ рд╣реЛ рдЬрд╕рд▓реЗ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рд╕рдорд╛рддреЗрд░ рдХреБрдиреИ рдкреНрд░рдХрд╛рд░рдХреЛ рднрдгреНрдбрд╛рд░рдгрдорд╛ рд░рд╛рдЦреНрдЫ? рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛, рддреА рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВ рдЬрд╕рд▓реЗ рдпреЛ рд╡рд┐рдЪрд╛рд░ рд▓рд┐рдПрдХрд╛ рдерд┐рдП рддреБрд░реБрдиреНрддреИ рдЖрдлреНрдиреИ рд╡рд┐рдЪрд╛рд░рд╣рд░реВ рд▓реЗрдЦреНрди рдмрд╕реЗ, рдЬрд╕рдордзреНрдпреЗ рдХреЗрд╣реА GitHub рдорд╛ рд╕рдорд╛рдкреНрдд рднрдпреЛред

рдирд┐рдореНрди рдЪрд╛рд░ рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯрд╣рд░реВрдХреЛ рдПрдХ рд╕рд┐рдВрд╣рд╛рд╡рд▓реЛрдХрди рд╣реЛ рдЬрд╕рд▓реЗ рднрдгреНрдбрд╛рд░рдгрдорд╛ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдмрдЪрдд рдЧрд░реНрджрдЫ, рдЬрд╕рдмрд╛рдЯ рдпреЛ рдбрд╛рдЯрд╛ рд╕рдЬрд┐рд▓реИ рдкреБрди: рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ рд░ рднрд┐рдЬреБрдЕрд▓рд╛рдЗрдЬ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдЧреНрд░рд╛рдлрд╛рдирд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ред

olegfedoseev/pinba-server (рдиреЛрднреЗрдореНрдмрд░ 2017)

udp рд╕рд░реНрднрд░ рдЕрди рдЧреЛ рдЬрд╕рд▓реЗ рдореЗрдЯреНрд░рд┐рдХрд╣рд░реВ OpenTSDB рдорд╛ рдмрдЪрдд рдЧрд░реНрдЫред рд╕рд╛рдпрдж рдпрджрд┐ рддрдкрд╛рдЗрдБ рдкрд╣рд┐рд▓реЗ рдиреИ рддрдкрд╛рдЗрдБрдХреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдорд╛ OpenTSDB рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИ рд╣реБрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рддрдм рдпреЛ рд╕рдорд╛рдзрд╛рди рддрдкрд╛рдЗрдБрд▓рд╛рдИ рдЙрдкрдпреБрдХреНрдд рд╣реБрдиреЗрдЫ, рдЕрдиреНрдпрдерд╛ рдо рдпрд╕рд▓рд╛рдИ рдкрд╛рд╕ рдЧрд░реНрди рд╕рд┐рдлрд╛рд░рд┐рд╕ рдЧрд░реНрджрдЫреБред

olegfedoseev/pinba-influxdb (рдЬреБрди реирежрезрео)

udp рд╕рд░реНрднрд░ рдЕрди рдЧреЛ, рдЙрд╣реА рдмрд╛рдЯ habrowser, рдЬрд╕рд▓реЗ рдпрд╕ рдкрдЯрдХ InfluxDB рдорд╛ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рднрдгреНрдбрд╛рд░ рдЧрд░реНрджрдЫред рдзреЗрд░реИ рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВрд▓реЗ рдкрд╣рд┐рд▓реЗ рдиреИ рдирд┐рдЧрд░рд╛рдиреАрдХреЛ рд▓рд╛рдЧрд┐ InfluxDB рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИ рдЫрдиреН, рддреНрдпрд╕реИрд▓реЗ рдпреЛ рд╕рдорд╛рдзрд╛рди рддрд┐рдиреАрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЙрдкрдпреБрдХреНрдд рд╣реБрди рд╕рдХреНрдЫред

рдкреНрд░реЛ:

Cons:

  • рдпреЛ рд╕рдорд╛рдзрд╛рдирд▓реЗ рдЯрд╛рдЗрдорд░рд╣рд░реВрдорд╛ рдЬрд╛рдирдХрд╛рд░реА рдмрдЪрдд рдЧрд░реНрджреИрдиред
  • InfluxDB рд▓реЗ рд╕рд╛рдЗрдЯ рдкреГрд╖реНрда рдареЗрдЧрд╛рдирд╛рд╣рд░реВрд▓рд╛рдИ рдЯреНрдпрд╛рдЧрдХреЛ рд░реВрдкрдорд╛ рднрдгреНрдбрд╛рд░ рдЧрд░реНрдиреЗрдЫ рд░ рдпрджрд┐ рддрдкрд╛рдИрдВрд╕рдБрдЧ рдзреЗрд░реИ рдЕрдиреМрдВрдареЛ рдкреГрд╖реНрда рдареЗрдЧрд╛рдирд╛рд╣рд░реВ рдЫрдиреН рднрдиреЗ, рдпрд╕рд▓реЗ рдиреЗрддреГрддреНрд╡ рдЧрд░реНрдиреЗрдЫред рдмрдвреЗрдХреЛ рдЦрдкрдд рдЕрдирд┐рдпрдорд┐рдд рдкрд╣реБрдБрдЪ рдореЗрдореЛрд░реАред рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдХреНрд╖рдг рджреЗрдЦрд┐ рдЙрд╣рд╛рдБрд▓реЗ "рд╕рдореНрдЭрдирд╛рд▓рд╛рдИ рдкрд╛рдЧрд▓ рдЬрд╕реНрддреИ рдЦрд╛рди рдерд╛рд▓реНрдЫ┬лред (рд╕реНрд░реЛрдд)

рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕-рдирд┐рдиреНрдЬрд╛/рдкреНрд░реЛрдЯреЛрди (рдЬрдирд╡рд░реА реирежрезреп)

udp рд╕рд░реНрднрд░ рдЕрди рдЧреЛ, рдЬрд╕рд▓реЗ рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕рдорд╛ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдмрдЪрдд рдЧрд░реНрдЫред рдпреЛ рдореЗрд░реЛ рд╕рд╛рдереАрдХреЛ рд╕рдорд╛рдзрд╛рди рд╣реЛред рдпреЛрд╕рдБрдЧ рдкрд░рд┐рдЪрд┐рдд рднрдПрдкрдЫрд┐ рдореИрд▓реЗ рдирд┐рд░реНрдгрдп рдЧрд░реЗрдВ рдХрд┐ рдпреЛ рдкрд┐рдирдмреБ рд░ рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕рд▓рд╛рдИ рд▓рд┐рдиреЗ рд╕рдордп рд╣реЛред

рдкреНрд░реЛ:

  • рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕ рддреНрдпрд╕реНрддрд╛ рдХрд╛рд░реНрдпрд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рдЙрдкрдпреБрдХреНрдд рдЫ; рдпрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдбреЗрдЯрд╛ рдХрдореНрдкреНрд░реЗрд╕ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ рддрд╛рдХрд┐ рддрдкрд╛рдИрдВ рд╕рдмреИ рдХрдЪреНрдЪрд╛ рдбрд╛рдЯрд╛ рдПрдХрддреНрд░реАрдХрд░рдг рдмрд┐рдирд╛ рдкрдирд┐ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред
  • рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рдЫ рднрдиреЗ, рддрдкрд╛рдИрдВ рд╕рдЬрд┐рд▓реИ рдирддрд┐рдЬрд╛ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдПрдХрддреНрд░рд┐рдд рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ
  • Grafana рдХреЛ рд▓рд╛рдЧрд┐ рддрдпрд╛рд░ рдЯреЗрдореНрдкреНрд▓реЗрдЯ
  • рдЯрд╛рдЗрдорд░рдорд╛ рдЬрд╛рдирдХрд╛рд░реА рдмрдЪрдд рдЧрд░реНрджрдЫ

Cons:

  • рдШрд╛рддрдХ рджреЛрд╖
  • рддреНрдпрд╣рд╛рдБ рдХреБрдиреИ рдХрдиреНрдлрд┐рдЧрд░ рдЫреИрди рдЬрд╕рдорд╛ рддрдкрд╛рдЗрдБ рдбрд╛рдЯрд╛рдмреЗрд╕ рд░ рддрд╛рд▓рд┐рдХрд╛рд╣рд░реВрдХреЛ рдирд╛рдо, рд╕рд░реНрднрд░рдХреЛ рдареЗрдЧрд╛рдирд╛ рд░ рдкреЛрд░реНрдЯ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред
  • рдХрдЪреНрдЪрд╛ рдбрд╛рдЯрд╛ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрджрд╛, рдкреГрд╖реНрда рд░ рдбреЛрдореЗрди рдареЗрдЧрд╛рдирд╛рд╣рд░реВ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрди рд╕рд╣рд╛рдпрдХ рд╢рдмреНрджрдХреЛрд╢ рддрд╛рд▓рд┐рдХрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ, рдЬрд╕рд▓реЗ рдкрдЫрд┐рдХрд╛ рдкреНрд░рд╢реНрдирд╣рд░реВрд▓рд╛рдИ рдЬрдЯрд┐рд▓ рдмрдирд╛рдЙрдБрдЫред
  • рдкрд╣рд┐рд▓реЛ рдорд╛рдЗрдирд╕рдмрд╛рдЯ рдкрдЫреНрдпрд╛рдЙрдиреЗ рдЕрдиреНрдп рд╕рд╛рдирд╛ рдЪреАрдЬрд╣рд░реВ

pinba-рд╕рд░реНрднрд░/pinba-рд╕рд░реНрднрд░ (рдЕрдкреНрд░рд┐рд▓ реирежрезреп)

php рдорд╛ udp рд╕рд░реНрднрд░, рдЬрд╕рд▓реЗ ClickHouse рдорд╛ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдмрдЪрдд рдЧрд░реНрджрдЫред рдпреЛ рдореЗрд░реЛ рд╕рдорд╛рдзрд╛рди рд╣реЛ, рдЬреБрди рдкрд┐рдирдмрд╛, рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕ рд░ рдкреНрд░реЛрдЯреЛрдмрдлрд▓рд╛рдИ рдЪрд┐рдиреНрдиреЗ рдкрд░рд┐рдгрд╛рдо рд╣реЛред рдЬрдм рдореИрд▓реЗ рдпреЛ рд╕рдореНрдкреВрд░реНрдг рдЧреБрдЪреНрдЫрд╛рд▓рд╛рдИ рдХреНрд░рдордмрджреНрдз рдЧрд░реНрджреИ рдерд┐рдПрдБ, рдореИрд▓реЗ "рдЕрд╡рдзрд╛рд░рдгрд╛рдХреЛ рдкреНрд░рдорд╛рдг" рд▓реЗрдЦреЗрдВ, рдЬреБрди рдореЗрд░реЛ рд▓рд╛рдЧрд┐ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд░реВрдкрдорд╛, рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рд╕реНрд░реЛрддрд╣рд░реВ (30 рдПрдордмреА RAM рд░ рдЖрда рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛрд░ рдордзреНрдпреЗ 1% рднрдиреНрджрд╛ рдХрдо) рдЦрдкрдд рднрдПрди, рддреНрдпрд╕реИрд▓реЗ рдореИрд▓реЗред рдЬрдирддрд╛рд╕рдБрдЧ рд╕рд╛рдЭрд╛ рдЧрд░реНрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░рд┐рдпреЛред

рдлрд╛рдЗрджрд╛рд╣рд░реВ рдЕрдШрд┐рд▓реНрд▓реЛ рд╕рдорд╛рдзрд╛рди рдЬрд╕реНрддреИ рд╣реБрдиреН, рдореИрд▓реЗ рдореВрд▓ pinba_engine рдмрд╛рдЯ рд╕рд╛рдорд╛рдиреНрдп рдирд╛рдорд╣рд░реВ рдкрдирд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрдВред рдореИрд▓реЗ рдПрдЙрдЯрд╛ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдкрдирд┐ рдердкреЗрдХреЛ рдЫреБ рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рд╡рд┐рднрд┐рдиреНрди рддрд╛рд▓рд┐рдХрд╛рд╣рд░реВрдорд╛ рдореЗрдЯреНрд░рд┐рдХрд╣рд░реВ рдмрдЪрдд рдЧрд░реНрди рдПрдХреИрдЪреЛрдЯрд┐ рдзреЗрд░реИ рдкрд┐рдирдмреЗрд╕ рд╕рд░реНрднрд░ рдЙрджрд╛рд╣рд░рдгрд╣рд░реВ рд╕реБрд░реВ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ - рдпреЛ рдЙрдкрдпреЛрдЧреА рдЫ рдпрджрд┐ рддрдкрд╛рдИрдВ php рдмрд╛рдЯ рдорд╛рддреНрд░ рдирднрдИ nginx рдмрд╛рдЯ рдкрдирд┐ рдбрд╛рдЯрд╛ рд╕рдЩреНрдХрд▓рди рдЧрд░реНрди рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫ рднрдиреЗред
рдмреЗрдлрд╛рдЗрджрд╛рд╣рд░реВ - "рдШрд╛рддрдХ рджреЛрд╖" рд░ рддреА рд╕рд╛рдирд╛ рдЪреАрдЬрд╣рд░реВ рдЬреБрди рддрдкрд╛рдИрдВрд▓рд╛рдИ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдкрдорд╛ рдЙрдкрдпреБрдХреНрдд рд╣реБрдБрджреИрди, рддрд░ рдореЗрд░реЛ рд╕рдорд╛рдзрд╛рди "рдЪрдкреНрдкрд▓ рдЬрд╕реНрддреЛ рд╕рд░рд▓" рд╣реЛ рд░ рдХреЛрдбрдХреЛ рд▓рдЧрднрдЧ 100 рд▓рд╛рдЗрдирд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ, рддреНрдпрд╕реИрд▓реЗ рдХреБрдиреИ рдкрдирд┐ PHP рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд▓реЗ рдЖрдлреВрд▓рд╛рдИ рдорди рдирдкрд░реНрдиреЗ рдХреБрд░рд╛рд╣рд░реВ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рд╕рдХреНрдЫред рдХреЗрд╣реА рдорд┐рдиреЗрдЯрдорд╛ред

рдХрд╕рд░реА рдпреЛ рдХрд╛рдо рдЧрд░реНрджрдЫ

UDP рдкреЛрд░реНрдЯ 30002 рд╕реБрдирд┐рдПрдХреЛ рдЫред рд╕рдмреИ рдЖрдЧрдорди рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВ рдкреНрд░реЛрдЯреЛрдмрдл рдпреЛрдЬрдирд╛ рдЕрдиреБрд╕рд╛рд░ рдбрд┐рдХреЛрдб рдЧрд░реА рдЬрдореНрдорд╛ рдЧрд░рд┐рдПрдХрд╛ рдЫрдиреНред рдПрдХ рдорд┐рдиреЗрдЯрдорд╛, рдПрдЙрдЯрд╛ рдкреНрдпрд╛рдХреЗрдЯ рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕рдорд╛ pinba.requests рддрд╛рд▓рд┐рдХрд╛рдорд╛ рдШреБрд╕рд╛рдЗрдиреНрдЫред (рд╕рдмреИ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд╣рд░реВ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░рд┐рдПрдХрд╛ рдЫрдиреН рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди)

рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕рдХреЛ рдмрд╛рд░реЗрдорд╛ рдереЛрд░реИ

рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕рд▓реЗ рд╡рд┐рднрд┐рдиреНрди рдбрд╛рдЯрд╛ рднрдгреНрдбрд╛рд░рдг рдЗрдиреНрдЬрд┐рдирд╣рд░реВрд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫред рд╕рдмреИ рднрдиреНрджрд╛ рд╕рд╛рдзрд╛рд░рдг рдкреНрд░рдпреЛрдЧ рдПрдХ MergeTree рд╣реЛред

рдпрджрд┐ рдХреБрдиреИ рдмрд┐рдиреНрджреБрдорд╛ рддрдкрд╛рдИрдВрд▓реЗ рд╕рдмреИ рд╕рдордпрдХреЛ рд▓рд╛рдЧрд┐ рдПрдХрддреНрд░рд┐рдд рдбрд╛рдЯрд╛ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реНрдиреБрднрдпреЛ рднрдиреЗ, рд░ рдЕрдиреНрддрд┐рдордХреЛ рд▓рд╛рдЧрд┐ рдорд╛рддреНрд░ рдХрдЪреНрдЪрд╛ рдбрд╛рдЯрд╛, рддреНрдпрд╕рдкрдЫрд┐ рддрдкрд╛рдИрдВрд▓реЗ рд╕рдореВрд╣реАрдХрд░рдгрдХреЛ рд╕рд╛рде рдПрдХ рднреМрддрд┐рдХ рджреГрд╢реНрдп рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рд░ рд╕рдордп-рд╕рдордпрдорд╛ рдореБрдЦреНрдп pinba.requests рддрд╛рд▓рд┐рдХрд╛ рд╕рдлрд╛ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдЬрдмрд╕рдореНрдо рд╕рдмреИ рдбрд╛рдЯрд╛ рдорд╛ рд░рд╣рдиреЗрдЫред рднреМрддрд┐рдХ рджреГрд╢реНрдпред рдпрд╕рдмрд╛рд╣реЗрдХ, pinba.requests рддрд╛рд▓рд┐рдХрд╛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрджрд╛, рддрдкрд╛рдИрдВрд▓реЗ "рдЗрдиреНрдЬрд┐рди = Null" рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рддреНрдпрд╕рдкрдЫрд┐ рдХрдЪреНрдЪрд╛ рдбрд╛рдЯрд╛ рдбрд┐рд╕реНрдХрдорд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реБрдиреЗрдЫреИрди, рд░ рдПрдХреИ рд╕рдордпрдорд╛ рдпреЛ рдЕрдЭреИ рдкрдирд┐ рднреМрддрд┐рдХ рджреГрд╢реНрдпрдорд╛ рд╕рдорд╛рдкреНрдд рд╣реБрдиреЗрдЫ рд░ рдПрдХрддреНрд░рд┐рдд рд░реВрдкрдорд╛ рдмрдЪрдд рд╣реБрдиреЗрдЫред ред рдо рдпреЛ рдпреЛрдЬрдирд╛ nginx рдореЗрдЯреНрд░рд┐рдХреНрд╕рдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫреБ, рдХрд┐рдирдХрд┐ nginx рдорд╛ рдорд╕рдБрдЧ php рднрдиреНрджрд╛ 50 рдЧреБрдгрд╛ рдмрдвреА рдЕрдиреБрд░реЛрдзрд╣рд░реВ рдЫрдиреНред

рддреНрдпрд╕реЛрднрдП, рддрдкрд╛рдИрдВ рд▓рд╛рдореЛ рдмрд╛рдЯреЛ рдЖрдЗрдкреБрдЧреНрдиреБ рднрдПрдХреЛ рдЫ рд░ рдо рддрдкрд╛рдИрдВрд▓рд╛рдИ рдЖрдзрд╛ рдмрд╛рдЯреЛ рдЫреЛрдбреНрди рдЪрд╛рд╣рдиреНрди, рддреНрдпрд╕реЛрднрдП рдореЗрд░реЛ рд╕рдорд╛рдзрд╛рдирдХреЛ рд╕реНрдерд╛рдкрдирд╛ рд░ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирдХреЛ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг рд░ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдЖрд╡рд╢реНрдпрдХ рдкрд░реНрдиреЗ рд╕рдмреИ рдХреБрд░рд╛рд╣рд░реВ, рд╕рд╛рдереИ рдПрдХ рднрдиреНрджрд╛ рдмрдвреА рдЬрд╣рд╛рдЬрдХреЛ рдХрд╛рд░рдг рднрдПрдХрд╛ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рдЫрдиреНред рджреБрд░реНрдШрдЯрдирд╛ рд╣реБрдиреБред рд╕рдореНрдкреВрд░реНрдг рд╕реНрдерд╛рдкрдирд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ Ubuntu 18.04 LTS рд░ Centos 7 рдХреЛ рд▓рд╛рдЧрд┐ рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдХреЛ рдЫ; рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЕрдиреНрдп рд╡рд┐рддрд░рдг рд░ рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВрдорд╛ рдереЛрд░реИ рдлрд░рдХ рд╣реБрди рд╕рдХреНрдЫред

рд╕реЗрдЯрд┐рдЩ

рдореИрд▓реЗ рд╕рдмреИ рдЖрд╡рд╢реНрдпрдХ рдЖрджреЗрд╢рд╣рд░реВ рд░рд╛рдЦреЗрдВ рдбрдХрд░рдлрд╛рдЗрд▓ рдирд┐рд░реНрджреЗрд╢рдирд╣рд░реВрдХреЛ рдкреБрди: рдЙрддреНрдкрд╛рджрди рдХреНрд╖рдорддрд╛рд▓рд╛рдИ рд╕рд╣рдЬ рдмрдирд╛рдЙрдиред рдХреЗрд╡рд▓ рд╣рд╛рдирд┐рд╣рд░реВ рддрд▓ рд╡рд░реНрдгрди рдЧрд░рд┐рдиреЗрдЫред

php-pinba

рд╕реНрдерд╛рдкрдирд╛ рдкрдЫрд┐, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрдиреБрд╣реЛрд╕реН рдХрд┐ /etc/php/7.2/fpm/conf.d/20-pinba.ini рдлрд╛рдЗрд▓рдорд╛ рддрдкрд╛рдИрдВрд▓реЗ рд╕рдмреИ рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ рдЕрдирдХрдореЗрдиреНрдЯ рдЧрд░реНрдиреБрднрдПрдХреЛ рдЫред рдХреЗрд╣реА рд╡рд┐рддрд░рдгрд╣рд░реВрдорд╛ (рдЬрд╕реНрддреИ рд╕реЗрдиреНрдЯреЛрд╕) рддрд┐рдиреАрд╣рд░реВ рдЯрд┐рдкреНрдкрдгреА рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред

extension=pinba.so
pinba.enabled=1
pinba.server=127.0.0.1:30002

рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕

рд╕реНрдерд╛рдкрдирд╛рдХреЛ рдХреНрд░рдордорд╛, рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗрдЯ рдЧрд░реНрди рд╕реЛрдзреНрдиреЗрдЫред рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛, рдпреЛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдмреИ рдЖрдИрдкреАрд╣рд░реВрдмрд╛рдЯ рдкрд╣реБрдБрдЪрдпреЛрдЧреНрдп рдЫ, рддреНрдпрд╕реИрд▓реЗ рдпрджрд┐ рддрдкрд╛рдЗрдБрд╕рдБрдЧ рддрдкрд╛рдЗрдБрдХреЛ рд╕рд░реНрднрд░рдорд╛ рдлрд╛рдпрд░рд╡рд╛рд▓ рдЫреИрди рднрдиреЗ, рдпрд╕рдХреЛ рд▓рд╛рдЧрд┐ рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗрдЯ рдЧрд░реНрди рдирд┐рд╢реНрдЪрд┐рдд рд╣реБрдиреБрд╣реЛрд╕реНред рдпреЛ /etc/clickhouse-server/users.xml рдлрд╛рдЗрд▓рдорд╛ рд╕реНрдерд╛рдкрдирд╛ рдкрдЫрд┐ рдкрдирд┐ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред

рдпреЛ рдкрдирд┐ рдзреНрдпрд╛рди рджрд┐рди рд▓рд╛рдпрдХ рдЫ рдХрд┐ рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕рд▓реЗ 9000 рд╕рд╣рд┐рдд рдзреЗрд░реИ рдкреЛрд░реНрдЯрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫред рдпреЛ рдкреЛрд░реНрдЯ рдХреЗрд╣реА рд╡рд┐рддрд░рдгрд╣рд░реВрдорд╛ php-fpm рдХреЛ рд▓рд╛рдЧрд┐ рдкрдирд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, centos)ред рдпрджрд┐ рддрдкрд╛рдЗрдБ рдкрд╣рд┐рд▓реЗ рдиреИ рдпреЛ рдкреЛрд░реНрдЯ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рддрдкрд╛рдЗрдБ рдпрд╕рд▓рд╛рдИ /etc/clickhouse-server/config.xml рдлрд╛рдЗрд▓рдорд╛ рдЕрд░реНрдХреЛрдорд╛ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред

рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕ рдкреНрд▓рдЧрдЗрдирдХреЛ рд╕рд╛рде рдЧреНрд░рд╛рдлрд╛рдирд╛

Grafana рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реЗрдкрдЫрд┐, рд▓рдЧрдЗрди рдкреНрд░рд╢рд╛рд╕рдХ рд░ рдкрд╛рд╕рд╡рд░реНрдб рдкреНрд░рд╢рд╛рд╕рдХ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдЬрдм рддрдкрд╛рдЗрдБ рдкрд╣рд┐рд▓реЛ рдкрдЯрдХ рд▓рдЧ рдЗрди рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ, Grafana рд▓реЗ рддрдкрд╛рдЗрдБрд▓рд╛рдИ рдирдпрд╛рдБ рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗрдЯ рдЧрд░реНрди рд╕реЛрдзреНрдиреЗрдЫред

рдЕрд░реНрдХреЛ, "+" -> рдЖрдпрд╛рдд рдореЗрдиреБрдорд╛ рдЬрд╛рдиреБрд╣реЛрд╕реН рд░ рдЖрдпрд╛рддрдХреЛ рд▓рд╛рдЧрд┐ рдбреНрдпрд╛рд╕рдмреЛрд░реНрдб рдирдореНрдмрд░ рд╕рдВрдХреЗрдд рдЧрд░реНрдиреБрд╣реЛрд╕реН 10011ред рдореИрд▓реЗ рдпреЛ рдбреНрдпрд╛рд╕рдмреЛрд░реНрдб рддрдпрд╛рд░ рдЧрд░реА рдЕрдкрд▓реЛрдб рдЧрд░реЗрдХреЛ рдЫреБ рддрд╛рдХрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдпрд╕рд▓рд╛рдИ рдлреЗрд░рд┐ рдЖрдлреИрдВ рдЧрд░реНрди рдирдкрд░реЛрд╕реНред

Grafana рддреЗрд╕реНрд░реЛ-рдкрдХреНрд╖ рдкреНрд▓рдЧрдЗрди рдорд╛рд░реНрдлрдд рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрди рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫ, рддрд░ Grafana рд╕рдБрдЧ рддреЗрд╕реНрд░реЛ-рдкрдХреНрд╖ рдкреНрд▓рдЧрдЗрдирд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЕрд▓рд░реНрдЯ рдЫреИрди (рддреНрдпрд╣рд╛рдБ рдзреЗрд░реИ рд╡рд░реНрд╖рджреЗрдЦрд┐ рдпрд╕рдХреЛ рд▓рд╛рдЧрд┐ рдЯрд┐рдХрдЯ рдЫ)ред

pinba-рд╕рд░реНрднрд░

рдкреНрд░реЛрдЯреЛрдмрдл рд░ libevent рд╕реНрдерд╛рдкрдирд╛ рд╡реИрдХрд▓реНрдкрд┐рдХ рдЫ, рддрд░ pinba-рд╕рд░реНрднрд░ рдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░ рдЧрд░реНрджрдЫред рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ /opt рдмрд╛рд╣реЗрдХ рдЕрд░реНрдХреЛ рдлреЛрд▓реНрдбрд░рдорд╛ pinba-server рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреБрднрдпреЛ рднрдиреЗ, рддрдкрд╛рдИрдВрд▓реЗ рдкрдирд┐ рд╕рдЪреНрдпрд╛рдЙрдиреБ рдкрд░реНрдиреЗрдЫ systemd рд▓рд┐рдкрд┐ рдлрд╛рдЗрд▓ред

nginx рдХреЛ рд▓рд╛рдЧрд┐ pinba рдореЛрдбреНрдпреБрд▓

рдореЛрдбреНрдпреБрд▓ рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдЗрдБрд▓рд╛рдИ рддрдкрд╛рдЗрдБрдХреЛ рд╕рд░реНрднрд░рдорд╛ рдкрд╣рд┐рд▓реЗ рдиреИ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░рд┐рдПрдХреЛ nginx рдХреЛ рд╕рдорд╛рди рд╕рдВрд╕реНрдХрд░рдгрдХреЛ рд╕реНрд░реЛрдд рдХреЛрдбрд╣рд░реВ рдЪрд╛рд╣рд┐рдиреНрдЫ, рд╕рд╛рдереИ рдЙрд╣реА рд╕рдВрдХрд▓рди рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ, рдЕрдиреНрдпрдерд╛ рдирд┐рд░реНрдорд╛рдг рд╕рдлрд▓ рд╣реБрдиреЗрдЫ, рддрд░ рдореЛрдбреНрдпреБрд▓ рдЬрдбрд╛рди рдЧрд░реНрджрд╛, рддреНрд░реБрдЯрд┐ рдлреНрдпрд╛рдБрдХрд┐рдиреЗрдЫред "рдореЛрдбреНрдпреБрд▓ рдмрд╛рдЗрдирд░реА рдЙрдкрдпреБрдХреНрдд рдЫреИрдиред" рд╕рдВрдХрд▓рди рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ nginx -V рдЖрджреЗрд╢ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╣реЗрд░реНрди рд╕рдХрд┐рдиреНрдЫ

рдЬреАрд╡рди рд╣реНрдпрд╛рдХреНрд╕

рдореЗрд░рд╛ рд╕рдмреИ рд╕рд╛рдЗрдЯрд╣рд░реВ https рдорд╛ рдорд╛рддреНрд░ рдХрд╛рдо рдЧрд░реНрдЫрдиреНред рд╕реНрдХреАрдорд╛ рдХреНрд╖реЗрддреНрд░ рдЕрд░реНрдерд╣реАрди рд╣реБрдиреНрдЫ, рддреНрдпрд╕реИрд▓реЗ рдо рдпрд╕рд▓рд╛рдИ рд╡реЗрдм/рдХрдиреНрд╕реЛрд▓ рдЕрд▓рдЧ рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫреБред

рдореИрд▓реЗ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рд╡реЗрдмрдмрд╛рдЯ рдкрд╣реБрдБрдЪрдпреЛрдЧреНрдп рд▓рд┐рдкрд┐рд╣рд░реВрдорд╛:

if (ini_get('pinba.enabled')) {
    pinba_schema_set('web');
}

рд░ рдХрдиреНрд╕реЛрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВрдорд╛ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдХреНрд░реЛрди рд▓рд┐рдкрд┐рд╣рд░реВ):

if (ini_get('pinba.enabled')) {
    pinba_schema_set('console');
}

Grafana рдорд╛ рдореЗрд░реЛ рдбреНрдпрд╛рд╕рдмреЛрд░реНрдбрдорд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрдереНрдпрд╛рдЩреНрдХрд╣рд░реВ рд╣реЗрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рд╡реЗрдм/рдХрдиреНрд╕реЛрд▓ рд╕реНрд╡рд┐рдЪ рдЫред

рддрдкрд╛рдИрдВ рдЖрдлреНрдиреЛ рдЯреНрдпрд╛рдЧрд╣рд░реВ Pinba рдорд╛ рдкрдирд┐ рдкрдард╛рдЙрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐:

pinba_tag_set('country', $countryCode);

рдпрддрд┐ рдиреИред

рдХреГрдкрдпрд╛ рд▓реЗрдЦ рддрд▓рдХреЛ рд╕рд░реНрд╡реЗрдХреНрд╖рдгрдХреЛ рдЬрд╡рд╛рдл рджрд┐рдиреБрд╣реЛрд╕реНред

рд╕рд╛рдорд╛рдиреНрдп рд░реВрдкрдорд╛, рдо рддрдкрд╛рдИрдВрд▓рд╛рдИ рдЪреЗрддрд╛рд╡рдиреА рджрд┐рдиреНрдЫреБ рдХрд┐ рдо Habr рд░ рд╕рд╛рдорд╛рдЬрд┐рдХ рд╕рдЮреНрдЬрд╛рд▓рд╣рд░реВрдорд╛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕рдиреНрджреЗрд╢рд╣рд░реВ рдорд╛рд░реНрдлрдд рд╕рд▓реНрд▓рд╛рд╣ рд╡рд╛ рдорджреНрджрдд рдЧрд░реНрджрд┐рдиред

Github рдорд╛ рдЯрд┐рдХрдЯ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реНред

рд╕рд╛рдереИ рд▓рд╛рдИрдХ рдЧрд░реЗрд░ рд╕рд╛рде рджрд┐рдиреБ рд╣реЛрд▓рд╛ рдЕрдВрдЧреНрд░реЗрдЬреА рд╕рдВрд╕реНрдХрд░рдг рдпреЛ рд▓реЗрдЦ reddit рдорд╛.

рджрд░реНрддрд╛ рднрдПрдХрд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рдорд╛рддреНрд░ рд╕рд░реНрд╡реЗрдХреНрд╖рдгрдорд╛ рднрд╛рдЧ рд▓рд┐рди рд╕рдХреНрдЫрдиреНред рд╕рд╛рдЗрди рдЗрди рдЧрд░реНрдиреБрд╣реЛрд╕реНрдХреГрдкрдпрд╛

рддрдкрд╛рдЗрдБ рд╕рд░реНрднрд░рдорд╛ рдХреБрди OS рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИ рд╣реБрдиреБрд╣реБрдиреНрдЫ?

  • Ubuntu

  • CentOS

  • Debian

  • Gentoo

  • рд░рд╛рддреЛ рдЯреЛрдкреА

  • рдлреЗрдбреЛрд░рд╛

  • OpenSUSE

  • рд╕реБрд╕реЗ

  • рдпреБрдирд┐рдХреНрд╕

  • Windows

  • рдЕрдиреНрдп

114 рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рдорддрджрд╛рди рдЧрд░реЗред 11 рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВ рд░реЛрдХрд┐рдПред

рддрдкрд╛рдЗрдБ рд╕рд░реНрднрд░рдорд╛ php рдХреЛ рдХреБрди рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИ рд╣реБрдиреБрд╣реБрдиреНрдЫ?

  • 7.3

  • 7.2

  • 7.1

  • 7.0

  • 5

  • рдЕрдиреНрдп

105 рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рдорддрджрд╛рди рдЧрд░реЗред 17 рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВ рд░реЛрдХрд┐рдПред

рдХреЗ рддрдкрд╛рдИрдВрд▓реЗ рдХрд╣рд┐рд▓реНрдпреИ рдкрд┐рдирдмрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрднрдПрдХреЛ рдЫ?

  • рд╣реЛ

  • рд╣реЛрдЗрди, рддрд░ рдо рдЪрд╛рд╣рдиреНрдЫреБ

  • рд╣реЛрдЗрди рд░ рдо рдЪрд╛рд╣рдиреНрди

  • рд╣реЛрдЗрди рд░ рдЙрдирдХреЛ рдмрд╛рд░реЗрдорд╛ рд╕реБрдиреЗрдХреЛ рдЫреИрди

100 рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рдорддрджрд╛рди рдЧрд░реЗред 14 рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВ рд░реЛрдХрд┐рдПред

рдкрд┐рдирдмрд╛ рд╕рд░реНрднрд░рдХреЛ рдХреБрди рд╕рдВрд╕реНрдХрд░рдг рддрдкрд╛рдИрдВ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрди рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫ?

  • pinba_engine (mysql рдЗрдиреНрдЬрд┐рди)

  • pinba2 (mysql рдЗрдиреНрдЬрд┐рди)

  • рдкрд┐рдирдмреЛрд░реНрдб (php + mysql)

  • olegfedoseev/pinba-server (go + OpenTSDB)

  • olegfedoseev/pinba-influxdb (go + influxdb)

  • pinba-server/pinba-server (go + clickhouse)

  • pinba-server/pinba-server (php + clickhouse)

  • рдо рдЖрдлреИ рд▓реЗрдЦреНрдЫреБ

  • рдЕрдиреНрдп

39 рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рдорддрджрд╛рди рдЧрд░реЗред 47 рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВ рд░реЛрдХрд┐рдПред

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди