рдирдорд╕реНрддреЗ! рдЕрдкрдиреЗ рдкрд╛рдареНрдпрдХреНрд░рдо рдХреЗ рдПрдХ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рдРрд╕реЗ рдШрд░реЗрд▓реВ рдХреНрд▓рд╛рдЙрдб рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдкрд░ рд╢реЛрдз рдХрд░ рд░рд╣рд╛ рдерд╛ . рдпрд╣ рдордВрдЪ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рд╕реЗрд╡рд╛рдПрдВ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХрднреА-рдХрднреА рдЗрди рд╕реЗрд╡рд╛рдУрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдХрд╛рдлреА рд╡реНрдпрд╛рдкрдХ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЗ рд╕рд╛рде рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдХреНрд▓рд╛рдЙрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдРрд╕реЗ рд╣реА рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

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

рдореВрд▓ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрдореА рд╣реИ - рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рднреА рджреЛрд╖-рд╕рд╣рд┐рд╖реНрдгреБ рдирд╣реАрдВ рд╣реИред рдЕрд░реНрдерд╛рддреН, рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреА рд╕рдореНрдкреВрд░реНрдг рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреА рд╡реНрдпрд╡рд╣рд╛рд░реНрдпрддрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИред рдпрджрд┐ рдпрд╣ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рдП рдпрд╛ 10 рд▓реЛрдЧ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдпреВрдЖрдИ рдЦреЛрд▓реЗрдВ, рддреЛ рд╕рдорд╕реНрдпрд╛ рдЙрддреНрдкрдиреНрди рд╣реЛ рдЬрд╛рдПрдЧреАред
рдЗрдирдХрд╛ рд╕рдорд╛рдзрд╛рди рд╕рд░рд▓рддрд╛ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рдЖрдкрдХреЛ рдмрд╕ рдПрдХ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдХрдИ рд╕рдорд╛рди рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрдиреЛрдВ рдХреЛ рддреИрдирд╛рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ L3 рдмреИрд▓реЗрдВрд╕рд░ рдХреЗ рдЕрдВрддрд░реНрдЧрдд рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдЗрддрдирд╛ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИред рдЧреНрд░рд╛рдлрд╛рдирд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ (рдбреЗрдЯрд╛рдмреЗрд╕, рдбреИрд╢рдмреЛрд░реНрдб, рдЧреНрд░рд╛рдл рдЖрджрд┐ рдХреЗ рдкрде) рдХреЛ рд╕реАрдзреЗ рдЕрдкрдиреА рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреА рдбрд┐рд╕реНрдХ рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдпрджрд┐ рдЖрдк UI рдореЗрдВ рдХреЛрдИ рд╕реЗрдЯрд┐рдВрдЧ рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ рдпреЗ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗрд╡рд▓ рдЙрд╕ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрдВрдЧреЗ рдЬрд╣рд╛рдВ рдмреИрд▓реЗрдВрд╕рд░ рдиреЗ рд╣рдореЗрдВ рднреЗрдЬрд╛ рд╣реИред рдЗрд╕рд╕реЗ рд╣рдорд╛рд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЕрд╕рдВрдЧрдд рд╣реЛ рдЬрд╛рдПрдВрдЧреА, рдЗрд╕реЗ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдПрдВ рдЖрдПрдВрдЧреАред
рдпрд╣рд╛рдВ рдПрдХ рдЕрдиреНрдп рдбрд╛рдЯрд╛рдмреЗрд╕ рдмрдЪрд╛рд╡ рдХреЗ рд▓рд┐рдП рдЖрдПрдЧрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, MySQL рдпрд╛ рдЗрд╕рдХреЗ рд╕рдордХрдХреНрд╖ред рд╣рдо рдЧреНрд░рд╛рдлрд╛рдирд╛ рдХреЛ рдмрддрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдЙрд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдЗрд╕ "рдЕрддрд┐рд░рд┐рдХреНрдд" рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХреЗ рдмрд╛рдж, рдкреНрд░рддреНрдпреЗрдХ рдорд╢реАрди рдкрд░ рдПрдХ рдмрд╛рд░ рдЗрд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдкрде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдФрд░ рдХрд┐рд╕реА рднреА рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдкрд░ рдЕрдиреНрдп рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛; рд╡реЗ рджреВрд╕рд░реЛрдВ рддрдХ рдлреИрд▓ рдЬрд╛рдпреЗрдВрдЧреЗред
рдЕрдВрддрд┐рдо рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЕрд╡рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдЖрд░реЗрдЦ рдпрд╣рд╛рдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

рдЖрдЗрдпреЗ рдЕрдкрдиреЗ рд╣рд╛рдереЛрдВ рд╕реЗ рдЙрдард╛рдирд╛ рд╕реАрдЦреЗрдВ
MySQL рдФрд░ ClickHouse
рдмрдЯрди рджрдмрд╛рдХрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЛ рдХреНрд░рд┐рдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рд╕реАрдЦрдирд╛ рдкрдбрд╝рддрд╛ рдерд╛ рдХрд┐ рдЗрд╕рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХ рдХреЛ рд╣реИрдВрдбрд▓ рд╕реЗ рдХреИрд╕реЗ рдЙрдард╛рдпрд╛ рдЬрд╛рдП рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рдПред
рдпрд╣рд╛рдВ рд╣рдореЗрдВ Yandex.Cloud рд╕реЗ рд╕рд╣рд╛рдпрддрд╛ рдорд┐рд▓реЗрдЧреА, рдЬреЛ рдкреНрд░рдмрдВрдзрд┐рдд рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ L3 рдмреИрд▓реЗрдВрд╕рд░реНрд╕, ClickHouse рдФрд░ MySQL рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдХреЗрд╡рд▓ рдкреИрд░рд╛рдореАрдЯрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдФрд░ рддрдм рддрдХ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╕рдм рдХреБрдЫ рдХрд╛рд░реНрдпрд╢реАрд▓ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рди рд▓реЗ рдЖрдПред
рдореИрдВрдиреЗ рдкрдВрдЬреАрдХрд░рдг рдХрд░рд╛рдпрд╛, рдПрдХ рдХреНрд▓рд╛рдЙрдб рдФрд░ рдПрдХ рднреБрдЧрддрд╛рди рдЦрд╛рддрд╛ рдмрдирд╛рдпрд╛ред рдЗрд╕рдХреЗ рдмрд╛рдж, рдореИрдВ рдХреНрд▓рд╛рдЙрдб рдкрд░ рдЧрдпрд╛ рдФрд░ рдиреНрдпреВрдирддрдо рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде MySQL рдФрд░ ClickHouse рдХреНрд▓рд╕реНрдЯрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ред рдЙрдирдХреЗ рд╕рдХреНрд░рд┐рдп рд╣реЛрдиреЗ рддрдХ рдЗрдВрддрдЬрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ред


рдЖрдкрдХреЛ рдпрд╣ рднреА рдпрд╛рдж рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдПрдВ рдФрд░ рд▓реЙрдЧрд┐рди рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрд╕ рддрдХ рдкрд╣реБрдВрдЪ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред рдореИрдВ рдпрд╣рд╛рдВ рд╡рд┐рд╕реНрддрд╛рд░ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдКрдВрдЧрд╛ - рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реИред
рдХрдо рд╕реНрдкрд╖реНрдЯ рд╡рд┐рд╡рд░рдг рдпрд╣ рдерд╛ рдХрд┐ рдЗрди рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдПрдХрд╛рдзрд┐рдХ рд╣реЛрд╕реНрдЯ рд╣реЛрддреЗ рд╣реИрдВ, рдЬреЛ рдЙрдирдХреА рдЧрд▓рддреА рд╕рд╣рдирд╢реАрд▓рддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЧреНрд░рд╛рдлрд╛рдирд╛ рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдбрд╛рдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рд╣реЛрд╕реНрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд▓рдВрдмрд╛ рдкрдвреЗрдВ рдмрд╛рджрд▓реЛрдВ рдиреЗ рдореБрдЭреЗ рд╕рдорд╛рдзрд╛рди рддрдХ рдкрд╣реБрдВрдЪрд╛рдпрд╛ред рдЗрд╕рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдореЗрдЬрдмрд╛рди рдЙрд╕ рдкреНрд░рдЬрд╛рддрд┐ рдХрд╛ рд╣реИ c-<cluster_id>.rw.mdb.yandexcloud.net рд╡рд░реНрддрдорд╛рди рд╕рдХреНрд░рд┐рдп рдХреНрд▓рд╕реНрдЯрд░ рдорд╛рд╕реНрдЯрд░ рд╣реЛрд╕реНрдЯ рдХреЛ рд╕рдВрдЧрдд рдЖрдИрдбреА рдХреЗ рд╕рд╛рде рдореИрдк рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рд╣рдо рдЧреНрд░рд╛рдлрд╛рдирд╛ рдХреЛ рджреЗрдВрдЧреЗред
рд╡реЗрдм рд╕рд░реНрд╡рд░
рдЕрдм рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреА рдмрд╛рд░реА рд╣реИред рдЪрд▓рд┐рдП рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рд╕реЗрдЯрдЕрдк рдХрд░рддреЗ рд╣реИрдВред Linux рдФрд░ рд╣рдо рдЕрдкрдиреЗ рд╣рд╛рдереЛрдВ рд╕реЗ рдЗрд╕ рдкрд░ рдЧреНрд░рд╛рдлрд╛рдирд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВрдЧреЗред


рдЖрдЗрдП ssh рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред
sudo apt-get install -y apt-transport-https software-properties-common wget
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
sudo add-apt-repository "deb https://packages.grafana.com/enterprise/deb stable main"
sudo apt-get update
sudo apt-get install -y grafana-enterprise
рдЙрд╕рдХреЗ рдмрд╛рдж, рд╣рдо systemctl рдХреЗ рдЕрдВрддрд░реНрдЧрдд Grafana рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗ рдФрд░ ClickHouse рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд▓рдЧрдЗрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВрдЧреЗ (рд╣рд╛рдВ, рдпрд╣ рдореВрд▓ рдкреИрдХреЗрдЬ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИ)ред
sudo systemctl start grafana-server
sudo systemctl enable grafana-server
sudo grafana-cli plugins install vertamedia-clickhouse-datasourceрдмрд╕ рдЗрддрдирд╛ рд╣реА, рдЗрд╕ рд╕рд░рд▓ рдЖрджреЗрд╢ рдХреЗ рдмрд╛рдж
sudo service grafana-server startрд╣рдо рдПрдХ рд╡реЗрдм рд╕рд░реНрд╡рд░ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВрдЧреЗред рдЕрдм рдЖрдк рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХрд╛ рдмрд╛рд╣рд░реА рдЖрдИрдкреА рдкрддрд╛ рджрд░реНрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдкреЛрд░реНрдЯ 3000 рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕реБрдВрджрд░ рдЧреНрд░рд╛рдлрд╛рдирд╛ рдпреВрдЖрдИ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред

рд▓реЗрдХрд┐рди рдЬрд▓реНрджрдмрд╛рдЬреА рди рдХрд░реЗрдВ, рдЧреНрд░рд╛рдлрд╛рдирд╛ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП MySQL рдХрд╛ рдкрде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдпрд╛рдж рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ред
рдЧреНрд░рд╛рдлрд╝рд╛рдирд╛ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХрд╛ рд╕рдВрдкреВрд░реНрдг рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИ /etc/grafana/grafana.ini. рдЖрдкрдХреЛ рдЬрд┐рд╕ рд▓рд╛рдЗрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рд╡рд╣ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
;url =рд╣рдо рд╣реЛрд╕реНрдЯ рдХреЛ MySQL рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд╕рдордХреНрд╖ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдКрдкрд░ рдЪрд┐рддреНрд░ рдореЗрдВ рдЧреНрд░рд╛рдлрд╛рдирд╛ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЙрдЧрд┐рди рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рд╣реИ, рдЬреЛ рджреЛрдиреЛрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдмрд░рд╛рдмрд░ рд╣реИрдВред admin.
рдЖрдк sed рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
sudo sed -i "s#.*;url =.*#url = mysql://${MYSQL_USERNAME}:${MYSQL_PASSWORD}@${MYSQL_CLUSTER_URI}#" /etc/grafana/grafana.ini
sudo sed -i "s#.*;admin_user =.*#admin_user = ${GRAFANA_USERNAME}#" /etc/grafana/grafana.ini
sudo sed -i "s#.*;admin_password =.*#admin_password = ${GRAFANA_PASSWORD}#" /etc/grafana/grafana.ini
рдЕрдм рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдЖ рдЧрдпрд╛ рд╣реИ!
sudo service grafana-server restartрдЕрдм рдЧреНрд░рд╛рдлрд╛рдирд╛ рдпреВрдЖрдИ рдореЗрдВ рд╣рдо ClickHouse рдХреЛ рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВрдЧреЗред
рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдХрд╛рд░реНрдпрд╢реАрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛:

рдореИрдВрдиреЗ рдЬреЛ URL рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рд╣реИ https://c-<cluster_id>.rw.mdb.yandexcloud.net:8443
рд╕рднреА! рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдХрд╛рд░реНрдпрд╢реАрд▓ VM рд╣реИ рдЬрд┐рд╕рдХрд╛ рд╡реЗрдм рд╕рд░реНрд╡рд░ CH рдФрд░ MySQL рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА ClickHouse рдкрд░ рдбреЗрдЯрд╛рд╕реЗрдЯ рдЕрдкрд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдбреИрд╢рдмреЛрд░реНрдб рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╣рдо рдЕрднреА рддрдХ рдЕрдкрдирд╛ рд▓рдХреНрд╖реНрдп рд╣рд╛рд╕рд┐рд▓ рдирд╣реАрдВ рдХрд░ рдкрд╛рдП рд╣реИрдВ рдФрд░ рдкреВрд░реНрдг рд╡рд┐рдХрд╕рд┐рдд рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪрд╛ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░ рдкрд╛рдП рд╣реИрдВред
рдкреИрдХрд░
Yandex.Cloud рдЖрдкрдХреЛ рдХрд┐рд╕реА рдореМрдЬреВрджрд╛ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреА рдбрд┐рд╕реНрдХ рдЫрд╡рд┐ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ - рдХрд┐рд╕реА рднреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕рдорд╛рди рдорд╢реАрдиреЗрдВред рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реА рдмрд╛рдд рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдПрдВрдЧреЗред рдЫрд╡рд┐ рдХреЛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдврдВрдЧ рд╕реЗ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдЙрдкрдХрд░рдг рд▓реЗрдВ рд╣рд╛рд╢рд┐рдХреЙрд░реНрдк рд╕реЗ. рдпрд╣ рдЫрд╡рд┐ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ json рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЗрдирдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрддрд╛ рд╣реИред
рд╣рдорд╛рд░реА JSON рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рджреЛ рдмреНрд▓реЙрдХ рд╣реЛрдВрдЧреЗ: рдмрд┐рд▓реНрдбрд░реНрд╕ рдФрд░ рдкреНрд░реЛрд╡рд┐рдЬрдирд░реНрд╕ред рдкрд╣рд▓рд╛ рдЦрдВрдб рдЫрд╡рд┐ рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдПрдХ рдЗрдХрд╛рдИ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░рд╛ рдЦрдВрдб рдЙрд╕рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╕рд╛рдордЧреНрд░реА рднрд░рдиреЗ рдХреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред
рдмрд┐рд▓реНрдбрд░реЛрдВ
{
"builders": [
{
"type": "yandex",
"endpoint": "{{user `endpoint`}}",
"folder_id": "<folder_id>",
"subnet_id": "{{user `subnet_id`}}",
"zone": "{{user `zone`}}",
"labels": {},
"use_ipv4_nat": true,
"use_internal_ip": false,
"service_account_key_file": "<service_account_key_file>",
"image_name": "grafana-{{timestamp}}",
"image_family": "grafana",
"image_labels": {},
"image_description": "GRAFANA",
"source_image_family": "ubuntu-1804-lts",
"disk_size_gb": 3,
"disk_type": "network-hdd",
"ssh_username": "ubuntu"
}
],
...
}рдЗрд╕ рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ, рдЖрдкрдХреЛ рдХреНрд▓рд╛рдЙрдб рдореЗрдВ рдЙрд╕ рдЕрдиреБрднрд╛рдЧ рдХрд╛ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬрд╣рд╛рдВ рдЖрдк рдЫрд╡рд┐ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА рдЗрд╕ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рдмрдирд╛рдП рдЧрдП рд╕реЗрд╡рд╛ рдЦрд╛рддреЗ рдХреА рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкрде рднреА рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЖрдк рд╕рдВрдмрдВрдзрд┐рдд рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрд╡рд╛ рдЦрд╛рддреЗ рдФрд░ рдХреБрдВрдЬрд┐рдпрд╛рдБ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ .
рдпрд╣ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдбрд┐рд╕реНрдХ рдЫрд╡рд┐ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмрдирд╛рдИ рдЬрд╛рдПрдЧреА ubuntu-1804-lts, рдЫрд╡рд┐ рдкрд░рд┐рд╡рд╛рд░ рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рд░рдЦрд╛ рдЧрдпрд╛ GRAFANA рдирд╛рдо рдХреЗ рддрд╣рдд grafana-{{timestamp}}.
рдкреНрд░рд╛рд╡рдзрд╛рдирдХрд░реНрддрд╛
рдЕрдм рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рд╣рд┐рд╕реНрд╕рд╛ рдЖрддрд╛ рд╣реИред рдпрд╣ рдЙрди рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдЕрдиреБрдХреНрд░рдо рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдЧрд╛ рдЬрд┐рдиреНрд╣реЗрдВ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдкрд░ рдЙрд╕рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдбрд┐рд╕реНрдХ рдЫрд╡рд┐ рдореЗрдВ рд╕реНрдерд┐рд░ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
{
...,
"provisioners": [
{
"type": "shell",
"pause_before": "5s",
"scripts": [
"prepare-ctg.sh"
]
},
{
"type": "file",
"source": "setup.sh",
"destination": "/opt/grafana/setup.sh"
},
{
"type": "shell",
"execute_command": "sudo {{ .Vars }} bash '{{ .Path }}'",
"pause_before": "5s",
"scripts": [
"install-packages.sh",
"grafana-setup.sh",
"run-setup-at-reboot.sh"
]
}
]
}рдпрд╣рд╛рдВ рд╕рднреА рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ 3 рдЪрд░рдгреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдкрд╣рд▓рд╛ рдЪрд░рдг рдПрдХ рд╕рд░рд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдирд╛ рд╣реИ рдЬреЛ рдПрдХ рд╕рд╣рд╛рдпрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рддрд╛ рд╣реИред
рддреИрдпрд╛рд░-ctg.sh:
#!/bin/bash
sudo mkdir -p /opt/grafana
sudo chown -R ubuntu:ubuntu /opt/grafanaрдЕрдЧрд▓реЗ рдЪрд░рдг рдореЗрдВ, рд╣рдо рдЗрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд░рдЦрддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рдЪрд▓рд╛рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЙрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХреЛ рдбрд╛рд▓ рджреЗрдЧреА рдЬрд┐рдиреНрд╣реЗрдВ рдЧреНрд░рд╛рдлрд╛рдирд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдФрд░ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЛ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░реЗрдЧреАред
рд╕реЗрдЯрдЕрдк.рд╢:
#!/bin/bash
CLUSTER_ID="<cluster_id>"
USERNAME="<username>"
PASSWORD="<password>"
sudo sed -i "s#.*;url =.*#url = mysql://${USERNAME}:${PASSWORD}@c-${CLUSTER_ID}.rw.mdb.yandexcloud.net#" /etc/grafana/grafana.ini
sudo sed -i "s#.*;admin_user =.*#admin_user = ${USERNAME}#" /etc/grafana/grafana.ini
sudo sed -i "s#.*;admin_password =.*#admin_password = ${PASSWORD}#" /etc/grafana/grafana.ini
sudo service grafana-server restartрдЗрд╕рдХреЗ рдмрд╛рдж 3 рдХрд╛рдо рдмрд╛рдХреА рд░рд╣ рдЬрд╛рддреЗ рд╣реИрдВ:
1) рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
2) systemctl рдХреЗ рдЕрдВрддрд░реНрдЧрдд Grafana рдЪрд▓рд╛рдПрдБ рдФрд░ ClickHouse рдкреНрд▓рдЧрдЗрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
3) рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдЪрд╛рд▓реВ рдХрд░рдиреЗ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж setup.sh рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд░рди рдХрддрд╛рд░ рдореЗрдВ рдбрд╛рд▓реЗрдВред
рдЗрдВрд╕реНрдЯреЙрд▓-рдкреИрдХреЗрдЬ.sh:
#!/bin/bash
sudo systemd-run --property='After=apt-daily.service apt-daily-upgrade.service' --wait /bin/true
sudo apt-get install -y apt-transport-https
sudo apt-get install -y software-properties-common wget
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
sudo add-apt-repository "deb https://packages.grafana.com/enterprise/deb stable main"
sudo apt-get update
sudo apt-get install -y grafana-enterprise grafana-setup.sh:
#!/bin/bash
sudo systemctl start grafana-server
sudo systemctl enable grafana-server
sudo grafana-cli plugins install vertamedia-clickhouse-datasourceрд░рди-рд╕реЗрдЯрдЕрдк-рдПрдЯ-рд░рд┐рдмреВрдЯ.рд╢:
#!/bin/bash
chmod +x /opt/grafana/setup.sh
cat > /etc/cron.d/first-boot <<EOF
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
@reboot root /bin/bash /opt/grafana/setup.sh > /var/log/yc-setup.log 2>&1
EOF
chmod +x /etc/cron.d/first-boot;рдЕрдм рдмрд╕ рдкреИрдХрд░ рдХреЛ рдЪрд▓рд╛рдирд╛ рд╣реИ рдФрд░ рдЫрд╡рд┐ рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рд░рдЦрдирд╛ рд╣реИред рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдмрдирд╛рддреЗ рд╕рдордп, рдЖрдк рдЗрд╕реЗ рдмреВрдЯ рдбрд┐рд╕реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдПрдХ рддреИрдпрд╛рд░ рдЧреНрд░рд╛рдлрд╛рдирд╛ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдорд┐рд▓реЗрдЧрд╛ред


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


рдЕрдВрддрд┐рдо рдЙрджрд╛рд╣рд░рдг рд╕рдореВрд╣ рд╕реЗрдЯрд┐рдВрдЧ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╣реИред рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рд▓рдХреНрд╖реНрдп рд╕рдореВрд╣ рдЖрдкрдХреЛ рдХреБрдЫ рдХреНрд▓рд┐рдХ рдХреЗ рд╕рд╛рде рдЗрд╕ рд╕рдореВрд╣ рдХреА рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрдиреЛрдВ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ L3 рдмреИрд▓реЗрдВрд╕рд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред

рдмреИрд▓реЗрдВрд╕рд░ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХрд░рддреЗ рд╕рдордп, рдореИрдВрдиреЗ рджреЛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБрдУрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛:
- рдореИрдВрдиреЗ рдЗрд╕реЗ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдмрдирд╛рдпрд╛ рдХрд┐ рдмреИрд▓реЗрдВрд╕рд░ рдкреЛрд░реНрдЯ 80 рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЯреНрд░реИрдлрд┐рдХ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛ рдФрд░ рдЙрд╕реЗ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреЗ рдкреЛрд░реНрдЯ 3000 рдкрд░ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд░реЗрдЧрд╛, рдареАрдХ рдЙрд╕реА рд╕реНрдерд╛рди рдкрд░ рдЬрд╣рд╛рдВ рдЧреНрд░рд╛рдлрд╛рдирд╛ рд░рд╣рддрд╛ рд╣реИред
- рдкреЛрд░реНрдЯ 3000 рдкрд░ рдорд╢реАрдиреЛрдВ рдХреЛ рдкрд┐рдВрдЧ рдХрд░рдХреЗ рдЙрдирдХреЗ рд▓рд┐рдП рд╕реНрд╡рд╛рд╕реНрдереНрдп рдЬрд╛рдВрдЪ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХреА рдЧрдИред

рд▓рдШреБ рд╕рд╛рд░рд╛рдВрд╢
рдЕрдВрддрддрдГ, рд╣рдо рд╡рд╛рдВрдЫрд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЕрд╡рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рддреИрдирд╛рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реБрдП, рдФрд░ рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрддреНрдпрдзрд┐рдХ рд╕реНрдерд┐рд░ рдЧреНрд░рд╛рдлрд╛рдирд╛ рд╕реЗрд╡рд╛ рд╣реИред рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ рдХреЗ рд░реВрдк рдореЗрдВ рдмреИрд▓реЗрдВрд╕рд░ рдЖрдИрдкреА рдкрддрд╛ рдФрд░ рдЙрд╕рдореЗрдВ рдбреЗрдЯрд╛рд╕реЗрдЯ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ClickHouse рдХреНрд▓рд╕реНрдЯрд░ рд╣реЛрд╕реНрдЯ рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдпрд╣ рддреЛ рдЬреАрдд рдЬреИрд╕рд╛ рд▓рдЧреЗрдЧрд╛? рд╣рд╛рдБ, рд╡рд┐рдЬрдп. рд▓реЗрдХрд┐рди рдХреБрдЫ рдмрд╛рдд рдЕрднреА рднреА рдореБрдЭреЗ рдкрд░реЗрд╢рд╛рди рдХрд░рддреА рд╣реИред рдЙрдкрд░реЛрдХреНрдд рдкреВрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдореИрдиреБрдЕрд▓ рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдкрдбрд╝рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рднреА рд╕реНрдХреЗрд▓реЗрдмрд▓ рдирд╣реАрдВ рд╣реИ, рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ рдореИрдВ рдЗрд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдЕрдЧрд▓рд╛ рднрд╛рдЧ рдЗрд╕реА рдкрд░ рд╕рдорд░реНрдкрд┐рдд рд╣реЛрдЧрд╛ред
рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдПрдХреАрдХрд░рдг
рд╣рдо рдлрд┐рд░ рд╕реЗ HashiCorp рдХреЗ рдПрдХ рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ рдЬрд┐рд╕рдХрд╛ рдирд╛рдо рд╣реИ . рдпрд╣ рдЖрдкрдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдкрд╛рд░рд┐рдд рдХреБрдЫ рдЪрд░реЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдПрдХ рдмрдЯрди рдХреЗ рдХреНрд▓рд┐рдХ рдкрд░ рд╕рдВрдкреВрд░реНрдг рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЕрд╡рд╕рдВрд░рдЪрдирд╛ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред рдЖрдЗрдП рдПрдХ рдРрд╕реА рд░реЗрд╕рд┐рдкреА рд▓рд┐рдЦреЗрдВ рдЬрд┐рд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЕрдиреБрднрд╛рдЧреЛрдВ рдореЗрдВ рдХрдИ рдмрд╛рд░ рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗред
рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХреЗ рд╕рд╛рде рд╕рд╛рд░рд╛ рдХрд╛рдо рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рд▓рд┐рдЦрдиреЗ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ (*.tf) рдФрд░ рдЙрд╕ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХрд╛ рдирд┐рд░реНрдорд╛рдгред
рдЪрд░
рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЖрд░рдВрдн рдореЗрдВ рд╣реА рд╣рдо рд╡реЗ рдЪрд░ рд░рдЦреЗрдВрдЧреЗ рдЬрд┐рди рдкрд░ рдпрд╣ рдирд┐рд░реНрднрд░ рдХрд░реЗрдЧрд╛ рдХрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЛ рдХрд╣рд╛рдВ рдФрд░ рдХреИрд╕реЗ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
variable "oauth_token" {
type = string
default = "<oauth-token>"
}
variable "cloud_id" {
type = string
default = "<cloud-id>"
}
variable "folder_id" {
type = string
default = "<folder_id>"
}
variable "service_account_id" {
type = string
default = "<service_account_id>"
}
variable "image_id" {
type = string
default = "<image_id>"
}
variable "username" {
type = string
default = "<username>"
}
variable "password" {
type = string
default = "<password>"
}
variable "dbname" {
type = string
default = "<dbname>"
}
variable "public_key_path" {
type = string
default = "<path to ssh public key>"
}рдХрд┐рд╕реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреА рдкреВрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдбрд┐рд╕реНрдХ рдЗрдореЗрдЬ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдФрд░ рдЗрди рдЪрд░реЛрдВ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рддрдХ рд╕реАрдорд┐рдд рд╣реЛ рдЬрд╛рдПрдЧреАред рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рддрд╛ рд╣реВрдВ рдХрд┐ рд╡реЗ рдХрд┐рд╕рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИрдВ:
oauth_рдЯреЛрдХрди тАФ рдХреНрд▓рд╛рдЙрдб рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреЛрдХрдиред рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ .
рдХреНрд▓рд╛рдЙрдб_рдЖрдИрдбреА тАФ рдЙрд╕ рдХреНрд▓рд╛рдЙрдб рдХрд╛ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдЬрд╣рд╛рдВ рд╣рдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рддреИрдирд╛рдд рдХрд░реЗрдВрдЧреЗ
рдлрд╝реЛрд▓реНрдбрд░_рдЖрдИрдбреА тАФ рдЙрд╕ рдЕрдиреБрднрд╛рдЧ рдХрд╛ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдЬрд╣рд╛рдВ рд╣рдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рддреИрдирд╛рдд рдХрд░реЗрдВрдЧреЗ
рд╕реЗрд╡рд╛_рдЦрд╛рддрд╛_рдЖрдИрдбреА тАФ рдХреНрд▓рд╛рдЙрдб рдХреЗ рд╕рдВрдмрдВрдзрд┐рдд рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рд╕реЗрд╡рд╛ рдЦрд╛рддреЗ рдХрд╛ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛.
рдЫрд╡рд┐_рдЖрдИрдбреА тАФ рдкреИрдХрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╛рдкреНрдд рдбрд┐рд╕реНрдХ рдЫрд╡рд┐ рдХрд╛ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо ╨╕ рдкрд╛рд╕рд╡рд░реНрдб тАФ рдбреЗрдЯрд╛рдмреЗрд╕ рдФрд░ рдЧреНрд░рд╛рдлрд╛рдирд╛ рд╡реЗрдм рд╕рд░реНрд╡рд░ рджреЛрдиреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб
dbname тАФ CH рдФрд░ MySQL рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рднреАрддрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдирд╛рдо
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ_рдХреБрдВрдЬреА_рдкрде тАФ рдЖрдкрдХреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ ssh рдХреБрдВрдЬреА рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкрде, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдк рдирд╛рдо рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ubuntu рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрдиреЛрдВ рдХреЗ рд▓рд┐рдП
рдЕрдкрдирд╛ рдкреНрд░рджрд╛рддрд╛ рд╕реЗрдЯ рдЕрдк рдХрд░рдирд╛
рдЕрдм рдЖрдкрдХреЛ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдкреНрд░рджрд╛рддрд╛ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╛рдВрдбреЗрдХреНрд╕:
provider "yandex" {
token = var.oauth_token
cloud_id = var.cloud_id
folder_id = var.folder_id
zone = "ru-central1-a"
}
рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣рд╛рдВ рд╣рдо рдКрдкрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЪрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдиреЗрдЯрд╡рд░реНрдХ рдФрд░ рдХреНрд▓рд╕реНрдЯрд░
рдЕрдм рд╣рдо рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рдмрдирд╛рдПрдВрдЧреЗ рдЬрд┐рд╕рдореЗрдВ рд╣рдорд╛рд░реЗ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЗ рддрддреНрд╡ рд╕рдВрд╡рд╛рдж рдХрд░реЗрдВрдЧреЗ, рддреАрди рд╕рдмрдиреЗрдЯ (рдкреНрд░рддреНрдпреЗрдХ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдПрдХ) рдмрдирд╛рдПрдВрдЧреЗ рдФрд░ CH рдФрд░ MySQL рдХреНрд▓рд╕реНрдЯрд░ рдмрдирд╛рдПрдВрдЧреЗред
resource "yandex_vpc_network" "grafana_network" {}
resource "yandex_vpc_subnet" "subnet_a" {
zone = "ru-central1-a"
network_id = yandex_vpc_network.grafana_network.id
v4_cidr_blocks = ["10.1.0.0/24"]
}
resource "yandex_vpc_subnet" "subnet_b" {
zone = "ru-central1-b"
network_id = yandex_vpc_network.grafana_network.id
v4_cidr_blocks = ["10.2.0.0/24"]
}
resource "yandex_vpc_subnet" "subnet_c" {
zone = "ru-central1-c"
network_id = yandex_vpc_network.grafana_network.id
v4_cidr_blocks = ["10.3.0.0/24"]
}
resource "yandex_mdb_clickhouse_cluster" "ch_cluster" {
name = "grafana-clickhouse"
environment = "PRODUCTION"
network_id = yandex_vpc_network.grafana_network.id
clickhouse {
resources {
resource_preset_id = "s2.micro"
disk_type_id = "network-ssd"
disk_size = 16
}
}
zookeeper {
resources {
resource_preset_id = "s2.micro"
disk_type_id = "network-ssd"
disk_size = 10
}
}
database {
name = var.dbname
}
user {
name = var.username
password = var.password
permission {
database_name = var.dbname
}
}
host {
type = "CLICKHOUSE"
zone = "ru-central1-a"
subnet_id = yandex_vpc_subnet.subnet_a.id
}
host {
type = "CLICKHOUSE"
zone = "ru-central1-b"
subnet_id = yandex_vpc_subnet.subnet_b.id
}
host {
type = "CLICKHOUSE"
zone = "ru-central1-c"
subnet_id = yandex_vpc_subnet.subnet_c.id
}
host {
type = "ZOOKEEPER"
zone = "ru-central1-a"
subnet_id = yandex_vpc_subnet.subnet_a.id
}
host {
type = "ZOOKEEPER"
zone = "ru-central1-b"
subnet_id = yandex_vpc_subnet.subnet_b.id
}
host {
type = "ZOOKEEPER"
zone = "ru-central1-c"
subnet_id = yandex_vpc_subnet.subnet_c.id
}
}
resource "yandex_mdb_mysql_cluster" "mysql_cluster" {
name = "grafana_mysql"
environment = "PRODUCTION"
network_id = yandex_vpc_network.grafana_network.id
version = "8.0"
resources {
resource_preset_id = "s2.micro"
disk_type_id = "network-ssd"
disk_size = 16
}
database {
name = var.dbname
}
user {
name = var.username
password = var.password
permission {
database_name = var.dbname
roles = ["ALL"]
}
}
host {
zone = "ru-central1-a"
subnet_id = yandex_vpc_subnet.subnet_a.id
}
host {
zone = "ru-central1-b"
subnet_id = yandex_vpc_subnet.subnet_b.id
}
host {
zone = "ru-central1-c"
subnet_id = yandex_vpc_subnet.subnet_c.id
}
}рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рджреЛрдиреЛрдВ рдХреНрд▓рд╕реНрдЯрд░реЛрдВ рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рддреАрди рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рд░рдЦрдХрд░ рдХрд╛рдлреА рджреЛрд╖-рд╕рд╣рд┐рд╖реНрдгреБ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рд╡реЗрдм рд╕рд░реНрд╡рд░
рдРрд╕рд╛ рд▓рдЧ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдореИрдВ рдЗрд╕реА рднрд╛рд╡рдирд╛ рд╕реЗ рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдПрдХ рдХрдард┐рдирд╛рдИ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдПрдХ MySQL рдХреНрд▓рд╕реНрдЯрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА, рдЗрд╕рдХреА рдЖрдИрдбреА рдЬрд╛рдирдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдЖрд╡рд╢реНрдпрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рдПрдХ рдбрд┐рд╕реНрдХ рдЗрдореЗрдЬ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛, рдЬрд╣рд╛рдВ рдореИрдВрдиреЗ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд▓рд┐рдП рд╣реЛрд╕реНрдЯ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ред рд▓реЗрдХрд┐рди рдЕрдм рд╣рдо рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХреЗ рд▓реЙрдиреНрдЪ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХреНрд▓рд╕реНрдЯрд░ рдЖрдИрдбреА рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдЗрдореЗрдЬ рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рд╕рдордп рднреА рд╢рд╛рдорд┐рд▓ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрдкрд╛рдп рдЕрдкрдирд╛рдиреЗ рдкрдбрд╝реЗ .
рдЕрдореЗрдЬрд╝рди рдХреА рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╕реЗрд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреЛ рдХреБрдЫ рдкреИрд░рд╛рдореАрдЯрд░реНрд╕ рджреЗрдВрдЧреЗ, рдЬрд┐рдиреНрд╣реЗрдВ рд╡рд╣ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдЧреА рдФрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░реЗрдЧреАред рд╣рдореЗрдВ рдорд╢реАрди рдХреЛ MySQL рдХреНрд▓рд╕реНрдЯрд░ рд╣реЛрд╕реНрдЯ рдХреЗ рд▓рд┐рдП рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо-рдкрд╛рд╕рд╡рд░реНрдб рддрдХ рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХреЗ рдмрд╛рдж рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдерд╛ред рдЖрдЗрдП рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдереЛрдбрд╝рд╛ рдмрджрд▓реЗрдВ setup.sh, рдЬреЛ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдЪрд╛рд▓реВ рд╣реЛрдиреЗ рдкрд░ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ.
рд╕реЗрдЯрдЕрдк.рд╢:
#!/bin/bash
CLUSTER_URI="$(curl -H 'Metadata-Flavor:Google' http://169.254.169.254/computeMetadata/v1/instance/attributes/mysql_cluster_uri)"
USERNAME="$(curl -H 'Metadata-Flavor:Google' http://169.254.169.254/computeMetadata/v1/instance/attributes/username)"
PASSWORD="$(curl -H 'Metadata-Flavor:Google' http://169.254.169.254/computeMetadata/v1/instance/attributes/password)"
sudo sed -i "s#.*;url =.*#url = mysql://${USERNAME}:${PASSWORD}@${CLUSTER_URI}#" /etc/grafana/grafana.ini
sudo sed -i "s#.*;admin_user =.*#admin_user = ${USERNAME}#" /etc/grafana/grafana.ini
sudo sed -i "s#.*;admin_password =.*#admin_password = ${PASSWORD}#" /etc/grafana/grafana.ini
sudo service grafana-server restartрдЗрдВрдЯреНрд░рд╛рдВрд╕ рд╕рдореВрд╣ рдФрд░ рдмреИрд▓реЗрдВрд╕рд░
рдирдИ рдбрд┐рд╕реНрдХ рдЫрд╡рд┐ рдХреЛ рдкреБрдирдГ рдирд┐рд░реНрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдЕрдВрддрддрдГ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рдлрд╝рд╛рдЗрд▓ рд▓рд┐рдЦрдирд╛ рд╕рдорд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЖрдЗрдП рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ рдХрд┐ рд╣рдо рдореМрдЬреВрджрд╛ рдбрд┐рд╕реНрдХ рдЫрд╡рд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ:
data "yandex_compute_image" "grafana_image" {
image_id = var.image_id
}рдЕрдм рдЖрдЗрдП рдПрдХ рдЗрдВрд╕реНрдЯреИрдВрд╕ рд╕рдореВрд╣ рдмрдирд╛рдПрдВ:
resource "yandex_compute_instance_group" "grafana_group" {
name = "grafana-group"
folder_id = var.folder_id
service_account_id = var.service_account_id
instance_template {
platform_id = "standard-v1"
resources {
memory = 1
cores = 1
}
boot_disk {
mode = "READ_WRITE"
initialize_params {
image_id = data.yandex_compute_image.grafana_image.id
size = 4
}
}
network_interface {
network_id = yandex_vpc_network.grafana_network.id
subnet_ids = [yandex_vpc_subnet.subnet_a.id, yandex_vpc_subnet.subnet_b.id, yandex_vpc_subnet.subnet_c.id]
nat = "true"
}
metadata = {
mysql_cluster_uri = "c-${yandex_mdb_mysql_cluster.mysql_cluster.id}.rw.mdb.yandexcloud.net:3306/${var.dbname}"
username = var.username
password = var.password
ssh-keys = "ubuntu:${file("${var.public_key_path}")}"
}
network_settings {
type = "STANDARD"
}
}
scale_policy {
fixed_scale {
size = 6
}
}
allocation_policy {
zones = ["ru-central1-a", "ru-central1-b", "ru-central1-c"]
}
deploy_policy {
max_unavailable = 2
max_creating = 2
max_expansion = 2
max_deleting = 2
}
load_balancer {
target_group_name = "grafana-target-group"
}
}рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рд╣рдордиреЗ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЛ рдХреИрд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ cluster_uri, username ╨╕ password. рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдЗрдиреНрд╣реЗрдВ рдирд┐рдХрд╛рд▓реЗрдЧреА рдФрд░ рдЧреНрд░рд╛рдлрд╛рдирд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рд░рдЦреЗрдЧреАред
рдпрд╣ рд╕рдВрддреБрд▓рдирдХрд░реНрддрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИред
resource "yandex_lb_network_load_balancer" "grafana_balancer" {
name = "grafana-balancer"
listener {
name = "grafana-listener"
port = 80
target_port = 3000
external_address_spec {
ip_version = "ipv4"
}
}
attached_target_group {
target_group_id = yandex_compute_instance_group.grafana_group.load_balancer.0.target_group_id
healthcheck {
name = "healthcheck"
tcp_options {
port = 3000
}
}
}
}рдереЛрдбрд╝реА рд╕реА рдЪреАрдиреА
рдЕрднреА рдереЛрдбрд╝рд╛ рд╕рд╛ рдмрд╛рдХреА рд╣реИ. рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреА рддреИрдирд╛рддреА рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдЧреНрд░рд╛рдлрд╛рдирд╛ рдпреВрдЖрдИ рдкрд░ рдЬрд╛рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕реАрдПрдЪ рдХреНрд▓рд╕реНрдЯрд░ (рдЬрд┐рд╕рдХреА рдЖрдИрдбреА рдЕрднреА рднреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ) рдХреЛ рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХреНрд▓рд╕реНрдЯрд░ рдЖрдИрдбреА рдЬрд╛рдирддрд╛ рд╣реИред рдЪрд▓реЛ, рд╣рдо рдЙрд╕реЗ рдХрд╛рдо рдкреВрд░рд╛ рдХрд░рдиреЗ рдХрд╛ рдЬрд┐рдореНрдорд╛ рд╕реМрдВрдкрддреЗ рд╣реИрдВред
рдЖрдЗрдП рдПрдХ рдирдпрд╛ рдкреНрд░рджрд╛рддрд╛ - рдЧреНрд░рд╛рдлрд╛рдирд╛ рдЬреЛрдбрд╝реЗрдВ, рдФрд░ рдЗрд╕реЗ рд╣реЛрд╕реНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдмреИрд▓реЗрдВрд╕рд░ рдХрд╛ рдЖрдИрдкреА рдкрддрд╛ рджреЗрдВред рдЯреЗрд░рд╛рдлреЙрд░реНрдо рджреНрд╡рд╛рд░рд╛ рдЙрд╕ рдорд╢реАрди рдкрд░ рдХрд┐рдП рдЧрдП рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрди, рдЬрд╣рд╛рдВ рдмреИрд▓реЗрдВрд╕рд░ рдЗрд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ, MySQL рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдЕрдиреНрдп рд╕рднреА рдорд╢реАрдиреЛрдВ рдкрд░ рднреАред
provider "grafana" {
url = "http://${[for s in yandex_lb_network_load_balancer.grafana_balancer.listener: s.external_address_spec.0.address].0}"
auth = "${var.username}:${var.password}"
}
resource "grafana_data_source" "ch_data_source" {
type = "vertamedia-clickhouse-datasource"
name = "grafana"
url = "https://c-${yandex_mdb_clickhouse_cluster.ch_cluster.id}.rw.mdb.yandexcloud.net:8443"
basic_auth_enabled = "true"
basic_auth_username = var.username
basic_auth_password = var.password
is_default = "true"
access_mode = "proxy"
}рдЪрд▓реЛ рдЗрд╕реЗ рдХрдВрдШреА рдХрд░реЗрдВ
рд╣рдо рдмреИрд▓реЗрдВрд╕рд░ рдХрд╛ рдЖрдИрдкреА рдкрддрд╛ рдФрд░ рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд╣реЛрд╕реНрдЯ рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рджреЗрдВрдЧреЗ
output "grafana_balancer_ip_address" {
value = [for s in yandex_lb_network_load_balancer.grafana_balancer.listener: s.external_address_spec.0.address].0
}
output "clickhouse_cluster_host" {
value = "https://c-${yandex_mdb_clickhouse_cluster.ch_cluster.id}.rw.mdb.yandexcloud.net:8443"
}рдЖрдк рдЗрд╕реЗ рд▓реЙрдиреНрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рд╕рднреА! рд╣рдорд╛рд░реА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рддреИрдпрд╛рд░ рд╣реИ рдФрд░ рд╣рдо рдЯреЗрд░рд╛рдлрд╝реЙрд░реНрдо рдХреЛ рдпрд╣ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реЗрд░рд┐рдПрдмрд▓ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдордиреЗ рдКрдкрд░ рдЬреЛ рдХреБрдЫ рднреА рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рд╡рд╣ рд╕рдм рдХреБрдЫ рдЙрдард╛рдПред рдкреВрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдореБрдЭреЗ рд▓рдЧрднрдЧ 15 рдорд┐рдирдЯ рд▓рдЧреЗред
рдЕрдВрдд рдореЗрдВ рдЖрдк рдПрдХ рд╕реБрдВрджрд░ рд╕рдВрджреЗрд╢ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:
Apply complete! Resources: 9 added, 0 changed, 0 destroyed.
Outputs:
clickhouse_cluster_host = https://c-c9q14ipa2ngadqsbp2iq.rw.mdb.yandexcloud.net:8443
grafana_balancer_ip_address = 130.193.50.25рдФрд░ рдХреНрд▓рд╛рдЙрдб рдореЗрдВ, рдЙрднрд░реЗ рд╣реБрдП рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЗ рддрддреНрд╡ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреЗ:

рд╕рдВрдХреНрд╖реЗрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рдЕрдм, рдЧреНрд░рд╛рдлрд╛рдирд╛ рдХреЛ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдЖрдк рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдпреИрдВрдбреЗрдХреНрд╕.рдХреНрд▓рд╛рдЙрдб рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рд╡рд┐рд╕реНрддреГрдд рдХреНрд▓рд╛рдЙрдб рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рд╡рд╛рд▓реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рддреИрдирд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рд╢рд┐рдХреЙрд░реНрдк рдХреЗ рдЙрдкрдпреЛрдЧреА рдЙрдкрдХрд░рдг рдЬреИрд╕реЗ рдкреИрдХрд░ рдФрд░ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдЖрдкрдХреА рдЗрд╕рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд▓реЗрдЦ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ ЁЯЩВ
рдкреА.рдПрд╕. рдиреАрдЪреЗ рдореИрдВ рдПрдХ рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдХрд╛ рд▓рд┐рдВрдХ рд╕рдВрд▓рдЧреНрди рдХрд░ рд░рд╣рд╛ рд╣реВрдБ, рдЬрд╣рд╛рдБ рдЖрдк рдкреИрдХрд░ рдФрд░ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд░реЗрд╕рд┐рдкреА рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдХреБрдЫ рдЕрдВрд╢ рдореИрдВрдиреЗ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рджрд┐рдП рд╣реИрдВред
рд╕реНрд░реЛрдд: www.habr.com
