Регистрируется в ElasticsSearch с помощью kinesisstream

#amazon-web-services #amazon-kinesis #fluentd

#amazon-веб-службы #amazon-kinesis #fluentd

Вопрос:

Я пытаюсь разобраться в потоках данных Kinesis, и меня немного смущает терминология и то, как выглядит общая картина. Итак, я запускаю службу на сервере, кластере EKS, и хочу отправлять журналы в ElasticSearch. Текущая настройка заключается в том, что я использую fluentD на узлах EKS для сбора журналов и отправки их в kinesis stream, который затем отправляет отчеты в ElasticSeach, где их можно проанализировать с помощью kibana.

Но,

Я не уверен, что происходит с потоками kinsesis. Когда fluentD отправляет данные журнала, согласно https://aws.amazon.com/kinesis/data-streams/faqs с большим двоичным объектом данных будут связаны ключ раздела и порядковый номер. Теперь я не могу понять несколько вещей:

  1. Кто со стороны производителя создает ключ раздела и как?
  2. Какова роль индекса? Является ли индекс чем-то вроде данных и сегментов данными журнала за эту конкретную дату?
  3. Поскольку существует последовательность, связанная с ключами разделов, как мы можем последовательно просматривать журналы в kibana? Это означало бы, что ключи раздела также несколько последовательны.

Ответ №1:

Я думаю, что то, что вы делаете, — это ELK Stack, и, на мой взгляд, в вашем потоке отсутствует Logstash, что приводит к отсутствию какой-либо функции стека.

  1. В https://docs.aws.amazon.com/streams/latest/dev/key-concepts.html:

«Запись данных — это единица данных, хранящаяся в потоке данных Kinesis. Записи данных состоят из порядкового номера, ключа раздела и большого двоичного объекта данных, который представляет собой неизменяемую последовательность байтов. Kinesis Data Streams никоим образом не проверяет, не интерпретирует и не изменяет данные в большом двоичном объекте. Большой двоичный объект данных может занимать до 1 МБ «. Таким образом, Kinesis автоматически генерирует их для постановки ваших журналов в очередь, чтобы экземпляры Elasticsearch не были аварийно завершены.

  1. Я тоже в замешательстве с этим. Но вы можете представить, что это похоже на имя, которое вы создали для журналов, которые вы отправляете в Cloudwatch. Вам нужен Logstash для разделения журналов по нескольким индексам, чтобы вы могли знать, какие из них вы ищете.

  2. Kibana по умолчанию выводит журналы в индексе по метке времени.

Я использую ELK Stack в течение 1 недели, поэтому я не могу убедиться, что то, о чем я здесь говорю, полностью верно. Пожалуйста, поправьте меня, если я ошибся