рд╣рдо рд▓рдВрдмрд░рдЬреИрдХ + рд▓реЙрдЧрд╕реНрдЯреИрд╢ + рдПрд▓реЗрд╕реНрдЯрд┐рдХреНрд╕ рдЦреЛрдЬ + рд░реИрдмрд┐рдЯрдПрдордХреНрдпреВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓реЙрдЧ рдПрдХрддреНрд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╣реИрдВ

рд╢реБрдн рджреЛрдкрд╣рд░

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

рдЗрд╕рд▓рд┐рдП, рдЬрдм рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реЛрддреА рд╣реИрдВ рдФрд░ рдЖрдкрдХреЛ рдХреБрдЫ рд╕реЗрд╡рд╛ рдХреЗ рд▓реЙрдЧ рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рдЦреЛрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдпрд╣ рд╕рдм рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХрд┐рддрдирд╛ рдордЬрдмреВрдд рд╣реИ рдФрд░ рдХрд┐рддрдиреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рджреЗрдЦрдирд╛ рд╣реИред рдФрд░ рдпрд╣ рднреА рдХрд┐ рдХреНрдпрд╛ рд▓реЛрдЧреЛ рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдФрд░ рдХреНрдпрд╛ рдпрд╣ рдкреБрд░рд╛рдирд╛ рдбреЗрдЯрд╛ рдХреНрд░реИрд╢ рд╣реЛ рдЧрдпрд╛ ...

рдРрд╕реА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ, рд▓реЙрдЧрд╕реНрдЯреИрд╢ рдмрд╣реБрдд рдорджрдж рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдкрд┐рдЫрд▓реЗ рд╕рд╛рд▓ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрд╣реБрдд рд╢реЛрд░ рдХрд░ рдЪреБрдХрд╛ рд╣реИ, рдФрд░ рд╣рдм рдкрд░, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рдФрд░ рдпрд╣рд╛рдВ , рдЗрд╕реЗ рдХреИрд╕реЗ рд░рдЦрд╛ рдЬрд╛рдП рдФрд░ рдЗрд╕реЗ рдПрдХ рд╕рд░реНрд╡рд░ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд▓реЗрдЦ рд╣реИрдВред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рд▓реЙрдЧрд╕реНрдЯреИрд╢ рдХреЛ рдПрдХ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╕рд░реНрд╡рд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдкрд░реНрд╢ рдХрд░реВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐, рдПрдХ рдПрдЬреЗрдВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ, рдпрд╣ рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╣рдорд╛рд░реЗ рдЕрдиреБрдХреВрд▓ рдирд╣реАрдВ рдерд╛ред

рдХреНрдпреЛрдВ? Maxifier рд╕рдВрдпреБрдХреНрдд рд░рд╛рдЬреНрдп рдЕрдореЗрд░рд┐рдХрд╛, рдмреНрд░рд╛рдЬреАрд▓, рдХрдИ рдпреВрд░реЛрдкреАрдп рджреЗрд╢реЛрдВ рдФрд░ рдЬрд╛рдкрд╛рди рдореЗрдВ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рд╕ рдЙрддреНрдкрд╛рдж рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреБрдирд┐рдпрд╛ рднрд░ рдореЗрдВ рдмрд┐рдЦрд░реЗ рд╣реБрдП рд▓рдЧрднрдЧ рд╕реМ рд╕рд░реНрд╡рд░ рд╣реИрдВред рдкрд░рд┐рдЪрд╛рд▓рди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЕрдкрдиреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓реЙрдЧреНрд╕ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдкрд╣реБрдВрдЪ рдФрд░ рддреГрддреАрдп-рдкрдХреНрд╖ рд╕реЗрд╡рд╛рдУрдВ / рдПрдкреАрдЖрдИ рдкрд░ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЙрдирдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рддреНрд╡рд░рд┐рдд рдЦреЛрдЬ, рдЧрд▓рдд рдбреЗрдЯрд╛ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдЖрджрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╡реИрд╕реЗ, рдж рдЧрд╛рд░реНрдЬрд┐рдпрди (рд╣рдорд╛рд░реЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ) рдПрдХ рд╕рдорд╛рди рд▓реЙрдЧ-рдмрд┐рд▓реНрдбрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ ред

рдХрдИ рд╕рд░реНрд╡рд░реЛрдВ рд╕реЗ рд░реБрдкрдпреЗ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рдХрдИ рдорд╛рдорд▓реЛрдВ рдХреЗ рдмрд╛рдж, рд╣рдордиреЗ рдПрдХ рдРрд╕реЗ рд╡рд┐рдХрд▓реНрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрд╛ рдЬреЛ рдХрдо рд▓рдВрдмрд╛ рдФрд░ рд╢реНрд░рдорд╕рд╛рдзреНрдп рд╣реИред рдФрд░ рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рд╣рдордиреЗ рд╡рд┐рднрд┐рдиреНрди рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рд▓реЙрдЧ рдЕрд╕реЗрдВрдмрд▓реА рдкреНрд░рдгрд╛рд▓реА рд╡рд┐рдХрд╕рд┐рдд рдХреА рд╣реИред рдореИрдВ рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдЕрдиреБрднрд╡ рдФрд░ рд╡рд┐рд╡рд░рдг рд╕рд╛рдЭрд╛ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдЫрд╡рд┐


рд╣рдорд╛рд░реЗ рд▓рдХреНрд╖реНрдп рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЬрд┐рдирдХреЗ рд╕рд╛рде рд╣рдо рд▓реЙрдЧ рдПрдХрддреНрд░ рдХрд░рддреЗ рд╣реИрдВ:
1. рдЬрд╛рд╡рд╛ (рдЬреЗрдЯреА / рдореВрд▓) рдореЗрдВ рджрд╛рдирд╡
2. Node.js рдкрд░ рджрд╛рдирд╡
3. рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рд▓реЙрдиреНрдЪ рдХрд┐рдП рдЧрдП рдЬрд╛рд╡рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдбреНрд╕)

рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реИрдВ рдФрд░ рдРрд╕реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЙрдбрд╝рд╛рди рднрд░рдиреЗ рд╡рд╛рд▓реЗ рдорд▓реНрдЯреА-рд▓рд╛рдЗрди рд╕реНрдЯреИрдХ рдирд┐рд╢рд╛рди рдХреЗ рдЕрдкрд╡рд╛рдж рд╣реИрдВред
рдЗрд╕рд▓рд┐рдП, рдореБрдЦреНрдп рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рдереАрдВ:

1. рдЕрдЪреНрдЫрд╛ рдмрд╣реБрд╕реНрддрд░реАрдп рд╕рдВрджреЗрд╢ рд╕рдорд░реНрдердиред
2. рд╡рд┐рднрд┐рдиреНрди рд╕рдВрджреЗрд╢ рд╕реНрд╡рд░реВрдкреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред
3. рдбреЗрдЯрд╛ рд╕реНрд░реЛрддреЛрдВ рдХрд╛ рдЖрд╕рд╛рди рд╡рд┐рдиреНрдпрд╛рд╕ред

рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рднрд╛рдЧ рдореЗрдВ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдЬрд╛рдиреЗ рдХреЗ рдмрд┐рдирд╛, рдореИрдВ рдШрдЯрдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ рдФрд░ рд╡реЗ рд╕рд░реНрдХрд┐рдЯ рдореЗрдВ рдХреНрдпреЛрдВ рдореМрдЬреВрдж рд╣реИрдВред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╣рдорд╛рд░реА рд▓реЙрдЧ рд╕рдВрдЧреНрд░рд╣ рдпреЛрдЬрдирд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

рдЫрд╡рд┐

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

рдПрдЬреЗрдВрдЯреЛрдВ


рд░реВрдкрд▓реЙрдЧ рдПрдХ рддреИрдпрд╛рд░-рдирд┐рд░реНрдорд┐рдд рд▓реЙрдЧрд┐рдВрдЧ рдбреЗрдореЙрди рд╣реИ рдФрд░ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдм рдХреБрдЫ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд┐рдВрджреБ рд╣рдореЗрд╢рд╛ рд╡рд┐рд╡рд░рдг рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред

рдлрд╛рдпрджреЗ:
1. рддреЗрдЬред
2. рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдоред
3. рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрджрд╛рдИ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрджрд╛рдИ рдХрд░рдиреЗ рдФрд░ рдирд╣реАрдВ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдоред
4. рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╣реИред

рдиреБрдХрд╕рд╛рди:
1. рдорд▓реНрдЯреАрд▓рд╛рдЗрди рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ (рдмрд╣реБ-рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ рдкрд░ рд╕рднреА рдкреНрд░рдпрд╛рд╕ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡реНрдпрд░реНрде рдереЗ)ред
2. рдореБрдЦреМрдЯрд╛ рджреНрд╡рд╛рд░рд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдирд╛ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИред
3. рдЦрд░рд╛рдм рдлрд╝рд╛рдЗрд▓ рдЯреНрд░рдВрдХреЗрд╢рди рд╕рдВрднрд╛рд▓рддреА рд╣реИред

рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдорд▓реНрдЯреА-рд▓рд╛рдЗрди рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рдерд╛, рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рдЦреЛрдЬ рдЬрд╛рд░реА рд░рдЦреА, рд▓реЗрдХрд┐рди рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рд░реВрдкрд▓ рд▓реЙрдЧ рдЕрд╕реЗрдВрдмрд▓реА рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд┐рдпрд╛, рддрд╛рдХрд┐ рд╣рдо рддрдм рдЙрдирдХреЗ рд▓рд┐рдП рдЦреЛрдЬ рдХрд░ рд╕рдХреЗрдВред

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

рдлрд╛рдпрджреЗ:
1. рддреЗрдЬред
2. рдорд┐рдирд┐рдорд▓рд┐рд╕реНрдЯрд┐рдХ (рдпреВрдирд┐рдХреНрд╕-рд╡реЗ)ред
3. рдорд╛рд╕реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдоред
4. рдиреНрдпреВрдирддрдо рд╕рдВрд╕рд╛рдзрдиреЛрдВ (рдЧреЛ рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП) рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рдиреБрдХрд╕рд╛рди:
1. рдкреНрд░рд╛рдпреЛрдЧрд┐рдХред
2. рдпрд╣ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдмрд╣реБрд╕реНрддрд░реАрдп рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рд▓реЙрдЧрд╕реНрдЯреИрд╢ (рдХреЗрд╡рд▓ рдПрдХ рдПрдЬреЗрдВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ)

рдлрд╛рдпрджреЗ:
1. рд╣рд░ рдЬрдЧрд╣ рд▓реЙрдЧ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ред
2. рдкрд░реНрдпрд╛рдкреНрдд рдЙрддреНрдкрд╛рджрдХред
3. рд╡рд╣ рд╕рдм рдЬрд╛рдирддрд╛ рд╣реИ рдЬрд┐рд╕рдХреА рд╣рдореЗрдВ рдЬрд░реВрд░рдд рд╣реИред

рдиреБрдХрд╕рд╛рди:
1. рд╕рднреА рд╕рд░реНрд╡рд░ рдкрд░ рдЬрд╛рд╡рд╛ред
2. рдЙрдЪреНрдЪ рд╕реНрдореГрддрд┐ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ, рдЕрдиреНрдп рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддреА рд╣реИрдВред
3. рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ред

рдПрдЬреЗрдВрдЯ рдХрд╛ рдЪрдпрди


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

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

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

Logstash

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдордиреЗ рдкрд╣рд▓реЗ rsyslog рдХреЗ рд╕рд╛рде рдорд▓реНрдЯреАрд▓рд╛рдЗрди рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдлрд┐рд░ рд▓рдВрдмрд░рдЬреИрдХ рд╕реЗред
рдкрд╣рд▓реЗ рддреЛ рд╣рдордиреЗ рдмрдбрд╝реЗ рдирд┐рдпрдорд┐рдд рднрд╛рд╡реЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдЬреЛ Google GitHub Gist рдкрд░ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдВрдд рдореЗрдВ рд╣рдо рдЗрд╕ рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдкрд╣реБрдВрдЪреЗ рдХрд┐ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк - рд╡рд╣ рд╕рдм рдХреБрдЫ рдЬреЛ рд╣рдорд╛рд░реЗ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдирд╣реАрдВ рдЖрддрд╛ рд╣реИ, рдкрд┐рдЫрд▓реЗ рд╕рдВрджреЗрд╢ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд▓рдВрдмрд░рдЬреИрдХ рдиреЗ рд╕реЗрд╡рд╛ рд╕реЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ред

рдкрд░рд┐рдгрд╛рдо рдПрдХ рдРрд╕рд╛ рд╕рд░рд▓ рдкреИрдЯрд░реНрди рд╣реИ:

filter { multiline { pattern => "(^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2})" negate => true what => "previous" } } 

рд╣рдордиреЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд▓реЙрдЧ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓реЙрдЧрд╕реНрдЯреИрд╢ рдЙрджрд╛рд╣рд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛, рдЗрд╕реЗ рдХрдИ рдереНрд░реЗрдб рджрд┐рдП рдФрд░ рд╕рд░реНрд╡рд░ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ред рд╕рдмрдХреБрдЫ рдареАрдХ рд▓рдЧ рд░рд╣рд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЛрдВрдиреЗ рдиреЛрдЯрд┐рд╕ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рдХрд┐ рд╕рдордп-рд╕рдордп рдкрд░ рд╕рд░реНрд╡рд░ рдиреЗ рдХрдиреЗрдХреНрд╢рди рдЧрд┐рд░рд╛ рджрд┐рдпрд╛, рд╕реНрдореГрддрд┐ рдкрд░ рдЖрд░рд╛рдо рдХрд┐рдпрд╛ рдФрд░ рд╕рдордп-рд╕рдордп рдкрд░ рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЧрдпрд╛ред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХреНрд╕рдПрдордПрдХреНрд╕ рдореЗрдВ 16 рдЬреАрдмреА рдиреЗ рд╡рд╛рдВрдЫрд┐рдд рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рджрд┐рдпрд╛ред

рд╣рдордиреЗ рд▓реЛрдб рдХреЛ рджреЛ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдкрд░ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛, рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рд╡рд┐рдлрд▓ рдирд╣реАрдВ рд╣реБрдПред

рдкрд╣рд▓реЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЙрджрд╛рд╣рд░рдг (1) рдХреЗрд╡рд▓ рдЯреАрд╕реАрдкреА рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдХреЛ рд╕реБрдирддрд╛ рд╣реИ рдФрд░ рдХрдЪреНрдЪреА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдмрдЪрд╛рддрд╛ рд╣реИ (рдпрд╣ рдЙрди рдкрд░ рдлрд╝рд┐рд▓реНрдЯрд░ рдбрд┐рдмрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ), рдмрд╣реБрд╕реНрддрд░реАрдп рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдЪрдордХрддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдмрд╕ рдореЗрдВ рднреЗрдЬрддрд╛ рд╣реИред рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдкрдиреЗ рдХрд╛рд░реНрдп рдХреЗ рд╕рд╛рде рдореБрдХрд╛рдмрд▓рд╛ рдХрд░рддрд╛ рд╣реИ, 100% рджреЛ рдХреЛрд░ рдХреЗ рд▓реЛрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЕрдЧреНрд░рдгреА рд╣реИ (рд╣рдорд╛рд░реА рдЪреЛрдЯреА рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб 2500-3000 рд╕рдВрджреЗрд╢ рд╣реИ)ред

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

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

рдЗрд╕ рдЧреБрдЪреНрдЫрд╛ рдиреЗ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд▓рдЧрднрдЧ рдПрдХ рдорд╣реАрдиреЗ рддрдХ рдХрд╛рдо рдХрд┐рдпрд╛, рдЬрдм рддрдХ рдХрд┐ рд╣рдо рдмрд╣реБрдд рдЕрдЬреАрдм рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реЗ рдирд╣реАрдВ рдорд┐рд▓реЗред рд╕рд░реНрд╡рд░ рдкрд░ рд▓рдВрдмрд░рдЬреИрдХ рдПрдЬреЗрдВрдЯреЛрдВ рдиреЗ рд▓реЙрдЧрд╕реНрдЯреИрд╢ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЬреЛрдбрд╝рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рдФрд░ рддреБрд░рдВрдд рдпрд╣ рдХрд╣рддреЗ рд╣реБрдП рдПрдХ рд╕рдВрджреЗрд╢ рдХреЗ рд╕рд╛рде рдЧрд┐рд░ рдЧрдП рдХрд┐ рд╡реЗ рд▓реЙрдЧрд╕реНрдЯреИрд╢ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЖрдо рддреМрд░ рдкрд░ рдЖрдИ / рдУ рдЯрд╛рдЗрдордЖрдЙрдЯ рд╣реЛрддрд╛ рдерд╛, рдЬрдмрдХрд┐ рд╕реБрдирдиреЗ рд╡рд╛рд▓реЗ рд▓реЙрдЧрд╕реНрдЯреИрд╢ рддрдм рдЬреАрд╡рд┐рдд рд░рд╣рддреЗ рдереЗ рдЬрдм рд╡рд╣ рдЗрд╕реЗ рджреЗрдЦрддрд╛ рдерд╛ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдмрд╕ рдХреЛ рд╕рдВрджреЗрд╢ рднреА рднреЗрдЬрддрд╛ рдерд╛ред ред
рдЬрд╝реИрдмрд┐рдХреНрд╕ рдиреЗ рдмрддрд╛рдпрд╛ рдХрд┐ рдкрд░реНрдордЧреЗрди рдХреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рд╣рдордиреЗ рдореЗрдореЛрд░реА рдмрдврд╝рд╛рдИ рдФрд░ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд┐рдпрд╛, рд╢рд╛рдмреНрджрд┐рдХ рд░реВрдк рд╕реЗ 10 рдорд┐рдирдЯ рдмрд╛рдж рд╕реНрдерд┐рддрд┐ рджреЛрд╣рд░рд╛рдИ рдЧрдИред

рд╣рдордиреЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рдХрд┐ рдХреМрди рд╕рд╛ рд╕рд░реНрд╡рд░ рд╕рдВрджреЗрд╢ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рд▓реЙрдЧрд╕реНрдЯреИрд╢ рд╕реНрддрдмреНрдз рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рдЫреЛрдЯреА рдЦреЛрдЬ рдХреЗ рдмрд╛рдж (рд╡реИрд╕реЗ, рдпрд╣ рдЖрд╕рд╛рдиреА рд╕реЗ рдЙрд╕ рд╡реНрдпрдХреНрддрд┐ рджреНрд╡рд╛рд░рд╛ рдЦреЛрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдиреЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рднреЗрдЬрд╛ рд╣реИ - рд▓рдВрдмрд░рдЬреИрдХ рдиреЗ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд┐рд╕рд▓реЙрдЧ рдХреЛ рд░рд┐рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛), рдПрдХ рд╕рд░реНрд╡рд░ рдкрд░ ~ 20 рдЬреАрдмреА рд▓реЙрдЧ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдЗрд╕рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ 2-3Gb рдХреА рдХрдИ рд▓рд╛рдЗрдиреЗрдВ рд╢рд╛рдорд┐рд▓ рдереАрдВред рдпрд╣ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рдерд╛: рд▓реЙрдЧрд╕реНрдЯреИрд╢ рдиреЗ рдзреАрд░реЗ-рдзреАрд░реЗ рдЕрдкрдиреА рд╕реНрдореГрддрд┐ рдореЗрдВ рдЗрд╕ рд░реЗрдЦрд╛ рдХрд╛ рдЧрдарди рдХрд┐рдпрд╛, рдЬрдм рддрдХ рдХрд┐ рд╡рд╣ рдЙрд╕рдореЗрдВ рднрд╛рдЧ рдирд╣реАрдВ рдЧрдпрд╛ рдФрд░ рдлрд┐рд░ рд╡рд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рдерд╛ред рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдРрд╕реЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рднрд╛рдЬрдХ рдЬреЛрдбрд╝рд╛ рдФрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЕрдм рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ред

рдмрд╣реБрдд рд╡рд┐рд╕реНрддреГрдд рд▓реЙрдЧ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ рдереАрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Node.js рд▓рдХрдбрд╝рд╣рд╛рд░рд╛ рдмреНрдпрд╛рди , рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдпрд╣ 30-40 (!) рддрдХ рдерд╛, рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдпрд╣ рднрдпрд╛рдирдХ рд▓рдЧ рд░рд╣рд╛ рдерд╛ред рдпрд╣рд╛рдБ рд╣рдордиреЗ рддрд░реНрдХ рджрд┐рдпрд╛ рд╣реИ:
1) рдЕрдирд╛рд╡рд╢реНрдпрдХ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛;
2) рдорд╛рдирд╡-рдкрдардиреАрдп рд░реВрдк рдореЗрдВ рд╕рдВрджреЗрд╢реЛрдВ рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЛ рдХрдо рдХрд░реЗрдВред

Elasticsearch

рдЙрдкрдпреЛрдЧ рдХреА рдЕрд╡рдзрд┐ рдХреЗ рджреМрд░рд╛рди рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рдерд╛ред 3-рдЧрд┐рдЧ рдПрд▓рд┐рдЯрд┐рдХреНрд╕ рдЦреЛрдЬ рдЙрджрд╛рд╣рд░рдг рдЖрдо рддреМрд░ рдкрд░ рдкреНрд░рддрд┐ рджрд┐рди рдЕрдиреБрдХреНрд░рдорд┐рдд рдФрд░ 5-6 рдЬреАрдмреА рд╕рдВрдЧреНрд░рд╣реАрдд рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИред рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ рдХрднреА-рдХрднреА рд╣реЛрддреА рд╣реИ рд╡рд╣ рдЖрдЙрдЯрдСрдлрдореЗрд░реА рд╣реЛрддреА рд╣реИ рдЬрдм рд╡реЗ рдПрдХ рдмрдбрд╝реЗ рд╕рдВрджреЗрд╢ рдХреЛ рднрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ рдпрд╛ рдПрдХ рдХреНрд╡реЗрд░реА рдХреЗ рд▓рд┐рдП рдкреВрдЫрддреЗ рд╣реИрдВ рдЬреЛ рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рд╣реИред рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдиреЗ рднреА рдЬреЗрдПрдордПрдХреНрд╕ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдХреЛ рд░рджреНрдж рдирд╣реАрдВ рдХрд┐рдпрд╛, рдФрд░ рдЬрд╝реИрдмрд┐рдХреНрд╕ рдЖрдорддреМрд░ рдкрд░ рд╕реВрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЬреАрд╕реА рдХрд┐рд╕реА рддрд░рд╣ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЖрд╡реЗрджрди рдкрд░ рдПрдХ рдирдЬрд╝рд░ рд░рдЦрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред

рдЗрдВрдЯрд░рдлрд╝реЗрд╕


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

рдЫрд╡рд┐

рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХрдард┐рди рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЖрдкрдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдФрд░ рдмрд╣реБ-рдЦреЛрдЬ рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рд░реВрдк рд╕реЗ рдареАрдХ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рд╢рд╛рдпрдж рд╣реА рдХрднреА рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рдмрдирддрд╛ рд╣реИред

рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╕рд╛рд░рд╛рдВрд╢


1. рд▓рдХрдбрд╝рд╣рд╛рд░рд╛ - рдПрдХ рд▓реЙрдЧ рд╕рдВрдЧреНрд░рд╣ рдПрдЬреЗрдВрдЯ рдХреА рднреВрдорд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рдорд╣рд╛рдиред
2. рд▓реЙрдЧрд╕реНрдЯреИрд╢ - рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╕реНрдЯреИрдХрдЯреНрд░реЗрд╕ рдкрд░реНрд╕ рдФрд░ рдмрд┐рд▓реНрдХреБрд▓ рдЕрд▓рдЧ рд▓реЙрдЧреНрд╕ рдФрд░ рд▓рдЪреАрд▓реЗрдкрди рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЕрдкрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрдХреВрд▓ рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
3. рдХрд┐рдмрд╛рдирд╛ - рдлрд┐рд░ рд╕реЗ, рдЙрдкрднреЛрдХреНрддрд╛ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдХрднреА-рдХрднреА рдЦреЗрддреЛрдВ рдХрд╛ рд╕рд░рд▓ рдирд╛рдордХрд░рдг рднреА рдХрд╛рд░реНрдп рдХреЛ рд╕рд░рд▓ рдмрдирд╛рддрд╛ рд╣реИред

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

рдкрд░рд┐рдгрд╛рдо


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

рдЕрджреНрдпрддрди


рд▓реЙрдЧрд╕реНрдЯреИрд╢ рд╢реНрд░реЛрддрд╛
 input { lumberjack { charset => "CP1252" port => 9999 ssl_certificate => "/etc/ssl/changeme.crt" ssl_key => "/etc/ssl/changeme.key" } } filter { multiline { pattern => "(^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2})|(^\d+\))|(^{\")" negate => true what => "previous" } } output { file { path => "/logs/raw/%{host}/%{+YYYY-MM-dd}.log" } rabbitmq { durable => true exchange => "logstash-exchange" exchange_type => "direct" host => "127.0.0.1" key => "logstash-routing-key" password => "changeme" persistent => true user => "logstash" vhost => "logstash" } } 


рд▓реЙрдЧрд╕реНрдЯреИрд╢ рдлрд┐рд▓реНрдЯрд░
 input { rabbitmq { auto_delete => false charset => "CP1252" durable => true exchange => "logstash-exchange" exclusive => false host => "127.0.0.1" key => "logstash-routing-key" password => "changeme" prefetch_count => 4 queue => "logstash-indexer" type => "logstash-indexer-input" user => "logstash" vhost => "logstash" } } filter { #ugly hack date { match => ["@timestamp", "ISO8601"] } mutate { gsub => ['host', '.example.com', ''] } #just in case 2 types of applications if [type] == "custom" { grok { match => ["message", "(?m)(?<date>\d{4}-\d{2}-\d{2}) (?<time>\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?) \[%{LOGLEVEL:level}\s?\] - (?<mxf_raw_message>.*)"] } grok { match => ["message", "(?m)(?<mxf_datetime>\d{4}-\d{2}-\d{2} \d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?) "] } mutate { replace => ["mxf_datetime", "%{date}T%{time}Z" ] } date { match => ["mxf_datetime", "ISO8601"] target => "mxf_timestamp" } mutate { remove_field => ["mxf_datetime"] } grep { match => [ "message", "\|" ] add_tag => "have_id" drop => false } if "have_id" in [tags] { grok { match => ["message", "\[@%{HOSTNAME:mxf_host} %{GREEDYDATA:mxf_thread} (?<mxf_class>[az]{1}[.]{1}[az]{1}[.]{1}[a-zA-Z]{1}.*):%{NUMBER:mxf_classline}\|(?<mxf_id>.*):%{NUMBER:mxf_linenum}\]$"] } #ugly hack for correct mapping mutate { convert => [ "mxf_linenum", "integer" ] } } else { grok { match => ["message", "\[@%{HOSTNAME:mxf_host} %{GREEDYDATA:mxf_thread} (?<mxf_class>[az]{1}[.]{1}[az]{1}[.]{1}[a-zA-Z]{1}.*):%{NUMBER:mxf_classline}\]$"] } } grok { match => ["message", "(?m).*\] - (?<mxf_message>.*)\[@.*"] } grok { match => ["file", "\/opt\/apps\/%{GREEDYDATA:mxf_version}\/logs\/%{GREEDYDATA:mxf_account}\/%{WORD:mxf_logfilename}.log$"] } mutate { gsub => ["mxf_aiid","\|",""] } } if [type] == "nodejs" { json { source => "message" } mutate { rename => ["msg","mxf_message"] } mutate { rename => ["args.0.code","mxf_response_code"] } mutate { rename => ["data.service","mxf_service"] } mutate { rename => ["data.method","mxf_method"] } mutate { rename => ["t","mxf_request_time"] } mutate { rename => ["pid","mxf_pid"] } mutate { rename => ["err.name","mxf_errname"] } mutate { rename => ["err.stack","mxf_stacktrace"]} mutate { rename => ["err.message", "mxf_errmsg"] } mutate { remove_field => ["0", "1", "2", "args", "http", "hostname", "msg", "v", "data", "err","t", "pid","io"] } if [level] == 60 { mutate { replace => ["level","FATAL"] } } if [level] == 50 { mutate { replace => ["level","ERROR"] } } if [level] == 40 { mutate { replace => ["level","WARN"] } } if [level] == 30 { mutate { replace => ["level","INFO"] } } if [level] == 20 { mutate { replace => ["level","DEBUG"] } } if [level] == 10 { mutate { replace => ["level","TRACE"] } } } } output { elasticsearch_http { host => "127.0.0.1" } } 


рдХрд┐рдмрдирд╛ рд╡рд┐рдиреНрдпрд╛рд╕

Source: https://habr.com/ru/post/In216201/


All Articles