
рдереЛрдбрд╝рд╛ рдЗрддрд┐рд╣рд╛рд╕
2011 рдореЗрдВ, рд╣реИрд╢рдЯреИрдЧ
#monitoringsucks рдХреЗ рддрд╣рдд рдПрдХрдЬреБрдЯ рд╣реЛрдХрд░ DevOps рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдПрдХ рдЖрдВрджреЛрд▓рди рдЙрднрд░рд╛, рдФрд░ рд▓рдЪреАрд▓реЗрдкрди рдХреА рдХрдореА рдХреЗ рд▓рд┐рдП рдореМрдЬреВрджрд╛ рдирд┐рдЧрд░рд╛рдиреА рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреА рдЖрд▓реЛрдЪрдирд╛ рдХреАред рдХреНрдпрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдирдХреЗ рдЕрдиреБрд░реВрдк рдирд╣реАрдВ рдерд╛
рдЗрд╕ рдкреНрд░рд╕реНрддреБрддрд┐ рджреНрд╡рд╛рд░рд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдЪрд┐рддреНрд░ рд╣реИред
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ - рд▓реЛрдЧ рдирд┐рдЧрд░рд╛рдиреА рдШрдЯрдХреЛрдВ рдХреЗ рдмреАрдЪ рдмрд╛рддрдЪреАрдд рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдПрдкреАрдЖрдИ рдорд╛рдирдХ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ рдЗрди рдШрдЯрдХреЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рд╕реНрд╡рдпрдВ, рдЙрдирд╕реЗ рд▓рдЪреАрд▓рд╛ рдФрд░ рд╕реНрдорд╛рд░реНрдЯ рдирд┐рдЧрд░рд╛рдиреА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдПред
рдЕрд╕рдВрддреЛрд╖ рдХреА рдЗрд╕ рд▓рд╣рд░ рдХрд╛ рдкрд░рд┐рдгрд╛рдо
рд╕рдВрд╡реЗрджрдирд╛ рдФрд░
рд░реАрдореИрди рдЬреИрд╕реА рджрд┐рд▓рдЪрд╕реНрдк рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдФрд░ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдПрдХ рд╡рд┐рд╢рд╛рд▓ рдЪрд░реНрдЪрд╛ рдереАред
2013 рдореЗрдВ, рд╕рдореБрджрд╛рдп рдореЗрдВ рд╣реИрд╢рдЯреИрдЧ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ - рдЕрдм рдпрд╣
#monitoringlove рд╣реИ ред рдпрд╣ рдУрдкрдирд╕реЛрд░реНрд╕ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдпреВрдЯрд┐рд▓рд┐рдЯреАрдЬ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдХрд╛рд░рдг рд╣реБрдЖред
рдирдИ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдореЗрдВ рд╕реЗ, рд╕реЗрдВрд╕реВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд░реБрдЪрд┐ рд╣реИред рдореИрдВрдиреЗ рд░реАрдореИрди рдкрд░ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдлрд┐рд▓рд╣рд╛рд▓ рдЙрд╕рдХреЗ рдкрд╛рд╕ рдЧрд▓рддреА рд╕рд╣рд┐рд╖реНрдгреБрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рд╛рдзрди рдирд╣реАрдВ рд╣реИ, рдФрд░ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрд▓реЛрдЬрд░ рдкрд░ рдПрдХ рд╡рд┐рдиреНрдпрд╛рд╕ рд▓рд┐рдЦрдиреЗ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреЛ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддрд╛ред
рдпрд╣ рд╕реЗрдВрд╕реБ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ рдЬреЛ рдореИрдВ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдмрддрд╛рдКрдВрдЧрд╛, рдореИрдВ рдХрд╛рдо рдХреЗ рдореВрд▓ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ рдФрд░ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд┐рдЧрд░рд╛рдиреА рдХрд╛рд░реНрдп рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреВрдВрдЧрд╛ред
Sensu рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореБрдЦреНрдп рддрдереНрдп:
* рд░реВрдмреА рдореЗрдВ рд▓рд┐рдЦрд╛, EventMachine рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ (рдореИрдВ рдЕрдЬрдЧрд░ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдареАрдХ рд╣реИ)ред
* JSON рдореЗрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реИ
* Nagios рд╕реЗ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
* RabbitMQ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, PUSH рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЬрдм рдХреНрд▓рд╛рдЗрдВрдЯ рдЦреБрдж рд╕рд░реНрд╡рд░ рдХреЛ рднреЗрдЬрддреЗ рд╣реИрдВ
рдЙрдкрд▓рдмреНрдз рд╣реЛрддреЗ рд╣реА рдкрд░реАрдХреНрд╖рд╛ рдкрд░рд┐рдгрд╛рдоред
* DEB, RPM рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ MSI рдкреИрдХреЗрдЬ рднреА рд╣реИрдВред
* рдмрд╛рд╡рд░реНрдЪреА рдХреЗ рд▓рд┐рдП рдХрдардкреБрддрд▓реА рдФрд░ рд░рд╕реЛрдИ рдХреА рдХрд┐рддрд╛рдм рдХреЗ рд▓рд┐рдП рдореЙрдбреНрдпреВрд▓ рд╣реИрдВред
рдиреАрдЪреЗ рджреА рдЧрдИ рдЫрд╡рд┐ рд╕реЗрдВрд╕реВ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рджрд┐рдЦрд╛рддреА рд╣реИред рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рддрд╛рд░реНрдХрд┐рдХ рд╣реИ, рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреА рдХрд╛рд░реНрдп рдпреЛрдЬрдирд╛ "рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░" рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдФрд░ рдЧрд▓рддреА рд╕рд╣рдирд╢реАрд▓рддрд╛ рджреЗрддреА рд╣реИред

рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рддреАрди рдореБрдЦреНрдп рдШрдЯрдХ рд╣реЛрддреЗ рд╣реИрдВ: рд╕реЗрдВрд╕реБ-рд╕рд░реНрд╡рд░, рд╕реЗрдВрд╕реБ-рдЖрдкреА рдФрд░ рд╕реЗрдВрд╕реБ-рдХреНрд▓рд╛рдЗрдВрдЯред Sensu-рдбреИрд╢рдмреЛрд░реНрдб рднреА рдЙрдкрд▓рдмреНрдз рд╣реИред рд╕реНрдерд╛рдкрдирд╛ рддреБрдЪреНрдЫ рд╣реИ рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдореЗрдВ рд╡рд┐рд╕реНрддреГрдд рд╣реИ, рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг 0.12 рдХреЗ рд▓рд┐рдП рдлрд┐рд▓рд╣рд╛рд▓ рдпрд╣ рдЙрдкрд▓рдмреНрдз
рд╣реИ ред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, рдбрд┐рдм, рдЖрд░рдкреАрдПрдо рдФрд░ рдПрдордПрд╕рдЖрдИ рдкреИрдХреЗрдЬ рд╣реИрдВред
рдореВрд▓ рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдБ
рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдпрд╣ рд╕рдм рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЖрдкрдХреЛ рд╢рдмреНрджрд╛рд╡рд▓реА рдХреЛ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореИрдВ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд▓рдХреНрд╖реНрдп рдХреЗ рдЕрдиреБрд╡рд╛рдж рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдкрдиреЗ рд▓рдХреНрд╖реНрдп рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдирд╣реАрдВ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдмреБрдирд┐рдпрд╛рджреА рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЛ рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рддрд╛рдХрд┐ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдХрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХреНрдпрд╛ рдЪрд░реНрдЪрд╛ рд╣реЛрдЧреАред
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдВрд╕реНрдерд╛рдПрдБ рд╣реИрдВ:
рдЧреНрд░рд╛рд╣рдХ (рдХреНрд▓рд╛рдЗрдВрдЯ)
рдпрд╣ рд╕реЗрдВрд╕реБ-рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд░реНрд╡рд░ рд╕реНрдерд╛рдкрд┐рдд рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдЦреБрдж рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ RabbitMQ рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ Sensu рдирд┐рдЧрд░рд╛рдиреА рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рд╣реИред Sensu рд╕рд░реНрд╡рд░ рд╕реЗ, рд╡рд╣ рдЪреЗрдХ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдкрд░рд┐рдгрд╛рдо рдХреЛ RabbitMQ рд╕реЗ рдЬреЛрдбрд╝рддрд╛ рд╣реИред
рдЖрддреНрдо-рдкрд╣рдЪрд╛рди рдХреЗ рд▓рд┐рдП, рдЙрд╕реЗ рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ (рдкреНрд░рд▓реЗрдЦрди рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛):
{ "client": { "name": "i-424242", "address": "127.0.0.1", "subscriptions": [ "production", "webserver", "mysql" ] } }
"рд╕рджрд╕реНрдпрддрд╛" рдХреЗ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рд╣реИред рд╕рджрд╕реНрдпрддрд╛ рдЗрд╕ рд╕рд░реНрд╡рд░ рд╕реЗ рдЬреБрдбрд╝реА рднреВрдорд┐рдХрд╛рдУрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ рдФрд░ рдЙрд╕ рдкрд░ рдХрд┐рдП рдЧрдП рдЪреЗрдХ рдХреА рд╕реВрдЪреА рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИред
рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдореЗрдВ рдЕрдзрд┐рдХ рдареАрдХ-рдЯреНрдпреВрдирд┐рдВрдЧ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЙрдкрдпреЛрдЧреА рд╕реЗ рдЖрдк рдХрд┐рд╕реА рднреА рдлрд╝реАрд▓реНрдб рдХреЛ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдорд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЪреЗрдХ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рд╕рдордп рдЕрдВрддрд░рд╛рд▓ рдЬреЛ рдХрд┐ рдСрдлрд╝рд▓рд╛рдЗрди рдЫреЛрдбрд╝рдиреЗ рд╡рд╛рд▓реЗ рдЧреНрд░рд╛рд╣рдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдШрдЯрдирд╛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдкреНрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╕рддреНрдпрд╛рдкрди (рдЪреЗрдХ)
рдЪреЗрдХ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдФрд░ рдЙрдирдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рдХрдорд╛рдВрдб рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рддреЗ рд╣реИрдВред рдкреВрд░реА рддрд░рд╣ рд╕реЗ Nagios рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд, рдЕрд░реНрдерд╛рддреНред рдЪреЗрдХ рдХреА рд╕рдлрд▓рддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рдирджрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рдХрд╛рд╕ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдФрд░ рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рдХреЗ рд░реВрдк рдореЗрдВ STDOUT рдпрд╛ STDERRред рдЪреЗрдХреЛрдВ рдХреЛ рд╕реЗрдВрд╕реБ-рд╕рд░реНрд╡рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЪреЗрдХ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдкреНрд░рд▓реЗрдЦрди рд╕реЗ):
{ "checks": { "chef_client": { "command": "check-chef-client.rb", "subscribers": [ "production" ], "interval": 60 "handlers": [ "pagerduty", "irc" ] } } }
рдпрд╣рд╛рдВ рдмреНрдпрд╛рдЬ рдХреА рдлрд┐рд░ рд╕реЗ рд╕рджрд╕реНрдпрддрд╛ рдФрд░ рд╕рдВрдЪрд╛рд▓рдХреЛрдВ рд╣реИрдВред рд╕рджрд╕реНрдпрддрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ рдпрд╣ рдХрдорд╛рдВрдб рдХрд┐рд╕ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдЪрд▓реЗрдЧреАред
рд╣реИрдВрдбрд▓рд░ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдЙрди рдХрдорд╛рдВрдбреЛрдВ рдХреА рд╕реВрдЪреА рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдЗрд╕ рдЪреЗрдХ рд╕реЗ рдбреЗрдЯрд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреЗ рд╕рдордп рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╣рдо рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдЧреЗ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред
рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╕рддреНрдпрд╛рдкрди рдПрдХ "рдореАрдЯреНрд░рд┐рдХ" рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд рдЗрд╕рдХреЗ STDOUT рд╕реЗ рдбреЗрдЯрд╛ рд╣рдореЗрд╢рд╛ рдХреЗрд╡рд▓ рд╣реИрдВрдбрд▓рд░реНрд╕ рдХреЛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕ рддрд░рд╣ рдЖрдк рд░реЗрдЦрд╛рдВрдХрди (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЧреНрд░реЗрдлрд╛рдЗрдЯ рдореЗрдВ) рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдбреЗрдЯрд╛ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВред
рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рд╡рд┐рд╡рд░рдгред
рд╣реИрдВрдбрд▓рд░ (рд╣реИрдВрдбрд▓рд░)
рд╣реИрдВрдбрд▓рд░ рдЙрди рдХрдорд╛рдВрдб рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЪреЗрдХ рд╕рд░реНрд╡рд░ рд╕реЗ рдбреЗрдЯрд╛ рдЖрдиреЗ рдФрд░ рдЙрдирдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдкрд░ рдирд┐рдЧрд░рд╛рдиреА рд╕рд░реНрд╡рд░ рдкрд░ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╣реИрдВрдбрд▓рд░, рдЬрдм рдХрд┐рд╕реА рднреА рдЪреЗрдХ рд╕реЗ рдЧреИрд░-рд╢реВрдиреНрдп рдирд┐рдХрд╛рд╕ рдХреЛрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рддреЛ рдХрдорд╛рдВрдб
mail -s 'sensu event' email@address.com
(рдкреНрд░рд▓реЗрдЦрди рд╕реЗ рдЙрджрд╛рд╣рд░рдг) рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдЧрд╛:
{ "handlers": { "mail": { "type": "pipe", "command": "mail -s 'sensu event' email@address.com" } } }
рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реИ,
рдкреНрд▓рдЧрдЗрди рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╣реИрдВрдбрд▓рд░ рд╣реИрдВред рдЖрдк рдкреЗрдЬрд░рдбреВрдЯ рдореЗрдВ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдкрддреНрд░ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЧреНрд░реЗрдЧреНрд▓реЙ 2 рдореЗрдВ gelf рдореЗрдВ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВред
рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рд╡рд┐рд╡рд░рдгред
рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдХрд╛рд░реНрдп рдкреНрд░рдгрд╛рд▓реА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд░реНрдпрд╛рдкреНрдд рд╣реИрдВред рдореНрдпреВрдЯреЗрдЯрд░, рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдФрд░ рдПрдкреАрдЖрдИ рднреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдм рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИред
рдордЬрд╝рд╛ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рд╣реЛ рд░рд╣реА рд╣реИ
рд╕реЗрдВрд╕реБ рдХреЛ "рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдлреНрд░реЗрдорд╡рд░реНрдХ" рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдЬрд╝реИрдмрд┐рдХреНрд╕ рдЬреИрд╕реЗ рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬрд╝ рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реИред рд╕рднреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЖрдЗрдП рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВред рдЖрдЗрдП рдПрдХ рд╕рд░рд▓ рдХрд╛рд░реНрдп рдХрд░реЗрдВ - рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рд░реЗрдбрд┐рд╕ рдХреЗ рдЦрд┐рд▓рд╛рдл рдЪреЗрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдбреИрд╢рд┐рдВрдЧ рдкреИрдирд▓ рдкрд░ рдЕрд▓рд░реНрдЯ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ, рдФрд░ рдЗрддрд┐рд╣рд╛рд╕ рдХреЗ рд▓рд┐рдП admin@example.com рдкрд░ рднреА рдЧреНрд░реЗрдЧреНрд▓реЛрдЧ 2 рдХреЛ рд╕рдВрджреЗрд╢ рднреЗрдЬреЗрдВ рдФрд░ рдИрдореЗрд▓ рдХрд░реЗрдВред рдФрд░ рд░реЗрдбрд┐рд╕ рд╕реЗ рдореИрдЯреНрд░рд┐рдХреНрд╕ рднреА рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рднрдВрдбрд╛рд░рдг рдХреЗ рд▓рд┐рдП рдЧреНрд░реЗрдлрд╛рдЗрдЯ рдореЗрдВ рднреЗрдЬрддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рдПрдХрддреНрд░рд┐рдд рдореВрд▓реНрдпреЛрдВ рдкрд░ рднреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВред
рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рдкрддреЗ 192.168.1.2N рд╣реИрдВ, рдЧреНрд░реЗрдлрд╛рдЗрдЯ 192.168.1.80:8082, рд░реИрдмрд┐рдЯрдПрдордХреНрдпреВ рдФрд░ рд░реЗрдбрд┐рд╕ 192.168.1.80 рдкрд░ рддреИрдирд╛рдд рд╣реИрдВред рдЧреНрд░реЗрд▓реЙрдЧ 2 192.168.1.81 рдкрд░ рд╕реБрдирддрд╛ рд╣реИ, рдбреИрд╢рд┐рдВрдЧ рдХреЛ рднреА рд╡рд╣рд╛рдВ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╡рд┐рдиреНрдпрд╛рд╕
рдЧреНрд░рд╛рд╣рдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд░реЗрдбрд┐рд╕ рдХреА рднреВрдорд┐рдХрд╛ рдореЗрдВ рдПрди рд╕рд░реНрд╡рд░ рд╣реИрдВред
рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
/etc/sensu/config.json { "client": { "graphite_server": "192.168.1.80:8082", "address": "192.168.1.2N", "name": "clientN", "subscriptions": [ "redis" ] } "rabbitmq": { "vhost": "/sensu", "host": "192.168.1.80", "password": "password", "port": 5672, "user": "sensu" } }
рдФрд░ рдкреНрд░рддреНрдпреЗрдХ N рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рд╣реЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЕрдиреНрдп рд╕рднреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЗрдВ рдХреЗрд╡рд▓ Sensu рд╕рд░реНрд╡рд░ рдкрд░ рд╣реИрдВред
рдореВрд▓ рд╕реЗрдЯрд┐рдВрдЧреНрд╕:
/etc/sensu/conf.d/settings.json { "api": { "host": "192.168.1.80", "port": 4567 }, "redis": { "host": "192.168.1.80", "port": 6379 }, "rabbitmq": { "vhost": "/sensu", "host": "192.168.1.80", "password": "password", "port": 5672, "user": "sensu" }, "mailer": { "mail_from": "sensu@example.com", "smtp_port": "25", "mail_to": "admin@example.com", "smtp_address": "localhost" }, "dashing": { "auth_token": "YOUR_AUTH_TOKEN", "host": "http://192.168.1.81:8088" }, "gelf": { "server": "192.168.1.81" "port": "12201", } }
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдордиреЗ рди рдХреЗрд╡рд▓ рд╕реЗрдВрд╕реБ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛, рдмрд▓реНрдХрд┐ рдбреИрд╢рд┐рдВрдЧ, рдЬреАрдПрд▓рдПрдл рдФрд░ рдореЗрд▓рд░ рд╣реИрдВрдбрд▓рд░реНрд╕ рдХреЗ рд▓рд┐рдП рдкреИрд░рд╛рдореАрдЯрд░ рднреА рддреИрдпрд╛рд░ рдХрд┐рдПред
рдЕрдм рд╣рдо рдЗрди рд╣реИрдВрдбрд▓рд░ рдХреЛ рд╕реНрд╡рдпрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ:
/etc/sensu/conf.d/handlers.json { "handlers": { "default": { "type": "set", "handlers": [ "mailer", "dashing", "gelf" ] }, "gelf": { "type": "pipe", "command": "/etc/sensu/handlers/gelf.rb" }, "mailer": { "type": "pipe", "command": "/etc/sensu/handlers/mailer.rb" }, "dashing": { "type": "pipe", "command": "/etc/sensu/handlers/dashing.rb" }, "graphite": { "mutator": "only_check_output", "type": "amqp", "exchange": { "durable": true, "type": "topic", "name": "metrics" } } } }
рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЧреНрд░реЗрдлрд╛рдЗрдЯ рдореЗрдВ рд╣рдо AMQP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реЗрд▓рдореЗрдЯ рдХрд╛ рдбрд╛рдЯрд╛ рджреЗрддреЗ рд╣реИрдВред рд╕рдВрдЪрд╛рд▓рдХреЛрдВ рдХреЛ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рд╕рд░реНрд╡рд░ рдкрд░ / etc / sensu / рд╣реИрдВрдбрд▓рд░ рдореЗрдВ рд╡рд┐рдШрдЯрд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЕрдм рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЪреЗрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ:
/etc/sensu/conf.d/checks.json { "checks": { "redis_processes": { "interval": 60, "command": "/etc/sensu/plugins/processes/check-procs.rb -p redis -c 8 -C 0 -w 7 -W 1", "subscribers": [ "redis", ], "handlers": [ "default" ] }, "redis_memory": { "dependencies": [ "redis_processes" ], "command": "/etc/sensu/plugins/redis/check-redis-memory.rb -c 204800 -w 51200", "interval": 60, "subscribers": [ "redis", ], "handlers": [ "default" ] }, "redis_metric": { "handlers": [ "graphite" ], "interval": 60, "dependencies": [ "redis_processes" ], "command": "/etc/sensu/plugins/redis/redis-graphite.rb --scheme stats.:::name:::.redis", "subscribers": [ "redis", ], "type": "metric" }, "redis_keys_from_graphite": { "interval": 60, "command": "/etc/sensu/plugins/graphite/check-data.rb -s :::graphite_server::: -t stats.:::name:::.redis.db0.keys -w 500 -c 900 -a 120", "subscribers": [ "redis" ], "dependencies": [ "redis_processes" ], "handlers": [ "default" ] } } }
рдЪреЗрдХреЛрдВ рдХреЛ рд╕реЗрдВрд╕реБ рдкреНрд▓рдЧрдЗрдиреНрд╕ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ / etc / sensu / plugins рдореЗрдВ рд╡рд┐рдШрдЯрд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЬреЛ рд▓реЛрдЧ рдирд╛рдЧрд┐рдпреЛрд╕ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ, рдЙрдирдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рдХреБрдЫ рдирдпрд╛ рдирд╣реАрдВ рд╣реИ, рдХреЗрд╡рд▓ redis_metric рдореАрдЯреНрд░рд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рд╣рдо рдбреЗрдЯрд╛ рдХреЛ рдЧреНрд░реЗрдлрд╛рдЗрдЯ рдореЗрдВ рдбрд╛рд▓рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ redis_keys_from_graphite рдЪреЗрдХ рдореЗрдВ рд╣рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкрд┐рдЫрд▓реЗ 10 рдорд┐рдирдЯ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд▓рдЧрднрдЧ рд╣рд░ рдкреНрд▓рдЧрдЗрди рдореЗрдВ --help рд╕реНрд╡рд┐рдЪ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдиреНрджрд░реНрдн рджреЗрддрд╛ рд╣реИред
рд╡рд╣ рд╕рдВрдкреВрд░реНрдг рд╡рд┐рдиреНрдпрд╛рд╕ рд╣реИред рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реИ, рд╕рдм рдХреБрдЫ рднрдВрдбрд╛рд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдЕрджреНрднреБрдд рд╣реИред
рдмреЗрд╢рдХ, рдбреИрд╢рд┐рдВрдЧ рдФрд░ рдЧреНрд░реЗрдлрд╛рдЗрдЯ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ рд▓реЗрдЦ рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдмрд╛рд╣рд░ рдЫреЛрдбрд╝ рджреВрдВрдЧрд╛ред Sensu + рдЧреНрд░реЗрдлрд╛рдЗрдЯ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдирд┐рд░реНрджреЗрд╢
рдпрд╣рд╛рдВ рдорд┐рд▓ рд╕рдХрддреЗ
рд╣реИрдВ , рд▓реЗрдХрд┐рди рдбреИрд╢рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реИред
Sensu рдореЗрдВ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдбреИрд╢рдмреЛрд░реНрдб рднреА рд╣реИ, рдЬрд┐рд╕ рдкрд░ рдЖрдк рдХреНрд▓рд╛рдЗрдВрдЯ, рдЪреЗрдХ рдФрд░ рдЯреНрд░рд┐рдЧрд░ рдЕрд▓рд░реНрдЯ рдХреА рд╕реВрдЪреА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдПрдкреАрдЖрдИ рдФрд░ рдбреИрд╢рдмреЛрд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдХрд┐рд╕реА рднреА рд╣реЛрд╕реНрдЯ рдпрд╛ рдЪреЗрдХ рдХреЗ рд▓рд┐рдП рдЕрд▓рд░реНрдЯ рдХреА рдкреАрдврд╝реА рдХреЛ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА рд╕рд┐рд╕реНрдЯрдо рдХреА рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рднреА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╣ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ (рд╕реНрдХреНрд░реАрди рдореЗрд░реА рдирд╣реАрдВ рд╣реИ):

рдирд┐рд╖реНрдХрд░реНрд╖
рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╕реЗрдВрд╕реБ рдХреЗрд╡рд▓ рд░рд╛рдЙрдЯрд░ рдФрд░ рдЖрдпреЛрдЬрдХ рдХреА рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рддрд╛ рд╣реИ, рдФрд░ рд╕рднреА рдЧрдВрджреЗ рдХрд╛рдо рдмрд╛рд╣рд░реА рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдпрд╣ рдЖрдкрдХреЛ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рдЫреЛрдЯреЗ рдЖрдХрд╛рд░, рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдХреА рд╕рдордЧреНрд░ рд╕рд╛рджрдЧреА рдХреЛ рдмрдЪрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред RabbitMQ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХрд╛ рдкрдВрдЬреАрдХрд░рдг рдЖрдкрдХреЛ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреА "рдЦреЛрдЬ" рдХреЗ рддрдВрддреНрд░ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдмрд╛рджрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ, рд╣рд╛ + рд▓реЛрдб рд╕рдВрддреБрд▓рди рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг
рдпрд╣рд╛рдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛
рд╣реИ ред
рдореИрдВ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рд╕реЗрдВрд╢реБ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЬрд╝рд╛рдмрд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдХрд░рддрд╛ рд░рд╣рд╛ рд╣реВрдВ, рдЕрдм рд▓рдЧрднрдЧ рдПрдХ рдорд╣реАрдиреЗ рдХреЗ рд▓рд┐рдП, рдФрд░ рдкрд░реАрдХреНрд╖рдг рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдореИрдВрдиреЗ рдЗрд╕реЗ рдХреБрдЫ рдорд╣реАрдиреЛрдВ рддрдХ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ред рд╕реЗрдВрд╕реБ рдХреЗ рд▓рдЪреАрд▓реЗрдкрди рдиреЗ рдореБрдЭреЗ рдбреИрд╢рд┐рдВрдЧ рдкреИрдирд▓ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд╕рд╛рде рдкреНрд░рдореБрдЦ рдорд╛рдкрджрдВрдбреЛрдВ рдФрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА, рдЬрдмрдХрд┐ рдореИрдВ рдмрд╣реБрдд рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЬрд╝реИрдмрд┐рдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛, рдФрд░ рдпрд╣ рдЕрдм рдЕрдзрд┐рдХ рд╡реНрдпрд╛рдкрдХ рдирд┐рдЧрд░рд╛рдиреА рдореЗрдВ рд▓рдЧрд╛ рд╣реБрдЖ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдХрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдмрд╛рджрд▓реЛрдВ рдореЗрдВ, рд╕реЗрдВрд╕реБ рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рд╡рд┐рдХрд▓реНрдк рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрдкрдХреЛ рд▓рдЪреАрд▓реЗ рдврдВрдЧ рд╕реЗ рдШрдЯрдирд╛рдУрдВ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдмрд╛рджрд▓реЛрдВ рдХреА рдЧрддрд┐рд╢реАрд▓ рдкреНрд░рдХреГрддрд┐ рдХреЗ рд▓рд┐рдП рднреА рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рд╣реИред рдкреНрд░рд╕реНрддреБрддрд┐рдпреЛрдВ рдореЗрдВ, рдореИрдВ рд╕реЗрдВрд╕реБ рдХреА рджреЗрдЦрд░реЗрдЦ рдореЗрдВ рд╣рдЬрд╛рд░реЛрдВ рд╕рд░реНрд╡рд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдорд┐рд▓рд╛, рдЗрд╕рд▓рд┐рдП рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред
рдЕрдВрдд рдореЗрдВ, рдореИрдВ рд╕реЗрдВрд╕реБ (рд╕рднреА IMHO) рдХреЗ рдкреЗрд╢реЗрд╡рд░реЛрдВ рдФрд░ рд╡рд┐рдкрдХреНрд╖реЛрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ:
рд╡рд┐рдкрдХреНрд╖ рд╕реЗрдВрд╕реБ
- рдореМрдЬреВрджрд╛ рд╕реВрдЪрдирд╛ рд╣реИрдВрдбрд▓рд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкрд░ рдмрд╣реБрдд рдХрдо рд╣реИрдВред рдпрджрд┐ рдЖрдк PagerDuty рдЬреИрд╕реА рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдЕрдм рдореБрдЦреНрдп рдЛрдг рд╣реИред рдПрдХрдорд╛рддреНрд░ рдЙрдкрд╛рдп рдпрд╣ рд╣реИ рдХрд┐ рдЕрдкрдиреЗ рдЪрд╛рд▓рд╛рдХ рд╣реИрдВрдбрд▓рд░ рдХреЛ рд▓рд┐рдЦреЗрдВред
- рдХреЙрдиреНрдлрд┐рдбреЗрдВрд╕ рдЬрд╕рди рдореЗрдВ рд╣реИ, рдпрдорд▓ рдореЗрдВ рдирд╣реАрдВред
- рд╣рдореЗрдВ рдПрдХ рдмрд╛рд╣рд░реА рдореАрдЯреНрд░рд┐рдХ рд╕рдВрд░рдХреНрд╖рдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╡рд╣ рдПрдХ рдЪрд╛рд░реНрдЯ рдЪрд┐рддреНрд░рдХрд╛рд░ рднреА рд╣реИред
- рдкреВрд░рд╛ рджрд╕реНрддрд╛рд╡реЗрдЬ рднреА рдирд╣реАрдВред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рд░рд▓ рд╣реИ, рдЖрдк рдЗрд╕реЗ рд╕рд┐рд░реНрдл рдХреЛрдб рдкрдврд╝рдХрд░ рд╕рдордЭ рд╕рдХрддреЗ рд╣реИрдВред
рдкреЗрд╢реЗрд╡рд░реЛрдВ рд╕реЗрдВрд╕реБ
- рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХреЛ git рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, Chef / Puppet рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
- рдЕрдиреБрдорд╛рдкрдХрддрд╛ред
- рджреЛрд╖ рд╕рд╣рд┐рд╖реНрдгреБрддрд╛ред
- рд╕реНрдЯреЛрд░реЗрдЬ рд╕рд┐рд╕реНрдЯрдо рдЪреБрдирдиреЗ рдореЗрдВ рд▓рдЪреАрд▓рд╛рдкрдиред
- Nagios рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдердиред
- рдСрдЯреЛ-рдХрдиреЗрдХреНрдЯ рдХреНрд▓рд╛рдЗрдВрдЯред
- рд╕рджрд╕реНрдпрддрд╛ рддрдВрддреНрд░ред
- рдбреЗрдЯрд╛ рдЧреНрд░рд╛рд╣рдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрддреЗ рд╣реИрдВред
- рдкрд░реАрдХреНрд╖рдг рдХреЗ рдкрд░рд┐рдгрд╛рдо рд▓рдЪреАрд▓реЗ рдврдВрдЧ рд╕реЗ рд╡рд┐рднрд┐рдиреНрди рд╣реИрдВрдбрд▓рд░ рдХреЛ рднреЗрдЬреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред