เปเบเบเบฑเบเบเบธเบเบฑเบ, เบกเบฑเบเปเบเบฑเบเปเบเบเปเปเปเบเปเบเบตเปเบเบฐเบเบดเบเบเบฐเบเบฒเบเบฒเบเปเบเบเบเบฒเบเบเบตเปเบญเบตเบเปเบชเป Kubernetes เปเบเบเบเปเปเบกเบต stack ELK, เปเบเบดเปเบเบเปเบงเบเบเบฐเบขเบฑเบเบเบฑเบเบเบถเบเบเบญเบเบเบฑเบเบชเบญเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเปเบฅเบฐเบญเบปเบเบเบฐเบเบญเบเบฅเบฐเบเบปเบเบเบญเบเบเบธเปเบก. เปเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ, เบเบงเบเปเบฎเบปเบฒเปเบเป stack EFK เบเบฑเบ Fluentd เปเบเบ Logstash.
Fluentd เปเบเบฑเบเบเบปเบงเปเบเบฑเบเบเบฑเบเบเบถเบเปเบเบเบเบฑเบเบชเบฐเปเบซเบก, เบเบปเปเบงเปเบเบเบตเปเบเปเบฒเบฅเบฑเบเปเบเปเบฎเบฑเบเบเบงเบฒเบกเบเบดเบเบปเบกเบซเบผเบฒเบเบเบถเปเบเปเบฅเบฐเปเบเปเปเบเบปเปเบฒเบฎเปเบงเบกเบเบฑเบ Cloud Native Computing Foundation, เปเบเบดเปเบเปเบเบฑเบเปเบซเบเบเบปเบเบเบตเปเบงเปเบฒ vector เบเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบกเบฑเบเปเบกเปเบเบชเบธเบกเปเบชเปเบเบฒเบเบเปเบฒเปเบเปเบฎเปเบงเบกเบเบฑเบเบเบฑเบ Kubernetes.
เบเบงเบฒเบกเบเบดเบเบเบญเบเบเบฒเบเปเบเป Fluentd เปเบเบ Logstash เบเปเปเปเบเปเบเปเบฝเบเปเบเบเบเบงเบฒเบกเบชเปเบฒเบเบฑเบเบเบปเปเบงเปเบเบเบญเบเบเบธเบเบเบญเบเปเบง, เบขเปเบฒเบเปเบเบเปเบเบฒเบก, Fluentd เบกเบตเบฅเบฑเบเบชเบฐเบเบฐเบชเบฐเปเบเบฒเบฐเบเบญเบเบเบปเบเปเบญเบเบเบตเปเปเบเบตเบเบเบฒเบเบเบงเบฒเบกเบเบทเบเบซเบเบธเปเบเบเบญเบเบกเบฑเบ.
เบเบปเบงเบขเปเบฒเบ, เปเบกเบทเปเบญเบเบงเบเปเบฎเบปเบฒเปเบฅเบตเปเบกเปเบเป EFK เปเบเปเบเบเบเบฒเบเบเบตเปเบซเบเบธเปเบเบขเบนเปเบเบฑเบเบเบฒเบเบเบฑเบเปเบกเปเบเบตเปเบกเบตเบเบงเบฒเบกเปเบเบฑเปเบกเบเบธเปเบเบชเบนเบ, เบเบงเบเปเบฎเบปเบฒเบเบฐเปเบเบตเบเบเบฑเบเบเบงเบฒเบกเบเบดเบเบเบตเปเบงเปเบฒเปเบ Kibana เบเบฒเบเบเปเปเบเบงเบฒเบกเบเบทเบเบชเบฐเปเบเบเบเปเปเบฒเบเปเบญเบเบซเบผเบฒเบเบเบฑเปเบ. เปเบเบเบปเบเบเบงเบฒเบกเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฐเบเบญเบเบเปเบฒเบเบงเปเบฒเปเบเบฑเบเบซเบเบฑเบเบเบฐเบเบปเบเบเบฒเบเบเบตเปเปเบเบตเบเบเบถเปเบเปเบฅเบฐเบงเบดเบเบตเบเบฒเบเปเบเปเปเบเบเบฑเบเบซเบฒ.
เบเบฑเบเบซเบฒเบเบฒเบเบเปเปเบฒเบเปเบญเบเบเบญเบเปเบญเบเบฐเบชเบฒเบ
เปเบเปเบเบเบเบฒเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ, Fluentd เบเบทเบเบเปเบฒเปเบเปเปเบเบฑเบ DaemonSet (เปเบเบตเบเบเบปเบงเบญเบฑเบเบเบฐเปเบเบกเบฑเบเปเบเบเบปเบงเบขเปเบฒเบเบเบฝเบงเปเบเปเบเปเบฅเบฐ node เบเบญเบเบเบธเปเบก Kubernetes) เปเบฅเบฐเบเบดเบเบเบฒเบก stdout container logs เปเบ /var/log/containers. เบซเบผเบฑเบเบเบฒเบเบเบฒเบเบฅเบงเบเบฅเบงเบกเปเบฅเบฐเบเบฒเบเบเบธเบเปเบเปเบ, เบเบฑเบเบเบถเบเปเบเบฎเบนเบเปเบเบเบเบญเบเปเบญเบเบฐเบชเบฒเบ JSON เบเบทเบเบชเบปเปเบเปเบเบซเบฒ ElasticSearch, เบเบปเบเบเบถเปเบเบกเบฒเปเบเบฎเบนเบเปเบเบเบเบธเปเบกเบซเบผเบทเปเบเบเบขเบทเบเบขเบนเป, เบเบถเปเบเบเบฑเบเบเบฐเบซเบเบฒเบเบเบญเบเปเบเบเบเบฒเบเปเบฅเบฐเบเบงเบฒเบกเบเปเบญเบเบเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเปเบฅเบฐเบเบงเบฒเบกเบเบปเบเบเบฒเบเบเปเปเบเบงเบฒเบกเบเบดเบ. Kibana เบเบทเบเบเปเบฒเปเบเปเปเบเบฑเบเบเบฒเบเปเบเปเบเบญเบเบฎเบนเบเบเบฒเบ.
เปเบกเบทเปเบญเปเบเป Fluentd เบเบฑเบ output buffering plugin, เบเบงเบเปเบฎเบปเบฒเปเบเปเบเบปเบเบเบฑเบเบชเบฐเบเบฒเบเบฐเบเบฒเบเบเบตเปเบเบฒเบเปเบญเบเบฐเบชเบฒเบเปเบ 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"
}
}
เบเบดเปเบเปเบเบเบงเปเบฒเบเบฑเปเบ, เบกเบฑเบเบชเบฒเบกเบฒเบเบกเบตเบซเบผเบฒเบเบเปเบงเบฒเบชเบญเบเบเบฑเปเบ.
เปเบเบเบฐเบเบฐเบเบตเปเปเบเปเปเบเบเบฑเบเบซเบฒเบเบตเปเบขเบนเปเปเบเบเบฑเบเบเบถเบ Fluentd, เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบดเปเบเบเบฒเบเปเบเบทเบญเบเปเบเบเปเบฒเบเบงเบเบซเบฅเบฒเบเบเบตเปเบกเบตเปเบเบทเปเบญเบซเบฒเบเปเปเปเบเบเบตเป:
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, เบเบถเปเบเปเบเบฑเบเปเบซเบเบเบปเบเบเบตเปเบงเปเบฒเบเบดเปเบเบชเปเบงเบ buffer เบเบตเปเบชเบปเปเบเบเปเปเบเปเปเบชเบฒเบกเบฒเบเบเบทเบเบฅเบถเบเบฅเปเบฒเบเปเบเป. เบซเบผเบฑเบเบเบฒเบเบเบตเป, Fluentd เบเบฐเบเบฒเบเบฒเบกเบชเบปเปเบเบเบดเปเบเบชเปเบงเบ buffer เปเบเบซเบฒ 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 เบเบฐเบเบดเบเบฑเบเบเปเปเปเบเปเบฅเบฐเบเบดเปเบเบชเปเบงเบ buffer เบเบตเปเบเบทเบเปเบญเบเปเบเบฑเบเปเบญเบเบฐเบฅเบฑเบ เปเบฅเบฐเบกเบญเบเปเบฒเบเบเปเบฒเบเบฒเบเบชเบฐเปเบฒเบก _id เบเบตเปเปเบเบฑเบเปเบญเบเบฐเบฅเบฑเบเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบเบฑเบเบชเบฐเบเบต. เบเบตเปเปเบกเปเบเบงเบดเบเบตเบเบตเปเบชเปเบฒเปเบเบปเบฒเบเปเปเบเบงเบฒเบกเบเบฒเบเบปเบ.
เปเบ Kibana เบกเบฑเบเปเบเบดเปเบเบเบทเบงเปเบฒเบเบตเป:
เบเบฒเบเปเบเปเปเบเบเบฑเบเบซเบฒ
เบกเบตเบซเบผเบฒเบเบเบฒเบเปเบฅเบทเบญเบเปเบเบเบฒเบเปเบเปเปเบเบเบฑเบเบซเบฒเบเบตเป. เบซเบเบถเปเบเปเบเบเบฑเปเบเปเบกเปเบเบเบปเบเปเบเบเบตเปเบชเปเบฒเบเบเบถเปเบเปเบ plugin fluent-plugin-elasticsearch เบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเปเบฒเบ hash เปเบเบฑเบเปเบญเบเบฐเบฅเบฑเบเบชเปเบฒเบฅเบฑเบเปเบเปเบฅเบฐเปเบญเบเบฐเบชเบฒเบ. เบเปเบฒเบเปเบฒเบเปเบเปเบเบปเบเปเบเบเบตเป, ElasticSearch เบเบฐเบฎเบฑเบเบฎเบนเปเบเบฒเบเบเปเปเบฒเบเบทเบเปเบเบเบฑเปเบเบเบญเบเบเบฒเบเบชเบปเปเบเบเปเปเปเบฅเบฐเบเปเบญเบเบเบฑเบเบเปเปเปเบซเปเปเบญเบเบฐเบชเบฒเบเบเปเปเบฒเบเบฑเบ. เปเบเปเบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเปเบฒเบเบถเบเปเบเบดเบเบงเปเบฒเบงเบดเบเบตเบเบฒเบเปเบเปเปเบเบเบฑเบเบซเบฒเบเบตเปเบเปเปเบชเบนเปเบเบฑเบเบเบฒเบเบชเบทเบเบชเบงเบเปเบฅเบฐเบเปเปเบฅเบปเบเบฅเปเบฒเบเบเบงเบฒเบกเบเบดเบเบเบฒเบเบเบตเปเบเบฒเบเปเบงเบฅเบฒ, เบเบฑเปเบเบเบฑเปเบเบเบงเบเปเบฎเบปเบฒเบเบถเปเบเบเบฐเบเบดเปเบกเบเบฒเบเบเปเบฒเปเบเปเบเบญเบเบกเบฑเบ.
เบเบงเบเปเบฎเบปเบฒเปเบเป plugin buffering เปเบเบเบปเบเบเบฐเบฅเบดเบ Fluentd เปเบเบทเปเบญเบเปเบญเบเบเบฑเบเบเบฒเบเบชเบนเบเปเบชเบเบเบฑเบเบเบถเบเปเบเบเปเบฅเบฐเบเบตเบเบญเบเบเบฑเบเบซเบฒเปเบเบทเบญเบเปเบฒเบเปเบเปเบฅเบเบฐเบชเบฑเปเบเบซเบผเบทเบเบงเบฒเบกเปเบเบฑเปเบกเบเบปเปเบเบเบญเบเบเบฒเบเบเบฑเบเบเบถเบเปเบเบตเปเบกเบเบถเปเบ. เบเปเบฒเบชเปเบฒเบฅเบฑเบเปเบซเบเบเบปเบเบเบฒเบเบขเปเบฒเบ ElasticSearch เบเปเปเบชเบฒเบกเบฒเบเบเบฝเบเปเบญเบเบฐเบชเบฒเบเปเบชเปเบเบฑเบเบชเบฐเบเบตเปเบเปเบเบฑเบเบเบต, เปเบญเบเบฐเบชเบฒเบเบเบฐเบเบทเบเบเบฑเบเบเบดเบงเปเบฅเบฐเปเบเบฑเบเปเบงเปเปเบเปเบเปเบ. เบเบฑเปเบเบเบฑเปเบ, เปเบเบเปเบฅเบฐเบเบตเบเบญเบเบเบงเบเปเบฎเบปเบฒ, เปเบเบทเปเบญเบฅเบปเบเบฅเปเบฒเบเปเบซเบผเปเบเบเบญเบเบเบฑเบเบซเบฒเบเบตเปเบเปเบฒเปเบเบชเบนเปเบเบงเบฒเบกเบเบดเบเบเบฒเบเบเบตเปเปเบเปเบเปเบฒเบงเบกเบฒเบเปเบฒเบเปเบเบดเบ, เบกเบฑเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเปเบเปเบฒเบเบปเบเบเปเบฒเบเบตเปเบเบทเบเบเปเบญเบเบชเปเบฒเบฅเบฑเบเบเบฒเบฅเบฒเบกเบดเปเบเบต buffering, เปเบเบดเปเบ Fluentd output buffer เบเบฐเบกเบตเบเบฐเบซเบเบฒเบเบเบฝเบเบเปเปเบฅเบฐ. เปเบ เปเบง เบฅเบฒ เบเบฝเบง เบเบฑเบ เบเบฒเบ เบเบธเปเบก เบเบญเบ เบเบตเป เบเบฐ เปเบเป เบฎเบฑเบ เบเบฒเบ เปเบเบฑเบ เบเบนเป เปเบ เปเบง เบฅเบฒ เบเบตเป เปเบเป เบฎเบฑเบ .
เบกเบฑเบเปเบเบฑเบเบกเบนเบเบเปเบฒเบเบตเปเบชเบฑเบเปเบเบเบงเปเบฒเบเปเบฒเบเบญเบเบเบฒเบฅเบฒเบกเบดเปเบเบตเบเบตเปเบชเบปเบเบเบฐเบเบฒเบเปเบฒเบเบฅเบธเปเบกเบเบตเปเปเบกเปเบเบเบธเบเบเบปเบเปเบเปเบเปเบฅเบฐเบเปเบฅเบฐเบเบตเบชเบฐเปเบเบฒเบฐเบเบญเบเบเบฒเบเบเปเบฒเปเบเป buffering เปเบ plugins เบเบปเบเบเบฐเบฅเบดเบ, เบเปเบญเบเบงเปเบฒเบเบงเบเปเบเบปเบฒเบเบถเปเบเบเบฑเบเบเบฑเบเปเบเบเปเบฒเบเบงเบเบซเบผเบฒเบ: เบเบงเบฒเบกเปเบเบฑเปเบกเบเบปเปเบเบเบญเบเบเบฒเบเบเบฝเบเบเปเปเบเบงเบฒเบกเปเบเบซเบฒเบเบฑเบเบเบถเบเปเบเบเบเบฒเบเบเปเบฅเบดเบเบฒเบ, เบเบฒเบเบเบฐเบเบดเบเบฑเบเบฅเบฐเบเบปเบเบเบญเบเปเบเปเบ, เปเบเบทเบญเบเปเบฒเบ. เบเบฒเบเปเบซเบผเบเบเปเบญเบ เปเบฅเบฐเปเบเบเบงเบดเบเบเบญเบเบกเบฑเบ. เบเบฑเปเบเบเบฑเปเบ, เปเบเบทเปเบญเปเบซเปเปเบเปเบฎเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒ buffer เบเบตเปเปเบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบเปเบเปเบฅเบฐเบเปเบฅเบฐเบเบต, เปเบเปเบเปเปเบเปเปเบฒเบเบฑเบ, เบซเบผเบตเบเปเบงเบฑเปเบเบเบฒเบเบเบญเบเบซเบฒเบเบฒเบง blindly, เบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเปเบเปเปเบกเบนเบ debugging เบเบตเป Fluentd เบเบฝเบเปเบชเปเบเบฑเบเบเบถเบเบเบญเบเบเบปเบเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเปเบฅเบฐเบเปเบญเบเบเปเบฒเบเปเบงเปเบเปเบฎเบฑเบเบเปเบฒเบเบตเปเบเบทเบเบเปเบญเบ.
เปเบเปเบงเบฅเบฒเบเบฑเบเบเบถเบเบเบฑเบเบซเบฒ, เบเบฒเบเบเบฑเปเบเบเปเบฒเปเบเบดเปเบเบเบทเบเบฑเปเบเบเบตเป:
<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>
เปเบกเบทเปเบญเปเบเปเปเบเบเบฑเบเบซเบฒ, เบเปเบฒเบเบญเบเบเบฒเบฅเบฒเบกเบดเปเบเบตเบเปเปเปเบเบเบตเปเบเบทเบเปเบฅเบทเบญเบเบเปเบงเบเบเบปเบเปเบญเบ:
chunk_limit_size โ เบเบฐโเบซเบเบฒเบโเบเบญเบ chunks เบเบตเปโเบเปเปโเบเบงเบฒเบกโเปเบ buffer เปเบเปโเบเบทเบโเปเบเปเบโเบญเบญเบโ.
- flush_interval โ เปเบฅโเบเบฐโเปเบงโเบฅเบฒโเบเบตเปโเบซเบผเบฑเบโเบเบฒเบโเบเบฑเปเบโเบเบฒเบโเบฅเบปเบโเบฅเปเบฒเบโ.
- queue_limit_length โ เบเปเบฒโเบเบงเบโเบชเบนเบโเบชเบธเบโเบเบญเบ chunks เปเบโเบเบดเบงโ.
- request_timeout เปเบกเปเบเปเบงเบฅเบฒเบเบตเปเปเบเบทเปเบญเบกเบเปเปเบฅเบฐเบซเบงเปเบฒเบ Fluentd เปเบฅเบฐ ElasticSearch เบเบทเบเบชเปเบฒเบเบเบฑเปเบเบเบถเปเบ.
เบเบฐเบซเบเบฒเบ buffer เบเบฑเบเบซเบกเบปเบเบชเบฒเบกเบฒเบเบเบทเบเบเบดเบเปเบฅเปเปเบเบเบเบฒเบเบเบนเบเบเบฒเบฅเบฒเบกเบดเปเบเบต queue_limit_length เปเบฅเบฐ chunk_limit_size, เปเบเบดเปเบเบชเบฒเบกเบฒเบเบเบทเบเบเบตเบเบงเบฒเบกเบงเปเบฒ "เบเปเบฒเบเบงเบเบชเบนเบเบชเบธเบเบเบญเบ chunks เปเบเปเบเบง, เปเบเปเบฅเบฐเบกเบตเบเบฐเบซเบเบฒเบเบเบตเปเบเปเบฒเบเบปเบเปเบงเป." เบเปเบฒเบเบฐเปเบฒเบเบเบฑเบเปเบเบตเบเปเปเบเบฝเบเบเป, เบเบณเปเบเบทเบญเบเบเปเปเปเบเบเบตเปเบเบฐเบเบฒเบเบปเบเบขเบนเปเปเบเบเบฑเบเบเบถเบ:
2020-01-21 10:22:57 +0000 [warn]: [test-prod] failed to write data into buffer by buffer overflow action=:block
เบกเบฑเบเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒ buffer เบเปเปเบกเบตเปเบงเบฅเบฒเบเบตเปเบเบฐเบฅเปเบฒเบเปเบเปเบงเบฅเบฒเบเบตเปเปเบเปเบฎเบฑเบเปเบฅเบฐเบเปเปเบกเบนเบเบเบตเปเปเบเบปเปเบฒเปเบเปเบ buffer เปเบเบฑเบกเบเบฐเบเบทเบเบชเบฐเบเบฑเบ, เปเบเบดเปเบเบเบฐเบเปเบฒเปเบเบชเบนเปเบเบฒเบเบชเบนเบเปเบชเบเบชเปเบงเบเบซเบเบถเปเบเบเบญเบเบเบฑเบเบเบถเบ.
เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบตเปเบก buffer เปเบเบชเบญเบเบงเบดเบเบต: เปเบเบเบเบฒเบเปเบเบตเปเบกเบเบฐเบซเบเบฒเบเบเบญเบเปเบเปเบฅเบฐ chunk เปเบเปเบเบง, เบซเบผเบทเบเปเบฒเบเบงเบเบเบญเบ chunks เบเบตเปเบชเบฒเบกเบฒเบเบขเบนเปเปเบเปเบเบง.
เบเปเบฒเบเปเบฒเบเบเบฑเปเบเบเบฐเบซเบเบฒเบ chunk_limit_size เปเบเบฑเบเบซเบผเบฒเบเบเบงเปเบฒ 32 megabytes, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ ElasticSeacrh เบเบฐเบเปเปเบเบญเบกเบฎเบฑเบเบกเบฑเบ, เปเบเบฒเบฐเบงเปเบฒเปเบเบฑเบเปเบเบฑเบเบเบตเปเปเบเบปเปเบฒเบกเบฒเบเบฐเบกเบตเบเบฐเบซเบเบฒเบเปเบซเบเปเปเบเบตเบเปเบ. เบเบฑเปเบเบเบฑเปเบ, เบเปเบฒเบเปเบฒเบเบเปเบญเบเบเบฒเบเปเบเบตเปเบก buffer เบเบทเปเบกเบญเบตเบ, เบกเบฑเบเบเบตเบเบงเปเบฒเบเบตเปเบเบฐเปเบเบตเปเบกเบเบงเบฒเบกเบเบฒเบงเปเบเบงเบชเบนเบเบชเบธเบ queue_limit_length.
เปเบกเบทเปเบญ buffer เบขเบธเบ overflowing เปเบฅเบฐเบกเบตเบเบฝเบเปเบเปเบเปเปเบเบงเบฒเบก timeout เบเบตเปเบเปเปเบเบฝเบเบเป, เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเบเบฒเบเปเบเบตเปเบกเบเบฒเบฅเบฒเบกเบดเปเบเบต request_timeout. เปเบเบงเปเบเบเปเปเบเบฒเบก, เบเปเบฒเบเปเบฒเบเบเบฑเปเบเบเปเบฒเบซเบผเบฒเบเบเบงเปเบฒ 20 เบงเบดเบเบฒเบเบต, เบเบฒเบเปเบเบทเบญเบเบเปเปเปเบเบเบตเปเบเบฐเปเบฅเบตเปเบกเบเบฒเบเบปเบเบขเบนเปเปเบเบเบฑเบเบเบถเบ Fluentd:
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"
เบเปเปเบเบงเบฒเบกเบเบตเปเบเปเปเบกเบตเบเบปเบเบเปเปเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบญเบเบฅเบฐเบเบปเบเปเบเบเบฒเบเปเบเบเปเปเบเบฒเบก เปเบฅเบฐเปเบฒเบเบเบงเบฒเบกเบงเปเบฒ buffer flush เปเบเปเปเบงเบฅเบฒเบเบปเบเบเบงเปเบฒเบเบตเปเบเบณเบเบปเบเปเบงเปเปเบเบเบเบฒเบฃเบฒเบกเบดเปเบเบต slow_flush_log_threshold. เบเบตเปเปเบกเปเบเบเปเปเบกเบนเบเบเบฒเบเบเบตเบเบฑเบ เปเบฅเบฐเบเบงเบเปเบฎเบปเบฒเปเบเปเบกเบฑเบเปเบเปเบงเบฅเบฒเปเบฅเบทเบญเบเบเปเบฒเบเบญเบเบเบฒเบฃเบฒเบกเบดเปเบเบต request_timeout.
เบชเบนเบโเบเบฒเบโเบเบฑเบโเปเบฅเบทเบญเบโเปเบเบโเบเบปเปเบงโเปเบโเปเบกเปเบโเบเบฑเปเบโเบเปเปโเปเบโเบเบตเปโ:
- เบเบฑเปเบ request_timeout เปเบเบฑเบเบเปเบฒเบเบตเปเบฎเบฑเบเบเบฐเบเบฑเบเบงเปเบฒเปเบซเบเปเบเบงเปเบฒเบเบงเบฒเบกเบเบณเปเบเบฑเบ (เบซเบผเบฒเบเบฎเปเบญเบเบงเบดเบเบฒเบเบต). เปเบโเบฅเบฐโเบซเบงเปเบฒเบโเบเบฒเบโเบเบฑเปเบโเบเปเบฒโ, เบกเบฒเบโเบเบฐโเบเบฒเบโเบเบปเปเบโเบเปโเบชเปเบฒโเบฅเบฑเบโเบเบฒเบโเบเบฑเปเบโเบเปเบฒโเบเบตเปโเบเบทเบโเบเปเบญเบโเบเบญเบโเบเบปเบงโเบเปเบฒโเบเบปเบโเบเบฒเบโเบเบตเปโเบเบฐโเปเบเบฑเบโเบเบฒเบโเบซเบฒเบโเปเบโเบเบญเบโเบเปเบฒโเปเบเบทเบญเบโเบชเปเบฒโเบฅเบฑเบโเบเบฒเบโเบเบฒเบโเบเบฒเบโเบซเบกเบปเบโเปเบงโเบฅเบฒโ.
- เบฅเปเบเปเบฒเบเปเปเบเบงเบฒเบกเบเปเบฝเบงเบเบฑเบเบเบฒเบเปเบเบตเบ slow_flush_log_threshold threshold. เบเปเปเบเบงเบฒเบกเปเบเบทเบญเบเปเบเบเปเบญเบ elapsed_time เบเบฐเบชเบฐเปเบเบเปเบงเบฅเบฒเบเบตเปเปเบเปเบเบดเบเบเบตเป buffer เปเบเปเบเบทเบเบฅเบถเบเบฅเปเบฒเบ.
- เบเบฑเปเบ request_timeout เปเบเบฑเบเบเปเบฒเบเบตเปเปเบซเบเปเบเบงเปเบฒเบเปเบฒเบชเบนเบเบชเบธเบ elapsed_time เบเบตเปเปเบเปเบฎเบฑเบเปเบเบฅเบฐเบซเบงเปเบฒเบเปเบฅเบเบฐเปเบงเบฅเบฒเบเบฒเบเบชเบฑเบเปเบเบ. เบเบงเบเปเบฎเบปเบฒเบเบดเบเปเบฅเปเบเปเบฒ request_timeout เปเบเบฑเบ elapsed_time + 50%.
- เปเบเบทเปเบญเปเบญเบปเบฒเบเปเบฒเปเบเบทเบญเบเบเปเบฝเบงเบเบฑเบ buffer flushs เบเบฒเบงเบญเบญเบเบเบฒเบเบเบฑเบเบเบถเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบตเปเบกเบกเบนเบเบเปเบฒเบเบญเบ slow_flush_log_threshold. เบเบงเบเปเบฎเบปเบฒเบเบดเบเปเบฅเปเบเปเบฒเบเบตเปเปเบเบฑเบ elapsed_time + 25%.
เบเปเบฒเบชเบธเบเบเปเบฒเบเบเบญเบเบเบฒเบฅเบฒเบกเบดเปเบเบตเปเบซเบผเบปเปเบฒเบเบตเป, เบเบฑเปเบเบเบตเปเปเบเปเบฅเบฐเบเบธเปเบงเปเบเปเบญเบเบซเบเปเบฒเบเบตเป, เปเบกเปเบเปเบเปเบฎเบฑเบเบชเปเบงเบเบเบธเบเบเบปเบเบชเปเบฒเบฅเบฑเบเปเบเปเบฅเบฐเบเปเบฅเบฐเบเบต. เปเบเบเบเบฐเบเบดเบเบฑเบเบเบฒเบกเบชเบนเบเบเบฒเบเบเบดเบเปเบฅเปเบเปเบฒเบเปเบเบดเบ, เบเบงเบเปเบฎเบปเบฒเบฎเบฑเบเบเบฐเบเบฑเบเบเบตเปเบเบฐเบฅเบปเบเบฅเปเบฒเบเบเบงเบฒเบกเบเบดเบเบเบฒเบเบเบตเปเบเปเบฒเปเบเบชเบนเปเบเปเปเบเบงเบฒเบกเบเบตเปเบเปเปเบฒเบเบฑเบ.
เบเบฒเบเบฐเบฅเบฒเบเบเปเบฒเบเบฅเบธเปเบกเบเบตเปเบชเบฐเปเบเบเปเบซเปเปเบซเบฑเบเบงเบดเบเบตเบเบฒเบเบเปเบฒเบเบงเบเบเปเปเบเบดเบเบเบฒเบเบเปเปเบกเบทเป, เบเปเบฒเปเบเบชเบนเปเบเบฒเบเบเปเปเบฒเบเปเบญเบเบเบญเบเบเปเปเบเบงเบฒเบก, เบเบฒเบเบเปเบฝเบเปเบเบเปเบเบเบฐเบเบงเบเบเบฒเบเปเบฅเบทเบญเบเบเปเบฒเบเบญเบเบเบฒเบฅเบฒเบกเบดเปเบเบตเบเบตเปเบญเบฐเบเบดเบเบฒเบเบเปเบฒเบเปเบเบดเบ:
node-1
node-2
node-3
node-4
เบเปเบญเบเบซเบผเบฑเบ
เบเปเบญเบเบซเบผเบฑเบ
เบเปเบญเบเบซเบผเบฑเบ
เบเปเบญเบเบซเบผเบฑเบ
เบฅเบปเปเบกเปเบซเบฅเบงเปเบเบเบฒเบเบฅเปเบฒเบ buffer
1749/2
694/2
47/0
1121/2
เบเบฐเบเบฒเบเบฒเบกเบญเบตเบเบเบฑเปเบเบชเบณเปเบฅเบฑเบ
410/2
205/1
24/0
241/2
เบกเบฑเบเปเบเบฑเบเบกเบนเบเบเปเบฒเบเบตเปเบชเบฑเบเปเบเบเบงเปเบฒเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบปเบเปเบเปเบฎเบฑเบเบญเบฒเบเบเบฐเบชเบนเบเปเบชเบเบเบงเบฒเบกเบเปเบฝเบงเบเปเบญเบเบเปเบญเบเบงเปเบฒเปเบเบเบเบฒเบเปเบเบตเบเปเบเปเบฅเบฐ, เบเบฒเบกเบเบฑเปเบ, เบเปเบฒเบเบงเบเปเบกเปเบเปเบญเบเปเบเบตเปเบกเบเบถเปเบ. เบชเบฑเบเบเบฒเบเบซเบผเบฑเบเบเบญเบเบเบฒเบเปเบปเบเปเบงเบฅเบฒเบเบตเปเบเปเปเบเบฝเบเบเปเปเบกเปเบเบเบฒเบเบเบฑเบเบเบทเบเบเบญเบเบเปเปเบเบงเบฒเบกเบเปเบฝเบงเบเบฑเบ buffer flush เบเบฒเบงเปเบเบซเบฒเบเบฑเบเบเบถเบ Fluentd, เบเบฑเปเบเปเบกเปเบ, เปเบเบตเบเบเบญเบเปเบเบ slow_flush_log_threshold. เบเบฒเบเบเบธเบเบเบตเป, เบเบฑเบเบกเบตเบเบญเบเบเบฐเบซเบเบฒเบเบเปเบญเบเบเปเบญเบเบเบตเปเบเบปเบงเบเปเบฒเบเบปเบเบเบฒเบ request_timeout เบเบฐเปเบเบตเบ, เบเบฑเปเบเบเบฑเปเบเบกเบฑเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบญเบเบชเบฐเบซเบเบญเบเบเปเปเบเบงเบฒเบกเปเบซเบผเบปเปเบฒเบเบตเปเบขเปเบฒเบเบเบฑเบเปเบงเบฅเบฒเปเบฅเบฐเปเบฎเบฑเบเบเปเปเบฒเบเบฑเปเบเบเบญเบเบเบญเบเบเบฒเบเปเบฅเบทเบญเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบตเปเบเบตเบเบตเปเบชเบธเบเบเบตเปเปเบเปเบญเบฐเบเบดเบเบฒเบเบเปเบฒเบเปเบเบดเบ.
เบชเบฐเบซเบฅเบธเบ
เบเบฒเบเบเบฑเบเบเบธเบ Fluentd output buffer เปเบกเปเบเบซเบเบถเปเบเปเบเบเบฑเปเบเบเบญเบเบเบปเปเบเบเปเบเบญเบเบเบฒเบเบเบฑเปเบเบเปเบฒ stack EFK, เบเปเบฒเบเบปเบเบเบงเบฒเบกเบซเบกเบฑเปเบเบเบปเบเบเบญเบเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเบญเบเบกเบฑเบเปเบฅเบฐเบเบฒเบเบงเบฒเบเบเบตเปเบเบทเบเบเปเบญเบเบเบญเบเปเบญเบเบฐเบชเบฒเบเปเบเบเบฑเบเบชเบฐเบเบต. เบญเบตเบเบเบฒเบกเบชเบนเบเบเบฒเบเบเบดเบเปเบฅเปเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบตเปเบญเบฐเบเบดเบเบฒเบเปเบงเป, เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเปเปเบเบงเปเบฒเบเบฑเบเบเบถเบเบเบฑเบเบซเบกเบปเบเบเบฐเบเบทเบเบเบฝเบเปเบชเปเบเบฑเบเบชเบฐเบเบต ElasticSearch เปเบเบเปเบฒเบชเบฑเปเบเบเบตเปเบเบทเบเบเปเบญเบ, เปเบเบเบเปเปเบกเบตเบเบฒเบเบเปเปเบฒเบเบฑเบเบซเบผเบทเบเบฒเบเบชเบนเบเปเบชเบ.
เบญเปเบฒเบเบเบปเบเบเบงเบฒเบกเบญเบทเปเบเปเปเบ blog เบเบญเบเบเบงเบเปเบฎเบปเบฒ:
Go เปเบฅเบฐ Zabbix 5.0 เบเบฒเบเปเบเบฑเบเปเบเบทเปเบญเบ เบเบฒเบเบญเบฑเบเปเบเบฃเบเบเบธเปเบก Kubernetes เปเบเบเบเปเปเบกเบตเบเบฒเบเบขเบธเบเปเบฎเบฑเบเบงเบฝเบ Kubernetes: เปเบเบฑเบเบซเบเบฑเบเบกเบฑเบเบเบถเปเบเบชเบณเบเบฑเบเบซเบผเบฒเบเปเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบฒเบเบเบฑเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบญเบเบฅเบฐเบเบปเบ? เบชเบฒเบก tricks เบเปเบฒเบเบเบฒเบเบเบตเปเบเบฐเบซเบเปเปเบฎเบนเบเบเบฒเบ Docker เบเบฒเบเบชเปเบฒเบฎเบญเบเบเบญเบเบเปเบฒเบเบงเบเบเบฐเบซเบเบฒเบเปเบซเบเปเบเบญเบเปเบเบเบเบฒเบเปเบงเบฑเบเปเบเบเป heterogeneous
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com