참고:

OCI Streaming을 Kafka 서버로 사용하여 OCI Logging에서 Logstash에 로그 수집

소개

OCI(Oracle Cloud Infrastructure) Streaming을 통해 Apache Kafka 사용자는 자체 Zookeeper 및 Kafka 클러스터를 호스트하는 데 필요한 설정, 유지보수 및 인프라 관리를 오프로드할 수 있습니다. 스트리밍은 대부분의 Kafka API와 호환되므로 Kafka용으로 작성된 애플리케이션을 사용하여 코드를 재작성하지 않고도 스트리밍 서비스로 메시지를 보내고 받을 수 있습니다.

이 자습서에서는 OCI Streaming 서비스를 Kafka 서버로 사용하는 방법에 대해 알아볼 수 있습니다. 이 서비스는 OCI 로깅 서비스의 로그가 있는 게시 요청을 수신하고 OCI 외부의 Logstash 서버에서 구독 요청을 수신합니다.

목표

필요 조건

구조

이 자습서에서는 OCI 로깅, OCI 서비스 커넥터 허브 및 OCI 스트리밍과 같은 OCI 서비스를 다음과 같은 아키텍처에 사용합니다.

솔루션 아키텍처

작업 1: Oracle Cloud Infrastructure 설정

  1. Kafka 서버와 같은 스트림 풀을 생성합니다.

    스트림 풀 생성 창

  2. 스트림을 생성합니다. Kafka 항목으로 간주됩니다. OCI Streaming을 Kafka 서버로 게시하거나 구독할 토픽을 지정하려면 스트림 이름이 필요합니다.

    스트림 창 생성

  3. 서비스 커넥터를 생성합니다. 스트림을 생성한 후 서비스 커넥터를 생성할 수 있습니다. 다음 이미지와 같이 소스 로깅 및 대상 스트리밍을 추가합니다.

    서비스 커넥터 생성 창

    • 소스 구성의 경우 로그 그룹을 그대로 두고 값을 비워 두면 커넥터가 다음 이미지에 표시된 것처럼 테넌시의 모든 로그를 가져옵니다.

      서비스 커넥터 소스 창

    • 대상 구성에 대해 이전에 생성된 스트림의 스트림 이름을 지정합니다.

      서비스 커넥터 대상 창

작업 2: Logstash 서버 설정

  1. 원하는 대로 VM 인스턴스를 생성하고 ssh 액세스 권한을 갖도록 구성하거나 인터넷 액세스 권한을 통해 로컬 스테이션을 사용하십시오.

  2. Logstash 서버를 사용할 인스턴스에서 Logstash를 다운로드합니다. 이 자습서에서는 v8.6.1를 사용했습니다.

  3. 다운로드가 완료되면 패키지의 압축을 풀고 Logstash 폴더로 이동합니다.

  4. 다음 코드 조각과 같이 input.confjaas.conf의 두 파일을 만듭니다.

    input.conf

    input {
      kafka {
        bootstrap_servers => "cell-1.streaming.<oci_region>.oci.oraclecloud.com:9092"
        topics => ["kafka_topic"]
        security_protocol => "SASL_SSL"
        sasl_mechanism => "PLAIN"
        jaas_path => "./jaas.conf"
        auto_offset_reset => "earliest"
        consumer_threads => 1
      }
    }
    output {
      stdout {
        codec => rubydebug
      }
    }
    

    jaas.conf

    KafkaClient {
      org.apache.kafka.common.security.plain.PlainLoginModule required
      username="<username_from_kafka_connection_settings>"
      password="<auth_token>";
    };
    
  5. 이전에 만든 스트림 풀에서 Kafka Connections SettingsSASL Connection Strings에서 jaas.conf 파일에 대한 구성을 복사합니다.

  6. 다음 명령을 실행하여 OCI Streaming에서 로그를 소비할 Kafka 클라이언트로 Logstash를 시작합니다.

    ./bin/logstash -f input.conf
    

승인

추가 학습 자원

docs.oracle.com/learn에서 다른 실습을 탐색하거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 액세스하십시오. 또한 Oracle Learning Explorer가 되려면 education.oracle.com/learning-explorer을 방문하십시오.

제품 설명서는 Oracle Help Center를 참조하십시오.