Логсташ - возможно?

63
6

Мы пытаемся создать сборщик данных ElasticSearch. Кластер ElasticSearch должен получать данные с разных серверов. Эти серверы находятся в других местах (и сетях), чем кластер ElasticSearch. Клиенты подключаются к ElasticCluster через односторонние VPN-соединения.

В качестве первой попытки мы установили logstash на каждом клиентском сервере для сбора данных, фильтрации и отправки в ElasticCluster. До сих пор это не было проблемой в тестовой среде. Проблема в том, что LogStash от клиента пытается установить соединение с ElasticSearch. Однако эта попытка блокируется брандмауэром. Тем не менее, можно открыть соединение со стороны ElasticCluster каждому клиенту и получить данные. Нам нужен способ получить данные из LogStash, чтобы мы открыли соединение и вытащили данные из LogStash (PULL). Есть ли способ сделать это без изменения конфигурации VPN?

спросил(а) 2021-01-25T16:53:22+03:00 4 месяца, 4 недели назад
1
Решение
89

Logstash push events, если ваши экземпляры logstash не могут инициировать соединение с узлами elasticsearch, вам потребуется что-то посередине или разрешить трафик на брандмауэре /VPN.

Например, у вас может быть elasticearch, где серверы журнальной статистики могут выталкивать данные, а затем еще одну статическую таблицу в вашей основной среде кластера, где у вас будет конвейер, в котором вход будет elasticsearch посередине, таким образом данные будут вытащены от поиска elastics.

редактировать:

Как я уже сказал в комментарии, вам нужно иметь что-то вроде этого изображения.

enter image description here

Здесь у вас есть серверы, отправляющие данные в экземпляр logstash, этот логстаст имеет выход в экземпляр elasticsearch, поэтому он запускает соединение, нажимающее данные.

В вашем основном кластере, где у вас есть кластер для поиска elasticsearch и VPN VPN с одним доступом, который может только начать соединение, у вас будет еще одна логсташ, этот логстаст будет иметь вход, который будет запрашивать внешний узел elasticsearch, вытягивая данные.

В конвейере logstash вы можете иметь вход elasticsearch, который запрашивает узел elasticsearch, а затем посылает полученные данные на фильтры и выходы.

input {
elasticsearch { the elasticsearch in the middle }
}
filter {
your filters
}
output {
elasticsearch { your cluster nodes }
}

Это ясно сейчас?

ответил(а) 2021-01-25T16:53:22+03:00 4 месяца, 4 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема