рдирд┐рдЧрд░рд╛рдиреА рдХрд╛ рд╕рдордп рд╣реИ! рдпрд╣ рдПрдХ / рд╕реНрдерд┐рддрд┐ рдпрд╛ / рд╕реНрд╡рд╛рд╕реНрдереНрдп рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рд╣реЛрдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдЬрд╕рд╛рдирд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЧреНрд░рд╛рдлреНрдЯрд╛рдирд╛ рд╕реНрд╡рд╛рд╕реНрдереНрдп рдбреЗрдЯрд╛ рд▓реМрдЯрд╛рддрд╛ рд╣реИред
рд╡реЗ рдЪреАрдЬреЗрдВ рдЬреЛ рдореИрдВ рдПрдХ рд╕реНрдерд┐рддрд┐ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рд╡реЗ рд╣реИрдВ:
рдЬреИрд╕реЗ:
/рд╕реНрдерд┐рддрд┐
{"date_source_ok": рд╕рдЪ, "рдбреЗрдЯрд╛рдмреЗрд╕_реЛрдХ": рд╕рдЪ, "рдкреНрд░рд╛рдзрд┐рдХрд░рдг_реЛрдХ": рд╕рдЪ, "рдЧреНрд░рд╛рдлрд╛рдирд╛_рд╡рд░реНрд╖": "2.5.1"}
++
: +1:
рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд╕реНрд╡рд╛рд╕реНрдереНрдп url рд╕рддреНрд░ рдЙрддреНрдкрдиреНрди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ
: +1:
+1, рдпрд╣ рднрд╛рд░реЛрддреНрддреЛрд▓рдХ рдХреЗ рдкреАрдЫреЗ рдЧреНрд░реЗрдлрд╛рдирд╛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛, рд▓реЛрдбрдмреЗрд▓рд░ / рд╕реНрд╡рд╛рд╕реНрдереНрдп HTTP рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдХрд░реЗрдЧрд╛ grafana рд░рд┐рдЯрд░реНрди HTTP 200 рдУрдХреЗред
рдореИрдВрдиреЗ рдПрдХ рд╕рд╛рде рдХреБрдЫ рдореГрдд рд╕рд░рд▓ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕ рд╕рдордп рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЦреБрд╢ рдирд╣реАрдВ рд╣реВрдВред
рдпрджрд┐ рдХреЛрдИ рднреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдмрдирд╛рдо рдорд╛рд╕реНрдЯрд░ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рд░рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ: https://github.com/grafana/grafana/compare/master...theangryangel : рд╕реБрд╡рд┐рдзрд╛ / health_check
рдпрд╣ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджреЗрддрд╛ рд╣реИ:
{"current_timestamp":"2016-06-04T18:43:49+01:00","database_ok":true,"session_ok":true,"version":{"built":1464981754,"commit":"v3.0.4+158-g7cbaf06-dirty","version":"3.1.0"}}
рдбреЗрдЯрд╛рдмреЗрд╕ рдЪреЗрдХ рдореИрдВ рдореВрд▓ рд░реВрдк рд╕реЗ рдХреБрдЫ рдЖрдБрдХрдбрд╝реЗ рд╡рд╛рдкрд╕ рдХрд░ рд░рд╣рд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЗрд╕реЗ рдХрд╛рдЯ рджрд┐рдпрд╛ рд╣реИред рдореИрдВ рдХреНрд╡реЗрд░реА рдХреЛ рдмрд╣реБрдд рдЖрд╕рд╛рди рдЬреИрд╕реЗ "1 рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ" рдореЗрдВ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рдЬрд╛рдВрдЪрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реИред рдпрдХреАрди рдирд╣реАрдВ рд╣реЛрддрд╛ рдЕрдЧрд░ рдпрд╣ рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рд╣реИред
рд╕рддреНрд░ рдХреА рдЬрд╛рдБрдЪ рдореИрдВ рдпрд╛ рддреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЦреБрд╢ рдирд╣реАрдВ рд╣реВрдБред рд╡рд╣рд╛рдБ рдПрдХ рдкрд░реАрдХреНрд╖рдг macaron рд╕рд░реНрд╡рд░ рдЦрдбрд╝реЗ рд╣реЛрдиреЗ рдХреЗ рдмрд┐рдирд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╕рд╛рди рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ рдФрд░ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ () рдШрдмрд░рд╛рд╣рдЯ рд╕реЗ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╕рддреНрд░ рдкреНрд░рджрд╛рддрд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╕рдордп рдлреЗрдВрдХ рджреЗрдВрдЧреЗ, рдпрд╛ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░реАрдХреНрд╖рдг рд╕реБрд╡рд┐рдзрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП macaron / рд╕рддреНрд░ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ред рдкреНрд░рджрд╛рддрд╛ред рдЬреИрд╕рд╛ рдХрд┐ рдЕрднреА рд╣реИ, рдпрд╣ рдкрд░реЗрд╢рд╛рди рдХрд░рддрд╛ рд╣реИ рдПрдХ рд╕реЗрдЯ-рдХреБрдХреА рд╣реЗрдбрд░ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдореБрдЭреЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдЪрд╛рд╣рд┐рдПред рдореИрдВ рдХреБрдЫ рдЗрдирдкреБрдЯ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдБ, рдЬрд╣рд╛рдБ рдЗрд╕реЗ macaron some рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХ рдЕрдиреБрднрд╡реА рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рд╕реЗ рд▓реЗрдирд╛ рд╣реИ
рдбреЗрдЯрд╛ рд╕реНрд░реЛрддреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХрд░рдирд╛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдХрд┐ рдХреИрд╕реЗ рдЧреНрд░реИрдлрд╝рд╛рдирд╛ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдВрднрд╡рддрдГ рдЖрдкрдХреЗ рдирд┐рдпрдорд┐рдд рдирд┐рдЧрд░рд╛рдиреА рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдЕрдзрд┐рдХ рд╕рдордЭрджрд╛рд░ред
рдореИрдВ рдПрдХ рд╣реА рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рдерд╛ рдФрд░ рдПрдХ рд╕рдорд╛рдзрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рдПрдХ рд╕рдорд░реНрдкрд┐рдд рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рд╕реЗ рдПрдХ рдПрдкреАрдЖрдИ рдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдореИрдВ HAProxy рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЬрд┐рд╕рдореЗрдВ option httpchk
рдореЗрдВ рдХрд╕реНрдЯрдо HTTP рд╣реЗрдбрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдХреБрдЫ рдЙрдкрдпреЛрдЧреА "рдЫрд┐рдкреА рд╣реБрдИ" рд╕реБрд╡рд┐рдзрд╛ рд╣реИ:
option httpchk GET /api/org HTTP/1.0\r\nAccept:\ application/json\r\nContent-Type:\ application/json\r\nAuthorization:\ Bearer\ your_api_key\r\n
(рдореБрдЭреЗ 1.1 рдХреЗ рдмрдЬрд╛рдп HTTP / 1.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдХреЛ рд╣реЛрд╕реНрдЯ рд╣реЗрдбрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдореИрдВ рдЗрд╕реЗ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ HAProx рдлрд╝рд╛рдЗрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛)ред
/api/org
рдереЛрдбрд╝рд╛ рдУрд╡рд░рд╣реЗрдб рдХреЗ рд╕рд╛рде рд╕рдмрд╕реЗ рд╕рд░рд▓ рдЕрдиреБрд░реЛрдз рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдФрд░ HTTP 200 рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдФрд░ рдХреЛрдИ рдирдпрд╛ рд╕рддреНрд░ рдирд╣реАрдВ рдмрдирд╛рддрд╛ рд╣реИред
рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХреЛрдИ рдкреНрд░рдЧрддрд┐ рдпрд╛ рдкреАрдЖрд░?
+1
рдореИрдВ рдЗрд╕реЗ рдПрдХ рдЕрд▓рдЧ / рд▓рд┐рдиреЗрди рдФрд░ / рддрддреНрдкрд░рддрд╛ рдХреЗ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░реВрдВрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдЕрднреНрдпрд╛рд╕ рд╣реИред / рдХреЗрд╡рд▓ рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЧреНрд░рд╛рдлреНрдЯрд╛рдирд╛ рд╕реНрд╡рдпрдВ рдКрдкрд░ рдФрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, / рддрддреНрдкрд░рддрд╛ рдЗрдВрдЧрд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдпрд╛рддрд╛рдпрд╛рдд рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИ рдФрд░ рдпрд╣ рдЬрд╛рдВрдЪ рдХрд░реЗрдЧрд╛ рдХрд┐ рдЗрд╕рдХреА рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ рдпрд╛ рдирд╣реАрдВред
рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рд▓реАрдирд┐рдпрд░ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдХреА рдЬрд╛рдВрдЪ рдХреА рдЬрд╛рдПрдЧреА рдФрд░ 200 рдУрдХреЗ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдмрд╛рд░ рд╡рд┐рдлрд▓ рд╣реЛрдиреЗ рдкрд░ рдХрдВрдЯреЗрдирд░ рдХреЛ рдорд╛рд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдПрдХ рдирдП рдХреЗ рд╕рд╛рде рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рддрддреНрдкрд░рддрд╛ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рд╕реА рд╕реЗрд╡рд╛ рдХреЗ рдХрдВрдЯреЗрдирд░ рднрд╛рдЧ рдХреЛ рдмрдирд╛рдиреЗ рдФрд░ рдпрд╛рддрд╛рдпрд╛рдд рдХреЛ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬреИрд╕реЗ рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рд╕реЗ рдЗрд╕реЗ рдЬреЛрдбрд╝рдирд╛ рдФрд░ рд╣рдЯрд╛рдирд╛ред
+1
/ рдореАрдЯреНрд░рд┐рдХреНрд╕ рдкреНрд░реЛрдореЗрдерд┐рдпрд╕ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?
+1
рдХрд┐рд╕реА рдХреЛ рднреА рдХреБрдЫ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЕрдореЗрдЬрд╝рди рдИрд╕реАрдПрд╕ рдЬреИрд╕реА рд╕реНрд╡рд╛рд╕реНрдереНрдп рдЬрд╛рдБрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
рдЗрд╕ рд╣реИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: /public/img/grafana_icon.svg
, HTTP рдХреЛрдб: 200ред
+1
рдЗрд╕ рд╕рдордп рдХреЗ рджреМрд░рд╛рди рдпрджрд┐ рдЖрдк рдХреЗрд╡рд▓ HTTP code: 200
рд╕рд░рд▓ /login
ред рдореЗрд░реЗ рд╕рд╣рдХрд░реНрдореА рдФрд░ рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рдЧреНрд░реЗрдлрд╛рдирд╛ рдХреЛ рдПрдХ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдФрд░ рдЙрд╕ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд╛рдЗрдирд┐рдВрдЧ / рддрддреНрдкрд░рддрд╛ рдЬрд╛рдВрдЪ рдХреЗ рд▓рд┐рдП рдареАрдХ рдХрд╛рдо рдХрд┐рдпрд╛ред Google рдХрдВрдкреНрдпреВрдЯ рдЗрдВрдЬрди рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдХреЗ рд▓рд┐рдП рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рд╕рднреА рдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдХреИрд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдмрд┐рдВрджреБ рдмрд╛рд╣рд░реА рдирд┐рд░реНрднрд░рддрд╛ рд╕рд╣рд┐рдд рд╕реЗрд╡рд╛ рд╕реНрд╡рд╛рд╕реНрдереНрдп рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд╛ рд╕реНрдкрд╖реНрдЯ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред
рдореЗрд░реЗ рдЖрдИрдлреЛрди рд╕реЗ рднреЗрдЬрд╛ рдЧрдпрд╛
5 рджрд┐рд╕рдВрдмрд░, 2016 рдХреЛ рд╢рд╛рдо 4:09 рдмрдЬреЗ, рд╣рдВрдЯрд░ Satterwhite рд╕реВрдЪрдирд╛рдПрдВ @github.com рдиреЗ рд▓рд┐рдЦрд╛:
рдпрджрд┐ рдЖрдк рдПрдХ рд╕рд░рд▓ HTTP рдХреЛрдб: 200 рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдмрд╕ рдЙрдкрдпреЛрдЧ / рд▓реЙрдЧрд┐рди рдХрд░реЗрдВред рдореЗрд░реЗ рд╕рд╣рдХрд░реНрдореА рдФрд░ рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рдЧреНрд░реЗрдлрд╛рдирд╛ рдХреЛ рдПрдХ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдФрд░ рдЙрд╕ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд╛рдЗрдирд┐рдВрдЧ / рддрддреНрдкрд░рддрд╛ рдЬрд╛рдВрдЪ рдХреЗ рд▓рд┐рдП рдареАрдХ рдХрд╛рдо рдХрд┐рдпрд╛ред Google рдХрдВрдкреНрдпреВрдЯ рдЗрдВрдЬрди рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдХреЗ рд▓рд┐рдП рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ рдЗрд╕ рдзрд╛рдЧреЗ рдХреА рд╕рджрд╕реНрдпрддрд╛ рджреА рдЧрдИ рд╣реИред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рдЙрддреНрддрд░ рд╕реАрдзреЗ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ, рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВред
рд╣рдо рдЕрдкрдиреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ: рд╣рдореЗрдВ рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ HTTP рдПрдВрдбрдкреЙрдЗрдВрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХреЛрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд▓реЙрдЧрд┐рди рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕рдХреЗ рдЕрднрд╛рд╡ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП /login
рдЬреИрд╕реЗ рд╕реНрдереИрддрд┐рдХ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдФрд░ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБрдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреБрдЫ рдРрд╕реА рдЪреАрдЬрд╝реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдпрд╣ рдЬрд╛рдБрдЪреЗрдВ рдХрд┐ Grafana internals рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рдЕрдиреБрд░реВрдк рдЪрд▓ рд░рд╣реЗ рд╣реИрдВред рдбреЗрдЯрд╛ рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рдбреЗрдЯрд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рд╕реНрдЯреЗрдЯрд╕ рдЪреЗрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реНрд╡рд╛рд╕реНрдереНрдп рдкрд░реАрдХреНрд╖рдг рд╣реИрдВред
рдЗрд╕рдХреЗ рд▓рд┐рдП +1ред
рд╕реЛрдо, 5 рджрд┐рд╕рдВрдмрд░, 2016 рдХреЛ рд░рд╛рдд 11:51 рдмрдЬреЗ, рдлрд┐рд▓рд┐рдк рд╡рд░реНрдирд░реНрд╕рдмрдХ <
рд╕реВрдЪрдирд╛рдПрдВ@github.com> рдиреЗ рд▓рд┐рдЦрд╛:
рд╣рдо рдЕрдкрдиреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ: рд╣рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ HTTP рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд▓реЙрдЧрд┐рди рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд░реЗрдЦрд╛рдВрдХрди рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдереИрддрд┐рдХ рд╕рдВрд╕рд╛рдзрди рдФрд░ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдЬреИрд╕реЗ / рд▓реЙрдЧрд┐рди
рдЗрд╕ рдХреЗ рд▓рд┐рдП, рд▓реЗрдХрд┐рди рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреБрдЫ рд╣реИ рдХрд┐ Grafana рдХреА рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИ рдХреА рдЬрд░реВрд░рдд рд╣реИ
рдЙрдореНрдореАрдж рдХреЗ рдореБрддрд╛рдмрд┐рдХ рдЗрдВрдЯрд░реНрди рдЪрд▓ рд░рд╣реЗ рд╣реИрдВред рдЬрд░реВрд░реА рдирд╣реАрдВ рдХрд┐ рд╣рдореЗрдВ рд╕реНрдЯреЗрдЯрд╕ рдЪреЗрдХ рдХреА рдЬрд░реВрд░рдд рд╣реЛ
рдбреЗрдЯрд╛ рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рдбреЗрдЯрд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реНрд╡рд╛рд╕реНрдереНрдп рдЬрд╛рдБрдЪреЗрдВ рд╣реИрдВ
рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдПред-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рд╣реИред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рдЙрддреНрддрд░ рд╕реАрдзреЗ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/grafana/grafana/issues/3302#issuecomment-265060171
рдпрд╛ рдзрд╛рдЧрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AIESgm7BZw3jqs8ElVWU9v7CjtcXBYFwks5rFOm-gaJpZ44Gm4T8
ред
-
[рдЫрд╡рд┐: TransLoc_logos_gear-blue_600x600.png]
рд╣рдВрдЯрд░ Satterwhite
рд▓реАрдб рдмрд┐рд▓реНрдб рдПрдВрдб рдСрдкрд░реЗрд╢рдВрд╕ рдЗрдВрдЬреАрдирд┐рдпрд░, рдЯреНрд░рд╛рдВрд╕рд▓реЛрдХ
рд╕реЗрд▓: 252.762.5177 | http://transloc.com http://www.transloc.com/
[рдЫрд╡рд┐: рд╕реЛрд╢рд▓ рдореАрдбрд┐рдпрд╛ рдЖрдЗрдХрди-03.png] https://www.facebook.com/TransLoc/ [рдЫрд╡рд┐:
рд╕реЛрд╢рд▓ рдореАрдбрд┐рдпрд╛ рдЖрдЗрдХрди- 04.png] https://www.linkedin.com/company/transloc [рдЫрд╡рд┐:
рд╕реЛрд╢рд▓ рдореАрдбрд┐рдпрд╛ рдЖрдЗрдХреЙрди -02.png] http://www.twitter.com/transloc [image: social
рдореАрдбрд┐рдпрд╛ рдЖрдЗрдХреЙрди -01.png] http://www.instagram.com/transloc_inc
рдЗрд╕рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреБрдЫ рдЖрдВрддрд░рд┐рдХ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде 4.0 / рдПрдкреА / рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдПрдВрдбрдкреЙрдЗрдВрдЯ рд╣реИред
рд▓реЗрдХрд┐рди рдореБрджреНрджрд╛ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ
{ "date_sources_ok": True, "database_ok": True, "authorization_ok": True, "grafana_version": "2.5.1" }
рдпрд╣рд╛рдВ рдЬреЛ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реИ рдЙрд╕рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдХреНрдпрд╛ рдПрдкреАрдЖрдИ рд╕реНрд╡рд╛рд╕реНрдереНрдп рдХреЙрд▓ рдХреЛ рд╕рднреА рдСрд░реНрдЧреЗрд╕ рдореЗрдВ рд╕рднреА рдбреЗрдЯрд╛ рд╕реНрд░реЛрддреЛрдВ рдХреЗ рд╕рд╛рде рд▓рд╛рдЗрд╡ рдЪреЗрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? рдХреНрдпрд╛ рдЗрд╕реЗ рдордХреНрдЦреА рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ / рд╕реНрд╡рд╛рд╕реНрдереНрдп рдПрдк рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ?
рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХрд╛ рдХреНрдпрд╛ рдЕрд░реНрде рд╣реИ?
@torkelo рдПрдХ рд╡рд┐рдЪрд╛рд░ рдЯреЙрд╕ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ / рд╕реНрд╡рд╛рд╕реНрдереНрдп рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП grafana- рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рд╣реА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордирдорд╛рдиреА рдмрд╛рддреЗрдВ рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧ рдЗрди:
{
"ok": false,
"items": [
"datasources": {
"ok": true,
},
"database": {
"ok": false,
"msg": "Cannot communicate ###.###.###.###/XXXXXXX"
},
...
]
}
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╕реНрд╡рд╛рд╕реНрдереНрдп рдЬрд╛рдВрдЪ рдЬрдм рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕рднреА рдЪреАрдЬреЛрдВ рдХреА рд▓рд╛рдЗрд╡ рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рд▓реЛрдЧ рд╕реНрд╡рд╛рд╕реНрдереНрдп рдЬрд╛рдВрдЪ рдХреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЪреАрдЬреЛрдВ рд╕реЗ рдЕрд▓рдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдРрд╕рд╛ рдХреБрдЫ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдХреНрд▓рд╕реНрдЯрд░ рд╕реНрд╡рд╛рд╕реНрдереНрдп рдХреЗ рд▓рд┐рдП рдЗрд▓рд╛рд╕реНрдЯрд┐рд╕рд░реНрдЪ рдХрд░рддрд╛ рд╣реИ ред рдЬрдм рдмрд╛рдд рдПрдХ рдмрд╛рд╣рд░реА рд╕реЗрд╡рд╛ (рдкреНрд░рд╛рдзрд┐рдХрд░рдг, рдбреЗрдЯрд╛рдмреЗрд╕, рдЖрджрд┐) рдХреА рд╣реЛрддреА рд╣реИ, рддреЛ рдХрдиреЗрдХреНрдЯрд┐рд╡рд┐рдЯреА рдкрд░реАрдХреНрд╖рдг рдиреНрдпреВрдирддрдо рдФрд░ рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдкрд╡рд┐рддреНрд░рддрд╛ рдЬрд╛рдВрдЪ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдХрд┐ рдЪреАрдЬрд╝ рдХреЗ рд▓рд┐рдП рдЙрдЪрд┐рдд рд╣реИ (рдЬреИрд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рдЪрдпрди 1, рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рд▓рд┐рдП LDAP рдмрд╛рдЗрдВрдб рдкрд░реАрдХреНрд╖рдг, рдЖрджрд┐)ред
рдЗрд╕ рддрд░рд╣ рдЖрдЙрдЯрдкреБрдЯ рд╣реЛрдиреЗ рд╕реЗ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдЪреЗрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдорд╕реНрдпрд╛рдУрдВ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдордЧреНрд░ рд░реВрдк рд╕реЗ рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред
+1
@torkelo рджреЗрд░реА рд╕реЗ рдЬрд╡рд╛рдм рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИ рдмрд╕ рдЕрдкрдиреЗ рд╕рд╡рд╛рд▓реЛрдВ рдХреЛ рджреЗрдЦрд╛ред
рдЯреАрдПрд▓, рдбреЙ
@ рдХреИрдВрдбреАрдлреЗрд▓рд░ рдиреЗ рдЕрдкрдиреА рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд┐рдпрд╛ рдФрд░ рдпрд╣ рдореЗрд░реЗ рдорди рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рдерд╛
Grafana рдкрд░ рдирдЬрд╝рд░ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдЕрдВрддрд┐рдо рдмрд┐рдВрджреБ (рдпрд╛ рдЕрдВрдд рдмрд┐рдВрджреБ) рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде 2 рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рдЙрддреНрддрд░ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП:
рдП) рдпрд╣ рдЧреНрд░рд╛рдлреНрдЯрд╛рдирд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдФрд░ рддреИрдпрд╛рд░ рд╣реИ?
рдмреА) рдХреНрдпрд╛ рдпрд╣ рдЧреНрд░реИрдлрд╛рдирд╛ рдЙрджрд╛рд╣рд░рдг рдЗрд╕рдХреА рд╡рд┐рдиреНрдпрд╛рд╕ рдЗрдВрдЯреЗрдВрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЙрдореНрдореАрдж рдХреЗ рдореБрддрд╛рдмрд┐рдХ рдЪрд▓ рд░рд╣рд╛ рд╣реИ?
"рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЗрдВрдЯреНрд░реЗрдВрдЯ" рдпрд╣рд╛рдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдореИрдВ рдЕрднрд┐рдкреНрд░рд╛рдп рд╕реЗ рдЕрднрд┐рдкреНрд░рд╛рдп рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдбрдорд┐рди рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рддреЛ рдЙрд╕реЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╡рд╣ рдЙрдкрд▓рдмреНрдз рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдмрд┐рдирд╛ рдЙрдкрд▓рдмреНрдз рд╣реЛрдиреЗ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рд╕рд╣реА рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдпрджрд┐ рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рдЧреНрд░рд╛рдлрд╛рдирд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ, рддреЛ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рдХреЛ рдРрд╕рд╛ рдХрд╣рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдХреНрдпреЛрдВ, рдЙрд╕реА рд╢реИрд▓реА рдореЗрдВ рдЕрддреНрдпрдВрдд рдЙрдкрдпреЛрдЧреА "рдкрд░реАрдХреНрд╖рдг" рдмрдЯрди рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдпрд╣ рдореБрдЭреЗ рдЙрдбрд╝рд╛рди рднрд░рдиреЗ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╕реЛрдЪрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ, рдкрд╣рд▓реЗ рдореБрдЭреЗ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╡рд┐рдорд╛рди рдЙрдбрд╝рд╛рди рднрд░ рдЪреБрдХрд╛ рд╣реИ рдФрд░ рд╣рд╡рд╛ рдореЗрдВ рд╣реИ, рдлрд┐рд░ рдореБрдЭреЗ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рд╡рд┐рдорд╛рди рдЕрдкрдиреЗ рдЧрдВрддрд╡реНрдп рдХреА рдУрд░ рдЙрдбрд╝рд╛рди рднрд░ рд░рд╣рд╛ рд╣реИред рдХреНрд░реВрдЬ рдКрдВрдЪрд╛рдИ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХрд╛ рдорддрд▓рдм рд╣реИ; ;-))
рдЗрд╕рдХреА рддреБрд▓рдирд╛ рдХреБрдЫ рд╣рдж рддрдХ / рд▓рд╛рдЗрд╡ / рд░реЗрдбреА рд╕реЗ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ, рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдиреЗ рдПрд▓рд┐рд╕реНрдЯрд┐рдХреНрд╕ рдЦреЛрдЬ рдореЙрдбрд▓ рдпрд╛ рд╕реНрд╡рд╛рд╕реНрдереНрдп / рдФрд░ / рд╕реЗрдВрд╕реВ (3) рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рд╣реИред
IMHO рдПрдХ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХрд╛рдВрд╢ рдЖрдзреБрдирд┐рдХ рдЙрдкрдХрд░рдгреЛрдВ рдореЗрдВ 2 рд╕рдорд╛рдкрди рдмрд┐рдВрджреБрдУрдВ рдХреЛ рджреЗрдЦрдХрд░ _kinda_ рдореЗрд░рд╛ рдорди рдмрджрд▓ рд░рд╣рд╛ рд╣реИ; рдЪрд▓реЛ рдмрд╕ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдореИрдВ рдЕрднреА рддрдХ рд░рд╛рдЬреА рдирд╣реАрдВ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмреА рдП рдХрд╛ рдПрдХ рд╕рдмрд╕реЗрдЯ рд╣реИ рдЗрд╕рд▓рд┐рдП рдореИрдВ JSON рдХреЛ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░реВрдВрдЧрд╛ рдХрд┐ 2 рдЕрдВрдд рдмрд┐рдВрджреБ рд╣реЛрдиреЗ рдХреЗ рдмрдЬрд╛рдпред рдлрд┐рд░ рдПрдХ рджрд┐рди рдЬрдм рдЧреНрд░рд╛рдлреНрдЯрдирд╛ рдХреЛ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ "/ рдХреНрд▓рд╕реНрдЯрд░_рд╕реНрдЯреЗрдЯ" рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЕрдм рдкреНрд░рддреНрдпреЗрдХ рдЙрддреНрддрд░ рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдпрд╣рд╛рдБ рдореЗрд░реЗ рд╡рд┐рдЪрд╛рд░ рд╣реИрдВ- рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╡рд┐рдЪрд╛рд░:
рдПрдХ рд╡рд┐рд╡рд░рдг:
рдмреА рд╡рд┐рд╡рд░рдг:
рдмрд╣реБрдд рдХреБрдЫ рд╣реИ рдЬреЛ B рдореЗрдВ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ 2 рдЕрдВрдд рдмрд┐рдВрджреБрдУрдВ рдореЗрдВ рдирд┐рдЧрд░рд╛рдиреА рдХреЛ рддреЛрдбрд╝рдирд╛ рдЕрдзрд┐рдХ рд╕рдордЭрджрд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, mehред
рдХреЗ рд░реВрдк рдореЗрдВ рдХреИрд╕реЗ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЕрдВрддрд┐рдо рдмрд┐рдВрджреБ (рдордХреНрдЦреА, рдПрдкреАрдЖрдИ, рдЖрджрд┐ рдкрд░) рдХреЛ рдмреБрдЭрд╛рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдореИрдВ рдХрднреА рднреА рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░ рджреВрдВрдЧрд╛ред
рдПрдХ рдЬреЛрдбрд╝реА - рд╕реНрдкрд╖реНрдЯ - рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕рд▓рд╛рд╣:
рдирд┐рдЧрд░рд╛рдиреА рдбреЗрдЯрд╛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдФрд░ рдЗрдВрд╕реНрдЯреНрд░реВрдореЗрдВрдЯреЗрд╢рди рдХреЛрдб рдХреЗ рд╕рд╛рде рдмрд╣реБрдд "рд╕реБрд░рдХреНрд╖рд╛рддреНрдордХ" рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рдкреНрд░рддрд┐ рдмрд╣реБрдд рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ, рдЧреНрд░реЗрдлрд╛рдирд╛ рдХреЗ рдкреНрд░рд╡реЗрд╢ рд╕реЗ рдмрдЪрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВ "рдореЗрд░реА рдирд┐рдЧрд░рд╛рдиреА рдиреЗ рдЧреНрд░рд╛рдлреНрдЯрд╛рдирд╛ рдХреЛ рдЧреНрд░реЗрдлрд╛рдирд╛ рдиреАрдЪреЗ рд▓реЗ рд▓рд┐рдпрд╛" рдпрд╛ "рдЧреНрд░реЗрдлрд╛рдирд╛ рдиреЗ рдПрдХреНрд╕% рд╕реЗ рдзреАрдорд╛ рдХрд░ рджрд┐рдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЙрд╕рдиреЗ рдЗрд╕реЗ рдореЙрдирд┐рдЯрд░ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рд╣реИ" рд╕реНрдерд┐рддрд┐рдпреЛрдВ ред
рдЙрдкрд▓рдмреНрдз рдирд┐рдЧрд░рд╛рдиреА рдбреЗрдЯрд╛ рдкрд░ рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рд╕рддрд░реНрдХ рд░рд╣реЗрдВ, рд╕рддрд░реНрдХрддрд╛ рдПрдХ рдкреНрд▓реЗрдЧ рд╣реИ
(рез) https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-health.html
(реи) https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-state.html
(рей) https://sensuapp.org/docs/0.23/api/health-and-info-api.html#the -info-api-endpoint
(рек) https://blog.codinghorror.com/get-your-database-under-version-control/
рддреЛ 4.2.0 рдЕрднреА-рдЕрднреА рдмрд╛рд╣рд░ рдЖрдпрд╛ рд╣реИ рдФрд░ рдЕрднреА рднреА рд╕реЗрд╡рд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ? (рд╕реЛрдЪреЛ k8s рдХреНрд▓рд╕реНрдЯрд░)
@torkelo рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ @dynek рдХреЗ рдкрд╛рд╕ рдПрдХ рдмрд┐рдВрджреБ рд╣реИ, рдпрд╣ рдЕрдм рд╡реИрдХрд▓реНрдкрд┐рдХ рдирд╣реАрдВ рд╣реИред рдХреНрдпрд╛ рдпрд╣ "Grafana рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреИрд╕реЗ рдХрд░реЗрдВ" рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рдбреЙрдХреНрд╕ рдореЗрдВ рдПрдХ рдирдпрд╛ рдЦрдВрдб рд╣реИ, рдЬрд╣рд╛рдВ рдореМрдЬреВрджрд╛ рдЗрдВрд╕реНрдЯреНрд░реВрдореЗрдВрдЯреЗрд╢рди (рдЬреИрд╕реЗ рд▓реАрд╡рд░реЗрдЬ рдПрдбрдорд┐рди рдпрд╛ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдкреЗрдЬ) рдХреЗ рд╕рд╛рде рдЖрдЬ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдкреНрд░рд▓реЗрдЦрд┐рдд рд╣реИ рдпрд╛ рдПрдХ рдкреВрд░реНрдг fleshed рд╕рдорд░реНрдкрд┐рдд рдПрдкреАрдЖрдИ рдЬреИрд╕реЗ рдЗрд╕ рдкреНрд░рд╕реНрддрд╛рд╡ рдореЗрдВ рд╣рдо рдХрд▓ рдХреБрдЫ рдХрд░рддреЗ рд╣реИрдВред ред
рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рди рд▓реЗрдВ, рдореБрдЭреЗ рдЖрдкрдХреЛ рдпрд╣ рдмрддрд╛рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ рдХрд┐ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдПрдВ рдХреНрдпрд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдпрд╣ рд╕рд┐рд░реНрдл рдЗрддрдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдард┐рди рдмреЗрдЪрдиреЗ рдХреЗ рд▓рд┐рдП "рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬ рд░реЗрдбреА" рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд░реНрдкрд┐рдд рднрд╛рдЧ рдХреЗ рдмрд┐рдирд╛ рдЗрд╕реЗ рдХреИрд╕реЗ рдореЙрдирд┐рдЯрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПред
+1
Grafana рд╕реНрд╡рд╛рд╕реНрдереНрдп рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ http рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛:
GET /api/health
{
"commit": "349f3eb",
"database": "ok",
"version": "4.1.0"
}
рдпрджрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ (mysql / postgres / sqlite3) рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рдкрд╛ рд░рд╣рд╛ рд╣реИ рддреЛ рдпрд╣ database
рдлрд╝реАрд▓реНрдб рдореЗрдВ "рд╡рд┐рдлрд▓" рд╣реЛрдЧрд╛ред Grafana рдЕрднреА рднреА рд╕реНрдЯреЗрдЯрд╕ рдХреЛрдб 200 рдХреЗ рд╕рд╛рде рдЙрддреНрддрд░ рджреЗрдЧрд╛ред рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЙрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреНрдпрд╛ рд╕рд╣реА рд╣реИред
рдЗрд╕ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдХрднреА рднреА рд╕рддреНрд░ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ (рдХреБрдЫ рдЕрдиреНрдп рдПрдкреАрдЖрдИ рдХреЙрд▓ рдпрджрд┐ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдпрд╛ рдореВрд▓ рдЕрдзрд┐рдХрд╛рд░ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдмреБрд▓рд╛рддреЗ рд╣реИрдВ) рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдбреЗрдЯрд╛рдмреЗрд╕ рдЕрдиреБрдкрд▓рдмреНрдз рд╣реЛрдиреЗ рдкрд░ рд╕реНрдЯреЗрдЯрд╕ рдХреЛрдб 503 рдХреЗ рд╕рд╛рде рд▓реМрдЯрдирд╛ рдмреЗрд╣рддрд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛?
рдХреБрдмреЗрд░рдиреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ:
200 рд╕реЗ рдЕрдзрд┐рдХ рдпрд╛ 400 рд╕реЗ рдХрдо рдХрд┐рд╕реА рднреА рдХреЛрдб рдХреА рд╕рдлрд▓рддрд╛ рдЗрдВрдЧрд┐рдд рдХрд░рддреА рд╣реИред рдХреЛрдИ рднреА рдЕрдиреНрдп рдХреЛрдб рд╡рд┐рдлрд▓рддрд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред
рд╣рд╛рдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ db рд╕реНрдЯреЗрдЯрд╕ рд╡рд┐рдлрд▓ рд╣реЛрдиреЗ рдкрд░ 503 рд╕реНрдЯреЗрдЯрд╕ рдХреЛрдб рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ, рдЕрдкрдбреЗрдЯ рдХрд░реЗрдЧрд╛
503 рдХрд╛ рдЕрд░реНрде рд╣реИ /api/health
рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдХреЗрд╡рд▓ readiness
Kubernetes рдореЗрдВ рдЪреЗрдХ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЗрд╕ рдЪреЗрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ liveness
рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдорд╕реНрдпрд╛ рд╕рднреА рдкреЙрдбреНрд╕ рдХреЛ рдорд╛рд░ рдбрд╛рд▓реЗрдЧреАред рдХреНрдпрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдЬрд╛рдБрдЪ рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдХреНрд╡реЗрд░реА рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИ?
@JorritSalverda рд╢рд╛рдпрдж рдЖрдк tcpSocket
рдореЗрдВ livenessProbe
tcpSocket
рдЪреЗрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
/metrics
рд╕рддреНрд░ рдирд╣реАрдВ рдмрдирд╛рдПрдВрдЧреЗ рдпрд╛ рдПрдХ db рдЕрдиреБрд░реЛрдз рдЬрд╛рд░реА рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЖрдорддреМрд░ рдкрд░ рдПрдЧреНрд░реЗрд╕рд┐рд╡ рддрддреНрдкрд░рддрд╛ рдЬрд╛рдВрдЪ рдФрд░ рдЖрд░рд╛рдо рд╕реЗ рд▓рд┐рдиреЗрди рдЬрд╛рдВрдЪ рд╣реЛрддреА рд╣реИ, 1 рд╕реЗрдХрдВрдб, 1 рддрддреНрдкрд░рддрд╛ рдХреЗ рд▓рд┐рдП рдЕрд╕рдлрд▓, рдЬрдмрдХрд┐ рдпрд╣ 60 рд╕реЗрдХрдВрдб 10 рдлреЗрд▓ рд╣реИ, рдпрд╣ рд▓реАрдирд┐рдпрд░ рдХреЗ рд▓рд┐рдП 1 рд╕рдлрд▓рддрд╛ рд╣реИ, рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реЛрдиреЗ рдкрд░ рдЙрддреНрддрд░рджрд╛рдпреА рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрд╕реА рд╕рдордп рдпрджрд┐ рд╕реНрд╡рдпрдВ рдХреА рд╡рд╕реВрд▓реА рд╕рдВрднрд╡ рд╣реИ, рдЕрдирд╛рд╡рд╢реНрдпрдХ рдкреЙрдб рдкреБрдирд░рд╛рд░рдВрдн рдХреЛ рд░реЛрдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдПрдХ рдирд┐рд░рдВрддрд░ DB рд╕рдорд╕реНрдпрд╛ рдкреБрдирд░рд╛рд░рдВрдн рд╣реЛ рд╕рдХрддреА рд╣реИ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддреА рд╣реИ рдпрджрд┐ рдпрд╣ рдХреБрдЫ рдЦрд░рд╛рдм рдХрдВрдЯреЗрдирд░ рд░рд╛рдЬреНрдп рдХреЗ рдХрд╛рд░рдг рдерд╛ред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
Grafana рд╕реНрд╡рд╛рд╕реНрдереНрдп рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ http рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛:
рдпрджрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ (mysql / postgres / sqlite3) рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рдкрд╛ рд░рд╣рд╛ рд╣реИ рддреЛ рдпрд╣
database
рдлрд╝реАрд▓реНрдб рдореЗрдВ "рд╡рд┐рдлрд▓" рд╣реЛрдЧрд╛ред Grafana рдЕрднреА рднреА рд╕реНрдЯреЗрдЯрд╕ рдХреЛрдб 200 рдХреЗ рд╕рд╛рде рдЙрддреНрддрд░ рджреЗрдЧрд╛ред рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЙрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреНрдпрд╛ рд╕рд╣реА рд╣реИредрдЗрд╕ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдХрднреА рднреА рд╕рддреНрд░ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ (рдХреБрдЫ рдЕрдиреНрдп рдПрдкреАрдЖрдИ рдХреЙрд▓ рдпрджрд┐ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдпрд╛ рдореВрд▓ рдЕрдзрд┐рдХрд╛рд░ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдмреБрд▓рд╛рддреЗ рд╣реИрдВ) рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред