참고:
- 이 사용지침서에서는 Oracle Cloud에 접근해야 합니다. 무료 계정에 등록하려면 Oracle Cloud Infrastructure Free Tier 시작하기를 참조하십시오.
- Oracle Cloud Infrastructure 자격 증명, 테넌시 및 구획에 대한 예제 값을 사용합니다. 실습을 마치면 해당 값을 클라우드 환경과 관련된 값으로 대체합니다.
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 Streaming을 Kafka 서버로 생성 및 사용
- OCI 서비스 커넥터 허브 및 OCI Streaming Kafka를 사용하여 OCI Logging 서비스에서 로그를 가져와 Logstash로 리디렉션
필요 조건
-
Oracle Cloud 계정입니다. 계정이 없는 경우 Oracle Cloud Free Tier 계정에 가입할 수 있습니다.
-
OCI의 각 서비스에 대해 서비스가 서로 통신할 수 있도록 몇 가지 정책을 제공해야 합니다. 자세한 내용은 다음 링크를 참조하십시오.
구조
이 자습서에서는 OCI 로깅, OCI 서비스 커넥터 허브 및 OCI 스트리밍과 같은 OCI 서비스를 다음과 같은 아키텍처에 사용합니다.
작업 1: Oracle Cloud Infrastructure 설정
-
Kafka 서버와 같은 스트림 풀을 생성합니다.
-
스트림을 생성합니다. Kafka 항목으로 간주됩니다. OCI Streaming을 Kafka 서버로 게시하거나 구독할 토픽을 지정하려면 스트림 이름이 필요합니다.
-
서비스 커넥터를 생성합니다. 스트림을 생성한 후 서비스 커넥터를 생성할 수 있습니다. 다음 이미지와 같이 소스 로깅 및 대상 스트리밍을 추가합니다.
-
소스 구성의 경우 로그 그룹을 그대로 두고 값을 비워 두면 커넥터가 다음 이미지에 표시된 것처럼 테넌시의 모든 로그를 가져옵니다.
-
대상 구성에 대해 이전에 생성된 스트림의 스트림 이름을 지정합니다.
-
작업 2: Logstash 서버 설정
-
원하는 대로 VM 인스턴스를 생성하고
ssh
액세스 권한을 갖도록 구성하거나 인터넷 액세스 권한을 통해 로컬 스테이션을 사용하십시오. -
Logstash 서버를 사용할 인스턴스에서 Logstash를 다운로드합니다. 이 자습서에서는
v8.6.1
를 사용했습니다. -
다운로드가 완료되면 패키지의 압축을 풀고 Logstash 폴더로 이동합니다.
-
다음 코드 조각과 같이 input.conf 및 jaas.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>"; };
-
이전에 만든 스트림 풀에서 Kafka Connections Settings의 SASL Connection Strings에서 jaas.conf 파일에 대한 구성을 복사합니다.
-
다음 명령을 실행하여 OCI Streaming에서 로그를 소비할 Kafka 클라이언트로 Logstash를 시작합니다.
./bin/logstash -f input.conf
관련 링크
승인
- 작성자 - Cristian Vlad(Principal Cloud Architect)
- 제공자 - Gabriel Feodorov(클라우드 엔지니어)
추가 학습 자원
docs.oracle.com/learn에서 다른 실습을 탐색하거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 액세스하십시오. 또한 Oracle Learning Explorer가 되려면 education.oracle.com/learning-explorer을 방문하십시오.
제품 설명서는 Oracle Help Center를 참조하십시오.
Collect logs from OCI Logging into Logstash using OCI Streaming as a Kafka server
F79037-01
March 2023
Copyright © 2023, Oracle and/or its affiliates.