Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
© 2022 ООО «Яндекс.Облако»
Yandex Data Streams
  • Начало работы
    • Подготовка окружения
    • Создание потока данных
    • Сбор и поставка данных
      • Fluentd
      • Logstash
      • AWS CLI
    • Сохранение данных в ClickHouse
    • Обработка потока изменений из Debezium
  • Пошаговые инструкции
    • Все инструкции
    • Управление потоками данных
    • Работа с AWS CLI
      • Создание потока данных
      • Получение информации о потоке
      • Отправка данных в поток
      • Чтение данных из потока
      • Удаление потока данных
    • Работа с AWS SDK
      • Подготовка окружения
      • Создание потока данных
      • Отправка данных в поток
      • Чтение данных из потока
      • Удаление потока данных
  • Концепции
    • Обзор
    • Термины и определения
    • Cегменты и ключи сегментов
    • Квоты и лимиты
    • Сравнение с Yandex Message Queue
  • Практические руководства
    • Ввод данных в системы хранения
    • Умная обработка логов
    • Передача данных в микросервисных архитектурах
  • Управление доступом
  • Правила тарификации
  • HTTP API, совместимый с Amazon Kinesis Data Streams
    • Обзор
    • Методы
      • CreateStream
      • DecreaseStreamRetentionPeriod
      • DeleteStream
      • DescribeStream
      • IncreaseStreamRetentionPeriod
      • GetRecords
      • GetShardIterator
      • ListStreams
      • PutRecord
      • PutRecords
      • UpdateShardCount
    • Общие ошибки
    • Примеры
  • Вопросы и ответы
  1. Начало работы
  2. Сбор и поставка данных
  3. Logstash

Logstash

Статья создана
Yandex Cloud

    Примечание

    Вы можете создать триггер, который будет запускать функцию Cloud Functions или контейнер Serverless Containers при отправке данных в поток. Подробнее о триггере для Data Streams.

    1. Скачайте и установите Logstash.

    2. Установите плагин для поддержки протокола AWS Kinesis Data Streams. По этому протоколу будет осуществляться поставка данных.

      sudo /usr/share/logstash/bin/logstash-plugin install logstash-output-kinesis
      

      Примечание

      Плагин использует библиотеку Amazon Kinesis Producer Library. Для ее работы необходим Java Development Kit (JDK). Скачайте и установите его для вашей платформы. При запуске убедитесь, что используется версия JDK 1.8.235 или выше.

    3. В консоли управления выберите каталог, в котором находится поток данных.

    4. Выберите сервис Yandex Data Streams.

    5. Выберите поток данных.

    6. Нажмите Подключиться и перейдите на вкладку Logstash.

    7. Скопируйте пример файла конфигурации и вставьте его в файл /usr/share/logstash/bin/mypipeline.conf.

      Вместо <key_id> и <secret> введите секретный ключ и его идентификатор.

      Пример файла конфигурации:

      input {
        http {
          port => 8888
        }
      }
      output {
        stdout { codec => rubydebug}
        kinesis {
          stream_name => "/ru-central1/aoegtvhtp8ob9rqq8sto/cc8004q4lbo6bv9iivr0/test"
          region => "ru-central-1"
          verify_certificate => false
          codec => json_lines
          randomized_partition_key => true
          access_key => "<key_id>"
          secret_key => "<secret>"
          metrics_level => "none"
          endpoint => "https://yds.serverless.yandexcloud.net"
        }
      }
      
    8. Запустите поставку данных:

      sudo /usr/share/logstash/bin/logstash -f mypipeline.conf
      
    9. Отправьте тестовые данные в Logstash:

      curl -H "content-type: application/json" -XPUT 'http://127.0.0.1:8888/kinesis' -d '{"user_id":"user1", "score": 100}'
      

      Если настройка выполнена успешно, в консоли работы Logstash появится сообщение о получении данных и отправке их в Data Streams по протоколу AWS Kinesis Data Streams:

      {
        "@version" => "1",
        "headers" => {
          "request_path" => "/kinesis",
          "http_version" => "HTTP/1.1",
          "content_type" => "application/json",
          "http_host" => "127.0.0.1:8888",
          "http_accept" => "*/*",
          "request_method" => "PUT",
          "content_length" => "18",
          "http_user_agent" => "curl/7.68.0"
        },
        "host" => "127.0.0.1",
        "json" => "message"
      }
      Stage 1 Triggers: { stream: '/ru-central1/aoeu1kuk2dhtaupdb1es/cc8029jgtuabequtgtbv/logstash_stream', manual: 0, count: 0, size: 0, matches: 0, timed: 0, UserRecords: 0, KinesisRecords: 0 }
      Stage 2 Triggers: { stream: '/ru-central1/aoeu1kuk2dhtaupdb1es/cc8029jgtuabequtgtbv/logstash_stream', manual: 0, count: 0, size: 0, matches: 0, timed: 1, KinesisRecords: 1, PutRecords: 1 }
      (test) Average Processing Time: 723 ms
      

    Была ли статья полезна?

    Language / Region
    © 2022 ООО «Яндекс.Облако»