Grafana: [рдлрд╝реАрдЪрд░ рдЕрдиреБрд░реЛрдз] рд╡рд░реНрддрдорд╛рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЕрд╕реНрдерд╛рдпреА рдЪрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 5 рдордИ 2016  ┬╖  45рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: grafana/grafana

рдХреНрдпрд╛ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ "рд╡рд░реНрддрдорд╛рди рдЧреНрд░рд╛рдлреНрдЯрд╛рдирд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛" рдХреЗ рд▓рд┐рдП рд╡рд┐рд╡рд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдВрддрд░реНрдЬреНрдЮрд╛рди рд╡рд╛рдкрд╕ рдЕрдВрдд рдХреЗ рдЦрд┐рд▓рд╛рдл рдПрдХ рдкреНрд░рд╢реНрди рд╣реИ, рдЪрд╛рд╣реЗ рдЙрдирдХрд╛ рдИрдореЗрд▓ рдкрддрд╛ рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо?

рдЖрд╡рд╢реНрдпрдХрддрд╛: рдореИрдВ рдХрдИ (рд╢рд╛рдпрдж рд╣рдЬрд╛рд░реЛрдВ) рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╡реНрдпрдХреНрддрд┐рдЧрдд рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореЗрд░реА рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд╕рдВрдж рдПрдХ рдПрдХрд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рд╣реИ, рдФрд░ рдПрдХ рдорд╛рдк рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдорд╛рдкрдХ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкрд╣рдЪрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреИрдЧ рд╣реИред рдореБрдЭреЗ рдИрдореЗрд▓, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдпрд╛ рдХреБрдЫ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рд╣реИ рдЬреЛ рдЙрд╕ рдЯреИрдЧ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд╣рдЪрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдЖрджрд░реНрд╢ рд░реВрдк рдореЗрдВ, рдореИрдВ рдХрд┐рд╕реА рднреА рддрд░рд╣ рдЧреНрд░рд╛рдлреНрдЯ рдХреЛ "рдЬрд╣рд╛рдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ = рдлрд╝реНрд░реЗрдб 'рдЬреИрд╕реЗ рдПрдХ рдЗрдВрдЬреЗрдХреНрд╢рди рд▓рдЧрд╛рддрд╛ рд╣реВрдВ рддрд╛рдХрд┐ рдмреИрдХ рдПрдВрдб рд╣рдореЗрд╢рд╛ рдХреЗрд╡рд▓ рдЙрд╕ рд╡рд┐рд╢реЗрд╖ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдбреЗрдЯрд╛ рд▓реМрдЯрд╛рддрд╛ рд╣реИред

рд╕реБрд░рдХреНрд╖рд╛: рдореИрдВ рд╕реБрд░рдХреНрд╖рд╛ рдЬреЛрдЦрд┐рдо рдХреЛ рд╕рдордЭрддрд╛ рд╣реВрдВ, рдФрд░ рдпрд╣ рдХрд┐ рдХреЛрдИ рднреА рдЬрд╛рдирдХрд╛рд░ + рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдбреЗрдЯрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП http рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреЗрдЧрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореИрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП nginx рдлреНрд░рдВрдЯ рдПрдВрдб рдореЗрдВ рдПрдХ рдЪреЗрдХ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд░рдЦрддрд╛ рд╣реВрдВ рдЬреЛ рдХрд┐ рдЧреНрд░рд╛рдлреНрдЯрд╛рдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдкрд░реАрдд рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред рдореЗрд░реА рдпреЛрдЬрдирд╛ рдпрд╣ рд╣реИ рдХрд┐ nginx GET / api / рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд / рдкреНрд░реЙрдХреНрд╕реА /: datasourceId / * рдХреЗ рд▓рд┐рдП рдЖрдиреЗ рд╡рд╛рд▓реА рдПрдкреАрдЖрдИ рдХреЙрд▓реНрд╕ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░реЗрдЧрд╛ рдФрд░ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдЧрд╛ рдХрд┐ рдЙрдирдореЗрдВ рдПрдХ рдХреНрд▓реЙрдЬрд╝ рдореМрдЬреВрдж рд╣реЛ рдЬреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд▓реЙрдЧ рдЗрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реЛред рдХреЗрдХ рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рд▓рдЧрддрд╛ рд╣реИ :)

aredashboartemplating help wanted prioritnice-to-have typfeature-request

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдпрд╣ рдЕрднреА рднреА рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЪрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛

рд╕рднреА 45 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдлрд┐рд▓рд╣рд╛рд▓ рдпрд╣ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред

рдореИрдВрдиреЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЗрд╕рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдПрдХ рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ "/ рдПрдкреАрдЖрдИ / рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд / рдкреНрд░реЙрдХреНрд╕реА /: рдбреЗрдЯрд╛рд╕реЛрд░реНрд╕рдЖрдИрдб / *" рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдПрдкреАрдЖрдИ рд╡рд╛рдкрд╕ рдЧреНрд░рд╛рдл рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЬрд╣рд╛рдВ рдПрдХ рдЦрдВрдб рдХреЛ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рддрд╛ рд╣реИред Grafana рдХреЗ рднрдпрд╛рдирдХ рдореМрдЦрд┐рдХ рдкреНрд░реЙрдХреНрд╕реА рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди рдХреЗ рд░реВрдк рдореЗрдВ, рдореБрдЭреЗ рдЕрдм рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╕реБрд░рдХреНрд╖рд╛ рдкрд░ рдХреБрдЫ рдЯреЛрд░реНрдХреЗрд▓реЛ рдХреЗ рдкрд╣рд▓реЗ рдмрддрд╛рдП рдЧрдП рд╡рд┐рдЪрд╛рд░реЛрдВ рдФрд░ рдмреИрдХ-рдПрдВрдб рдбреЗрдЯрд╛рдмреЗрд╕ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рд╕реНрддрд░ рдХреЗ рдкреНрд░рд╡рд░реНрддрди рдХреА рдХрдореА рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рд╢рд╛рдпрдж рдЗрд╕ рд╕рдордп рдЧреНрд░рд╛рдлрд╛рдирд╛ рдореЗрдВ рдирд╣реАрдВ рд╣реИред

@abraae рдХреНрдпрд╛ рдЖрдк рд╡рд┐рд╕реНрддреГрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ?

@abraae +1
рдХреНрдпрд╛ рдЖрдк рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдиреЗ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рд╣реИ?

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореЗрд░реЗ рдкрд╛рд╕ рд╕реНрдореГрддрд┐ рд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рд▓рд┐рдП рд╕рдордп рдирд╣реАрдВ рд╣реИ:

  • рдЧреНрд░реИрдлрдирд╛ рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рдордиреЗ рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рд░реВрдк рдореЗрдВ рдиреЗрдЧрдиреЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЕрд░реНрдерд╛рдд рдЧреНрд░рд╛рдлреНрдЯрдирд╛ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдЯреНрд░реИрдлрд┐рдХ рдиреЗрдЧреНрдиреЗрдХреНрд╕ рд╕реЗ рдЧреБрдЬрд░рддреЗ рд╣реИрдВ
  • рдирдЧреАрдирдХреНрд╕ рд╕реЗрдЯ рдЕрдк рдХрд░реЗрдВред / рдПрдкреАрдЖрдИ / рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд / рдкреНрд░реЙрдХреНрд╕реА /: рдбреЗрдЯрд╛ рд╕реЛрд░реНрд╕рдЖрдИрдб / * рдкрд░ рдХреЙрд▓ рдХреИрдкреНрдЪрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
  • рдЬрд╣рд╛рдВ рд╕реЗ рдЧреБрдЬрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рд╡реЗ рдПрдХ рдХреНрд▓реЙрдЬ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдирдЧрдиреЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрддреЗ рд╣реИрдВ

рддреЛ рдореВрд▓ рд░реВрдк рд╕реЗ рдЖрдк рдЬреЛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ рд╣рдореЗрд╢рд╛ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рд╕рднреА рдПрдкреАрдЖрдИ рдХреЙрд▓реЛрдВ рдореЗрдВ рдХреНрд▓реЙрдЬ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рд╡рд╛рдкрд╕ рдЧреНрд░реИрдлрд╛рдирд╛ рдмреИрдХ рдПрдВрдб рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВред

рд╕реНрдореГрддрд┐ рд╕реЗ рдХрд╛рдо рдХрд░рд╡рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдмрд╣реБрдд рдХреБрдЫ рдХрд░рдирд╛ рдкрдбрд╝рд╛ :) рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдЗрд╕рд╕реЗ рдЕрдзрд┐рдХ рдорджрдж рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрддреАред

    -

рдЖрдкрдХреЗ рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП @abraae Thxред
рдХреНрдпрд╛ рдпрд╣ рджреЗрдЦрдирд╛ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ nginx.conf рдореЗрдВ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рд╣реИ?

рдЬрд╝рд░реВрд░, рдпрд╣рд╛рдБ nginx.conf рд╣реИред

[рдЙрдлрд╝ рдЧрд▓рдд рдлрд╝рд╛рдЗрд▓ - рдиреАрдЪреЗ рджреЗрдЦреЗрдВ]

рдореИрдВ рдЖрдкрдХреА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдпрд╣ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рдХрд┐ рдЖрдк рдХреИрд╕реЗ рдХреИрдкреНрдЪрд░ / рдПрдкреАрдЖрдИ / рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд / рдкреНрд░реЙрдХреНрд╕реА /: рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд / рдбреА / *
рддреБрдордиреЗ рдХреНрдпрд╛ рдХрд┐рдпрд╛ ? рдЖрдкрдХрд╛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдирд┐рдпрдо рдХрд╣рд╛рдБ рд╣реИ ?? :-)

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдЧрд▓рдд рдлрд╝рд╛рдЗрд▓, рдЗрд╕реЗ рдЖрдЬрд╝рдорд╛рдПрдБ: https://gist.github.com/abraae/c209b537350b2b2d9703ba126872cc3f

рдпрд╣ рдЕрднреА рднреА рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЪрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛

рдХреНрдпрд╛ рдХреНрд╡реЗрд░реА рдореЗрдВ рдПрдХ рдЪрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ?

рдореИрдВ рдЗрд╕ рдлрдВрдХреНрд╢рди рдХреЛ рднреА рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ рдФрд░ рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдбреИрд╢рдмреЛрд░реНрдб рд╣реИ рдЬрд╣рд╛рдВ рдЖрдк рдПрдХ ITSM рдЯреВрд▓ рд╕реЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЧреНрд░рд╛рдлрд╝ рдХреЗрд╡рд▓ рдЙрди рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рджрд┐рдЦрд╛рдПрдВ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд▓реЙрдЧ рдЗрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд╕рд╛рдЗрди рдХрд┐рдП рдЧрдП рд╣реИрдВред
рдбреИрд╢рдмреЛрд░реНрдб рдореЗрдВ рдПрдХ рдЪрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд░рддреА рд╣реИ, рдЙрд╕ рдХрдВрдкрдиреА рдореЗрдВ рд╣рдорд╛рд░реА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░реЗрдЧреА рдЬрд╣рд╛рдВ рдореИрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВ (рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдп рдмрд┐рдЧреНрд░реЗрдб)ред

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

рдбреИрд╢рдмреЛрд░реНрдб рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдЬреЛ рд▓реЙрдЧ рдЗрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдард┐рди рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╣рдо рдХрд╣рддреЗ рд╣реИрдВ:
$ Grafana.User.Email = [email protected]
$ рдЧреНрд░реЗрдлрд╛рдирд╛ редUser.Name = рдЧрдВрдбреЛрд▓реНрдл
$ Grafana.User.Surname = TheWize
$ Grafana.User.Username = GDog

рдпрд╣ рдмрд╣реБрдд рд╕рд╛рд░реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдФрд░ рд╕реАрдорд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░реЗрдЧрд╛ рдЬреЛ рд▓реЛрдЧреЛрдВ рдХреЗ рдкрд╛рд╕ рдЧреНрд░рд╛рдлрд╛рдирд╛ рдХреЗ рд╕рд╛рде рд╣реИрдВ, рдФрд░ рдореИрдВ рджреГрдврд╝рддрд╛ рд╕реЗ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред

рдЗрд╕ рдкрд░ рдХреЛрдИ рдЦрдмрд░?

рдЗрд╕ рдкрд░ рдХрд┐рд╕реА рднреА рдЕрджреНрдпрддрди?

рдореБрдЭреЗ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рднреА рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд▓рдЧреЗрдЧреАред

рдореИрдВ рднреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдореИрдВ рд╡рд┐рддреНрддреАрдп рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдбреИрд╢рдмреЛрд░реНрдб рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ рдХреЗрд╡рд▓ рд╕рдВрдмрдВрдзрд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛ рдХреЛ рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рдбреИрд╢рдмреЛрд░реНрдб рдХреЗ 25 рдХреЙрдкрд┐рдпрд╛рдВ рдмрдирд╛рдирд╛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рдердХрд╛рдК рд▓рдЧрддрд╛ рд╣реИред

+1

+1

рдореИрдВ рдЪрд░ (рдкреНрд░рд╛рдзрд┐рдХрд░рдг) рддрдХ рдкрд╣реБрдВрдЪ рдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдореВрд▓реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ
рдпрд╣ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рд╣реЛрдЧрд╛

+1
рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗрд╡рд▓ рдЕрдкрдиреЗ рд╡рд┐рднрд╛рдЧ рдХреА рдЬрд╛рдирдХрд╛рд░реА рджреЗрдЦ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдИ рдХреЙрдкреА рдбреИрд╢рдмреЛрд░реНрдб рдмрдирд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдПрд╕реАрдПрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

+1

рд╣рд╛рдп рд╕рдм, рдореИрдВ рдСрд░реНрдбрд┐рдиреЗрд╢рди рдХреЛрдб рдлреНрд▓реЛ [1] рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП OFC рдЖрдЗрдбреЗрдВрдЯрд┐рдЯреА рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ рдХреЗ рд╕рд╛рде Grafana рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рддрд╛рдХрд┐ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рд╡рд┐рднрд┐рдиреНрди UI рдХреЗ рдмреАрдЪ SSO рд╣реЛред рдореБрдЦреНрдп рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдореБрдЭреЗ рдорд▓реНрдЯреА рдЯреЗрдиреЗрдВрд╕реА рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗрдиреА рд╣реЛрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдпрд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЬреЗрдбрдмреНрд▓реНрдпреВрдЯреА рдореЗрдВ рдЖрдИрдбреАрдкреА рджреНрд╡рд╛рд░рд╛ рд▓реМрдЯрд╛рдП рдЧрдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджрд╛рд╡реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЬреЛ рдХрд┐ draf рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП grafana рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХреНрд╡реЗрд░реА рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдореИрдВ рдЙрдкрдпреЛрдЧ рдХрд░реВрдБрдЧрд╛ рд╡рд╣ рджрд╛рд╡рд╛ рдЬрд┐рд╕рдореЗрдВ рдЯреЗрдиреЗрдВрдЯрдЖрдИрдб рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд▓реЙрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИред

[рез] https://grafana.com/docs/auth/generic-oauth/

рдХреНрдпрд╛ рдХрд┐рд╕реА рдиреЗ рдХреБрдЫ рдЗрд╕реА рддрд░рд╣ рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реИ рдпрд╛ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕реБрдЭрд╛рд╡ рд╣реИ?

рдкрд╣рд▓реЗ рд╣реА, рдЖрдкрдХрд╛ рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж

+1

рдореЗрд░рд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рд▓реЙрдЧ-рдЗрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡рд┐рднрд┐рдиреНрди рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ (рдкреНрд░реЛрдореЗрдерд┐рдпрд╕ рд▓реЗрдмрд▓ рдореВрд▓реНрдпреЛрдВ) рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреЗрдореНрдкрд▓реЗрдЯ рдЪрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрдЧрд╛ред

рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдЪрд░ рдХреЗ "рд░реЗрдЧреЗрдХреНрд╕" рдХреНрд╖реЗрддреНрд░ рдХреА рд╕рд╛рдордЧреНрд░реА рдЧрддрд┐рд╢реАрд▓ рдФрд░ рд▓реЙрдЧ-рдЗрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛ рд╕рдХрддреА рд╣реИред

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

рдпрд╣ рдЗрд╕ "рдЧрддрд┐рд╢реАрд▓" рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдореВрд▓реНрдп рд╕реЗрдЯрд┐рдВрдЧ рдЙрдЪреНрдЪ рд╕реНрддрд░ рдХреЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЖрдкрдХрд╛ рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж!

+1

$__currentUserEmail рднрдпрд╛рдирдХ рд╣реЛрдЧрд╛ред

+1

+1

+1 рдореИрдВ рдЕрдкрдиреЗ рд╡рд┐рд╢реНрд╡рд╡рд┐рджреНрдпрд╛рд▓рдп рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдбреИрд╢рдмреЛрд░реНрдб рдмрдирд╛рдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ рддрд╛рдХрд┐ рд╡реЗ рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрдкрдиреЗ рд╡рд╛рдИрдлрд╛рдИ рдФрд░ рд╡реАрдкреАрдПрди рдЖрдБрдХрдбрд╝реЗ рджреЗрдЦ рд╕рдХреЗрдВред рдпрд╣ рдорджрдж рдбреЗрд╕реНрдХ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЙрдирдХреЗ рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдирд┐рд╡рд╛рд░рдг рдХрд░рдиреЗ рдореЗрдВ рдЙрдирдХреА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ!

+1

рдпрд╣ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рдкреНрд░рдЧрддрд┐ рдирд╣реАрдВ рд╣реИ :( рдпрд╣ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред

++

рдирдорд╕реНрддреЗ!

рдХреЛрдИ рднреА рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХреЛ @abraae рдХреЛрдб рдХреЗ рд╕рд╛рде рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рд╕рдлрд▓ рд╣реЛрддрд╛ рд╣реИ?
рдореИрдВ рдЗрд╕реЗ grafana-azure-data-explorer (Kusto DB) рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ

рдзрдиреНрдпрд╡рд╛рдж!!

+1

рдирдорд╕реНрддреЗ,

рдореЗрд░рд╛ рд╕рдорд╛рдзрд╛рди рд╕рд░рд▓рдЬреЙрди рдбреЗрдЯрд╛рд╕реЛрд░реНрд╕ (https://github.com/grafana/simple-json-dasatat) рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ

рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░ рдПрдХреНрд╕-рдЧреНрд░рд╛рдлрд╛рдирд╛-рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реЗрдбрд░ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рдФрд░ рдЯреЗрдореНрдкрд▓реЗрдЯ рдЪрд░ рдХреЛ рдкреЙрдкреНрдпреБрд▓реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдбреАрдПрд╕ рд╕реЗ рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рд╣реИ

рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди: https://github.com/rlklaser/grafana-logged-user

рдпрд╣рд╛рдБ рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдЬреЗрдПрд╕ рдХреЗ рд▓рд┐рдП @rlklaser рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рд╣реИ?
рдпрд╛ рдЖрдк .war рдлрд╝рд╛рдЗрд▓ рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдЬреЗрдПрд╕ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ ((

app.get('/query', function (req, res) {
  res.status(200);
  res.json({ username: req.header('X-Grafana-User') })
});

app.get('/search', function (req, res) {
  res.status(200);
  res.json({ username: req.header('X-Grafana-User') })
});

рдФрд░ рдореИрдВ рдбреАрдПрд╕ рдХреЗ рд░реВрдк рдореЗрдВ https://github.com/simPod/grafana-json-datasource рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛

@ рдЧреМрд░ рдХреЛ grafana defaults.ini рдХреЛ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛:

[рдбрд╛рдЯрд╛рдкреНрд░реЛрд╕реА]

рд▓реЙрдЧрд┐рдВрдЧ = рд╕рддреНрдп
send_user_header = рд╕рд╣реА

рдпрд╣ рдЕрдиреБрд░реЛрдз рджреЛ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдореИрдВрдиреЗ рдЗрд╕ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИред рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдпрд╣ рдореЗрд░реЗ рд╕рд╣рд┐рдд рдХрдИ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рдЙрдкрдХрд░рдг рд╣реЛрдЧрд╛ред

рдХреНрдпрд╛ рдЗрд╕ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ рд╣реИ?

SimpleJson GRAFANA рдореЗрдВ / рдПрдкреАрдЖрдИ / рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ / рдЯреАрдореЛрдВ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдФрд░ рдПрдХ рдЪрд░ рдореЗрдВ "рдирд╛рдо" рдХреЗ рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд╡реЗрд░реА рдХреНрдпрд╛ рд╣реИ?
Grafana http рдПрдкреАрдЖрдИ рдкрд░рд┐рдгрд╛рдо рдХрд╛ рдЙрджрд╛рд╣рд░рдг https://www.logiserv.re/api/user/teams

рд╣рдореЗрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдбреИрд╢рдмреЛрд░реНрдб рдХреЗ рд▓рд┐рдП рднреА рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреА рдмреБрд░реА рддрд░рд╣ рд╕реЗ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

+1

рдЗрд╕ рдкрд░ рдХреЛрдИ рднреА рдЕрдкрдбреЗрдЯ рдЕрдм рдЯреЗрдВрдкрд▓реЗрдЯрд┐рдВрдЧ рдиреЗ __org рдХреЗ рд▓рд┐рдП рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рд╣реИ? https://github.com/grafana/grafana/pull/21790

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ __user рд╡реИрд░рд┐рдПрдмрд▓ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдПрдХ рд╣реА рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣реЛрдЧрд╛:

┬а┬а┬а┬аtemplateSrv.setGlobalVariable('__user',┬а{
┬а┬а┬а┬а┬а┬аvalue:┬а{
┬а┬а┬а┬а┬а┬а┬а┬аname:┬аcontextSrv.user.login,
┬а┬а┬а┬а┬а┬а┬а┬аid:┬аcontextSrv.user.id,
┬а┬а┬а┬а┬а┬а┬а┬аtoString:┬аfunction()┬а{
┬а┬а┬а┬а┬а┬а┬а┬а┬а┬аreturn┬аthis.id;
┬а┬а┬а┬а┬а┬а┬а┬а},
┬а┬а┬а┬а┬а┬а},
┬а┬а┬а┬а});

++ 1
рдЧреНрд░реЗрдлрд╛рдирд╛ рджреЗрд╡ рдЯреАрдо,
рдпрд╣ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╕реБрд╡рд┐рдзрд╛ рд╣реЛрдЧреА рдФрд░ рдпрд╣ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд╕рд╛рди рдмрдирд╛ рджреЗрдЧрд╛, рд╣рдо рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдЧреНрд░реЗрдлрд╝рд╛рдирд╛ рдЖрдзрд╛рд░рд┐рдд рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рд╕реЗрд╡рд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЬрд┐рд╕рдореЗрдВ рдХрдИ рдбреЗрдЯрд╛ рд╕реНрд░реЛрддреЛрдВ рдХреЗ рд╕рд╛рде рдХрдиреЗрдХреНрдЯрд┐рд╡рд┐рдЯреА рд╢рд╛рдорд┐рд▓ рд╣реИред
рдмрд╣реБ рдХрд┐рд░рд╛рдпреЗрджрд╛рд░ рдХреА рддреИрдирд╛рддреА рдореЗрдВ рдбреЗрдЯрд╛ рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рд╢реЗрд╖рддрд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реЛрдЧреАред

++ 1, рд╣рд╛рдп рдЧреНрд░рд╛рдлрд╛рдирд╛ рджреЗрд╡ рдЯреАрдо,
рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╕реБрд╡рд┐рдзрд╛ рд╣реИ, рд╣рдо рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреНрд╡реЗрд░реА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдбреЗрдЯрд╛ рдПрдХреНрд╕реЗрд╕ рдХрдВрдЯреНрд░реЛрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЧреБрдВрдЬрд╛рдЗрд╢ рджреЗрдЦрддреЗ рд╣реИрдВред

рдЧреНрд░реЗрдлрд╛рдирд╛ рджреЗрд╡ рдЯреАрдо, рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж !!!

рдбреИрд╢рдмреЛрд░реНрдбреНрд╕ рдЪрд░ рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЗ рдЕрдВрджрд░ рдХреНрд╡реЗрд░реА рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рдЪрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕