Снимок ElasticSearch через azure балансировщик нагрузки иногда получает тайм-аут - PullRequest
0 голосов
/ 06 августа 2020

У меня есть 3 виртуальных машины в Azure, на которых работает кластер Elasticsearch, и поверх них есть Azure балансировщик нагрузки.

У меня есть сценарий Powershell, который работает как Azure Function App каждый день и снимая / удаляя снимки ES.

скрипт выглядит примерно так (принимающее участие):

$url = "http://<IP>:9200/_snapshot/<RepoName>/<SnapshotName>?wait_for_completion=true"

$body = @{
  "indices" = "<Name>";
  "ignore_unavailable" = $true;
  "include_global_state" = $false
}

$header = @{
"Content-Type" = "application/json"

Invoke-WebRequest -Method Put -Uri $url -Body (ConvertTo-Json $body) -Headers $header -UseBasicParsing

Когда я использую IP-адреса виртуальных машин (пробовал на каждом из их) все работает нормально. Однако, когда я пытаюсь использовать IP-адрес балансировщика нагрузки, , иногда , это удается, а иногда он зависает до тех пор, пока не истечет время ожидания, хотя моментальный снимок создается за короткое время. (например, в прошлый раз, когда для создания снимка потребовалось 5 минут, но время ожидания сценария достигло 2 часов)

Я не могу понять причину - это определенно что-то с LB, но я не знаю, что может вызвать тайм-аут только в некоторых случаях (и не всегда).

Я думал, что это может быть связано с таймаутом простоя правила LB (который устанавливается на 4 минуты ), но были случаи, когда мы получали "подтверждение истины" даже через 9 минут после начала создания снимка.

Кто-нибудь знает, что могло вызвать такое поведение?

Спасибо, Афик

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...