рдлреНрд▓реБрдПрдВрдЯрдбреА: рдЖрдЙрдЯрдкреБрдЯ рдмрдлрд╝рд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдХреНрдпреЛрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ

рдлреНрд▓реБрдПрдВрдЯрдбреА: рдЖрдЙрдЯрдкреБрдЯ рдмрдлрд╝рд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдХреНрдпреЛрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ

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

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

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

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

рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рджреЛрд╣рд░рд╛рд╡ рдХреА рд╕рдорд╕реНрдпрд╛

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

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

127.0.0.1 192.168.0.1 - [28/Feb/2013:12:00:00 +0900] "GET / HTTP/1.1" 200 777 "-" "Opera/12.0" -

рд╣рд╛рд▓рд╛рдБрдХрд┐, ElasticSearch рдореЗрдВ рдРрд╕реЗ рдХрдИ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рдпрд╣ рд╕рдВрджреЗрд╢ рд╣реИ:

{
  "_index": "test-custom-prod-example-2020.01.02",
  "_type": "_doc",
  "_id": "HgGl_nIBR8C-2_33RlQV",
  "_version": 1,
  "_score": 0,
  "_source": {
    "service": "test-custom-prod-example",
    "container_name": "nginx",
    "namespace": "test-prod",
    "@timestamp": "2020-01-14T05:29:47.599052886 00:00",
    "log": "127.0.0.1 192.168.0.1 - [28/Feb/2013:12:00:00  0900] "GET / HTTP/1.1" 200 777 "-" "Opera/12.0" -",
    "tag": "custom-log"
  }
}

{
  "_index": "test-custom-prod-example-2020.01.02",
  "_type": "_doc",
  "_id": "IgGm_nIBR8C-2_33e2ST",
  "_version": 1,
  "_score": 0,
  "_source": {
    "service": "test-custom-prod-example",
    "container_name": "nginx",
    "namespace": "test-prod",
    "@timestamp": "2020-01-14T05:29:47.599052886 00:00",
    "log": "127.0.0.1 192.168.0.1 - [28/Feb/2013:12:00:00  0900] "GET / HTTP/1.1" 200 777 "-" "Opera/12.0" -",
    "tag": "custom-log"
  }
}

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рджреЛ рд╕реЗ рдЕрдзрд┐рдХ рджреЛрд╣рд░рд╛рд╡ рднреА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

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

2020-01-16 01:46:46 +0000 [warn]: [test-prod] failed to flush the buffer. retry_time=4 next_retry_seconds=2020-01-16 01:46:53 +0000 chunk="59c37fc3fb320608692c352802b973ce" error_class=Fluent::Plugin::ElasticsearchOutput::RecoverableRequestFailure error="could not push logs to Elasticsearch cluster ({:host=>"elasticsearch", :port=>9200, :scheme=>"http", :user=>"elastic", :password=>"obfuscated"}): read timeout reached"

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

2020-01-16 01:47:05 +0000 [warn]: [test-prod] retry succeeded. chunk_id="59c37fc3fb320608692c352802b973ce" 
2020-01-16 01:47:05 +0000 [warn]: [test-prod] retry succeeded. chunk_id="59c37fad241ab300518b936e27200747" 
2020-01-16 01:47:05 +0000 [warn]: [test-dev] retry succeeded. chunk_id="59c37fc11f7ab707ca5de72a88321cc2" 
2020-01-16 01:47:05 +0000 [warn]: [test-dev] retry succeeded. chunk_id="59c37fb5adb70c06e649d8c108318c9b" 
2020-01-16 01:47:15 +0000 [warn]: [kube-system] retry succeeded. chunk_id="59c37f63a9046e6dff7e9987729be66f"

рд╣рд╛рд▓рд╛рдБрдХрд┐, ElasticSearch рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдмрдлрд╝рд░ рдЯреБрдХрдбрд╝реЗ рдХреЛ рдЕрджреНрд╡рд┐рддреАрдп рдорд╛рдирддрд╛ рд╣реИ рдФрд░ рдЕрдиреБрдХреНрд░рдордг рдХреЗ рджреМрд░рд╛рди рдЙрдиреНрд╣реЗрдВ рдЕрджреНрд╡рд┐рддреАрдп _id рдлрд╝реАрд▓реНрдб рдорд╛рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рд╕рдВрджреЗрд╢реЛрдВ рдХреА рдкреНрд░рддрд┐рдпрд╛рдВ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИрдВ.

рдХрд┐рдмрд╛рдирд╛ рдореЗрдВ рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

рдлреНрд▓реБрдПрдВрдЯрдбреА: рдЖрдЙрдЯрдкреБрдЯ рдмрдлрд╝рд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдХреНрдпреЛрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ

рд╕рдорд╛рдзрд╛рди

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

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

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

рдЬрд┐рд╕ рд╕рдордп рд╕рдорд╕реНрдпрд╛ рджрд░реНрдЬ рдХреА рдЧрдИ рдереА, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЗрд╕ рддрд░рд╣ рджрд┐рдЦ рд░рд╣рд╛ рдерд╛:

 <buffer>
        @type file
        path /var/log/fluentd-buffers/kubernetes.test.buffer
        flush_mode interval
        retry_type exponential_backoff
        flush_thread_count 2
        flush_interval 5s
        retry_forever
        retry_max_interval 30
        chunk_limit_size 8M
        queue_limit_length 8
        overflow_action block
      </buffer>

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

  • рдлреНрд▓рд╢_рдЗрдВрдЯрд░рд╡рд▓ - рд╕рдордп рдЕрдВрддрд░рд╛рд▓ рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдмрдлрд░ рд╕рд╛рдлрд╝ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
  • рдХреНрдпреВ_рд▓рд┐рдорд┐рдЯ_рд▓реЗрдВрде - рдХрддрд╛рд░ рдореЗрдВ рдЦрдВрдбреЛрдВ рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ред
  • request_timeout рд╡рд╣ рд╕рдордп рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдлрд╝реНрд▓реБрдПрдВрдЯ рдФрд░ ElasticSearch рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдз рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

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

2020-01-21 10:22:57 +0000 [warn]: [test-prod] failed to write data into buffer by buffer overflow action=:block

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

рдЖрдк рдмрдлрд╝рд░ рдХреЛ рджреЛ рддрд░реАрдХреЛрдВ рд╕реЗ рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВ: рдпрд╛ рддреЛ рдХрддрд╛рд░ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЯреБрдХрдбрд╝реЗ рдХрд╛ рдЖрдХрд╛рд░ рдмрдврд╝рд╛рдХрд░, рдпрд╛ рдХрддрд╛рд░ рдореЗрдВ рдореМрдЬреВрдж рдЯреБрдХрдбрд╝реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝рд╛рдХрд░ред

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

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

2020-01-21 09:55:33 +0000 [warn]: [test-dev] buffer flush took longer time than slow_flush_log_threshold: elapsed_time=20.85753920301795 slow_flush_log_threshold=20.0 plugin_id="postgresql-dev" 

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

рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдЪрдпрди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

  1. request_timeout рдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕реЗ рдЕрдзрд┐рдХ (рд╕реИрдХрдбрд╝реЛрдВ рд╕реЗрдХрдВрдб) рд╣реЛрдиреЗ рдХреА рдЧрд╛рд░рдВрдЯреА рд╡рд╛рд▓реЗ рдорд╛рди рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВред рд╕реЗрдЯрдЕрдк рдХреЗ рджреМрд░рд╛рди, рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХреА рд╕рд╣реА рд╕реЗрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдорд╛рдирджрдВрдб рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреА рдХрдореА рдХреЗ рд▓рд┐рдП рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХрд╛ рдЧрд╛рдпрдм рд╣реЛрдирд╛ рд╣реЛрдЧрд╛ред
  2. Slow_flush_log_threshold рд╕реАрдорд╛ рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдВрджреЗрд╢реЛрдВ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВред elapsed_time рдлрд╝реАрд▓реНрдб рдореЗрдВ рдЪреЗрддрд╛рд╡рдиреА рдкрд╛рда рдмрдлрд╝рд░ рд╕рд╛рдлрд╝ рд╣реЛрдиреЗ рдХрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рджрд┐рдЦрд╛рдПрдЧрд╛ред
  3. рдЕрд╡рд▓реЛрдХрди рдЕрд╡рдзрд┐ рдХреЗ рджреМрд░рд╛рди рдкреНрд░рд╛рдкреНрдд рдЕрдзрд┐рдХрддрдо elapsed_time рдорд╛рди рд╕реЗ рдЕрдзрд┐рдХ рдорд╛рди рдкрд░ request_timeout рд╕реЗрдЯ рдХрд░реЗрдВред рд╣рдо request_timeout рдорд╛рди рдХреА рдЧрдгрдирд╛ elapsed_time + 50% рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░рддреЗ рд╣реИрдВред
  4. рд▓реЙрдЧ рд╕реЗ рд▓рдВрдмреЗ рдмрдлрд╝рд░ рдлреНрд▓рд╢ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдБ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдзреАрдореЗ_рдлреНрд▓рд╢_рд▓реЙрдЧ_рдереНрд░реЗрд╢реЛрд▓реНрдб рдХрд╛ рдорд╛рди рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рдЗрд╕ рдорд╛рди рдХреА рдЧрдгрдирд╛ elapsed_time + 25% рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░рддреЗ рд╣реИрдВред

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

рдиреАрдЪреЗ рджреА рдЧрдИ рддрд╛рд▓рд┐рдХрд╛ рджрд░реНрд╢рд╛рддреА рд╣реИ рдХрд┐ рдкреНрд░рддрд┐ рджрд┐рди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛, рдЬрд┐рд╕рд╕реЗ рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рджреЛрд╣рд░рд╛рд╡ рд╣реЛрддрд╛ рд╣реИ, рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдЪреБрдирдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдХреИрд╕реЗ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрддрд╛ рд╣реИ:

рдиреЛрдб -1
рдиреЛрдб -2
рдиреЛрдб -3
рдиреЛрдб -4

рдХреЗ рдмрд╛рдж рд╕реЗ рдкрд╣рд▓реЗ
рдХреЗ рдмрд╛рдж рд╕реЗ рдкрд╣рд▓реЗ
рдХреЗ рдмрд╛рдж рд╕реЗ рдкрд╣рд▓реЗ
рдХреЗ рдмрд╛рдж рд╕реЗ рдкрд╣рд▓реЗ

рдмрдлрд╝рд░ рдХреЛ рдлреНрд▓рд╢ рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓
1749/2
694/2
47/0
1121/2

рдкреБрдирдГ рдкреНрд░рдпрд╛рд╕ рд╕рдлрд▓ рд╣реБрдЖ
410/2
205/1
24/0
241/2

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

рдирд┐рд╖реНрдХрд░реНрд╖

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

рд╣рдорд╛рд░реЗ рдмреНрд▓реЙрдЧ рдкрд░ рдЕрдиреНрдп рд▓реЗрдЦ рднреА рдкрдврд╝реЗрдВ:

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ