주니퍼 스트리밍 API 사용 설명서

Juniper Streaming API - Featured Image

주니퍼 로고엔지니어링 단순성
스트리밍 API 가이드

소개

이 가이드는 제품의 스트리밍 API를 통해 Paragon Active Assurance에서 데이터를 추출하는 방법을 설명합니다.
API와 스트리밍 클라이언트는 Paragon Active Assurance 설치에 포함되어 있습니다.
그러나 API를 사용하려면 약간의 구성이 필요합니다. 이에 대해서는 1페이지의 "스트리밍 API 구성" 장에서 다룹니다.

위에view

이 장에서는 Kafka를 통해 메트릭 메시지를 구독할 수 있도록 Streaming API를 구성하는 방법을 설명합니다.
아래에서 살펴보겠습니다.

  • 스트리밍 API를 활성화하는 방법
  • 외부 클라이언트를 수신하도록 Kafka를 구성하는 방법
  • ACL을 사용하도록 Kafka를 구성하고 해당 클라이언트에 대해 SSL 암호화를 설정하는 방법

카프카란?

Kafka는 다양한 이벤트 소스(센서, 데이터베이스, 모바일 장치)에서 이벤트 스트림 형태로 전송된 데이터를 실시간으로 캡처할 수 있을 뿐만 아니라 나중에 검색 및 조작할 수 있도록 이러한 이벤트 스트림을 지속적으로 저장할 수 있는 이벤트 스트리밍 플랫폼입니다.
Kafka를 사용하면 분산되고 확장성이 뛰어나고 탄력적이며 내결함성이 있고 안전한 방식으로 종단 간 이벤트 스트리밍을 관리할 수 있습니다.
메모: Kafka는 다양한 방식으로 구성할 수 있으며 확장성과 중복 시스템을 위해 설계되었습니다. 이 문서는 Paragon Active Assurance Control Center에 있는 스트리밍 API 기능을 사용하도록 구성하는 방법에만 중점을 둡니다. 고급 설정에 대해서는 공식 Kafka 문서를 참조하십시오. kafka.apache.org/26/documentation.html.

술어

  • Kafka: 이벤트 스트리밍 플랫폼.
  • Kafka 주제: 이벤트 모음.
  • Kafka 구독자/소비자: Kafka 주제에 저장된 이벤트 검색을 담당하는 구성 요소입니다.
  • Kafka 브로커: Kafka 클러스터의 스토리지 계층 서버입니다.
  • SSL/TLS: SSL은 인터넷을 통해 정보를 안전하게 전송하기 위해 개발된 보안 프로토콜입니다. TLS는 1999년에 도입된 SSL의 후속 제품입니다.
  • SASL: 사용자 인증, 데이터 무결성 검사 및 암호화를 위한 메커니즘을 제공하는 프레임워크입니다.
  • 스트리밍 API 가입자: Paragon Active Assurance에 정의되고 외부 액세스를 위한 주제에 저장된 이벤트 검색을 담당하는 구성 요소입니다.
  • 인증 기관: 공개 키 인증서를 발급하고 취소하는 신뢰할 수 있는 엔터티입니다.
  • 인증 기관 루트 인증서: 인증 기관을 식별하는 공개 키 인증서입니다.

스트리밍 API 작동 방식

앞서 언급한 것처럼 Streaming API를 사용하면 외부 클라이언트가 Kafka에서 메트릭에 대한 정보를 검색할 수 있습니다.
테스트 또는 모니터링 작업 중에 테스트 에이전트가 수집한 모든 메트릭은 Stream 서비스로 전송됩니다.
처리 단계 후 Stream 서비스는 추가 메타데이터와 함께 해당 메트릭을 Kafka에 게시합니다.

주니퍼 스트리밍 API

카프카 주제

Kafka에는 모든 데이터가 게시되는 주제라는 개념이 있습니다. Paragon Active Assurance에는 이러한 Kafka 주제가 많이 있습니다. 그러나 이들 중 일부만 외부 액세스용입니다.
제어 센터의 각 Paragon Active Assurance 계정에는 두 가지 전용 항목이 있습니다. 아래에서 ACCOUNT는 계정 짧은 이름입니다.

  • paa.public.accounts.{ACCOUNT}.metrics
  • 지정된 계정에 대한 모든 메트릭 메시지가 이 주제에 게시됩니다.
  • 많은 양의 데이터
  • 높은 업데이트 빈도
  • paa.public.accounts.{ACCOUNT}.metadata
  • 예를 들어 메트릭 데이터와 관련된 메타데이터를 포함합니다.amp메트릭과 관련된 테스트, 모니터 또는 테스트 에이전트
  • 소량의 데이터
  • 낮은 업데이트 빈도

스트리밍 API 활성화

메모: 이러한 지침은 sudo를 사용하여 제어 센터 서버에서 실행됩니다.
스트리밍 API는 제어 센터에 약간의 오버헤드를 추가하므로 기본적으로 활성화되어 있지 않습니다. API를 활성화하려면 먼저 기본 구성에서 Kafka에 메트릭 게시를 활성화해야 합니다. file:

  • /etc/netrounds/netrounds.conf
    KAFKA_METRICS_ENABLED = 참
    경고: 이 기능을 활성화하면 제어 센터 성능에 영향을 미칠 수 있습니다. 그에 따라 인스턴스의 크기를 지정했는지 확인하십시오.
    다음으로 이러한 메트릭을 올바른 Kafka 주제로 전달할 수 있도록 하려면 다음을 수행하십시오.
  • /etc/netrounds/metrics.yaml
    스트리밍 API: true

Streaming API 서비스를 활성화하고 시작하려면 다음을 실행합니다.
sudo ncc 서비스는 timescaledb 메트릭을 활성화합니다. sudo ncc 서비스는 timescaledb 메트릭을 시작합니다.
마지막으로 서비스를 다시 시작합니다.
sudo ncc 서비스 재시작

스트리밍 API가 제어 센터에서 작동하는지 확인

메모: 이러한 지침은 제어 센터 서버에서 실행됩니다.
이제 올바른 Kafka 주제에 대한 지표를 수신하고 있는지 확인할 수 있습니다. 이렇게 하려면 kafkacat 유틸리티를 설치합니다.
sudo apt-get 업데이트 sudo apt-get 설치 kafkacat
제어 센터에서 실행 중인 테스트 또는 모니터가 있는 경우 kafkacat을 사용하여 이러한 주제에 대한 메트릭 및 메타데이터를 수신할 수 있어야 합니다.
myaccount를 계정의 짧은 이름으로 바꿉니다(제어 센터에 표시되는 이름입니다. URL):
내보내다 METRICS_TOPIC=paa.public.accounts.myaccount.metrics
내보내다 METADATA_TOPIC=paa.public.accounts.myaccount.metadata
이제 다음 명령을 실행하여 메트릭을 볼 수 있습니다.
kafkacat -b ${KAFKA_FQDN}:9092 -t ${METRICS_TOPIC} -C -e
에게 view 다음 명령을 실행합니다(자주 업데이트되지 않음).
kafkacat -b ${KAFKA_FQDN}:9092 -t ${METADATA_TOPIC} -C -e
메모:
kafkacat”클라이언트 Examp14페이지의 레”
이를 통해 제어 센터 내에서 작동하는 Streaming API가 있는지 확인합니다. 그러나 대신 외부 클라이언트에서 데이터에 액세스하는 데 관심이 있을 가능성이 큽니다. 다음 섹션에서는 외부 액세스를 위해 Kafka를 여는 방법을 설명합니다.

외부 호스트를 위해 Kafka 개방

메모: 이러한 지침은 제어 센터 서버에서 실행됩니다.
기본적으로 제어 센터에서 실행되는 Kafka는 내부 사용을 위해 localhost에서만 수신 대기하도록 구성됩니다.
Kafka 설정을 수정하여 외부 클라이언트에 대해 Kafka를 열 수 있습니다.
Kafka에 연결: 주의 사항
THE OUTDOOR PLUS TOP 시리즈 Fire Pit 연결 키트 및 삽입물 - 아이콘 1 주의:
이러한 개념을 이해하지 못한 경우 Kafka와 연결 문제가 발생하기 쉬우므로 이 내용을 주의 깊게 읽으십시오.
이 문서에 설명된 제어 센터 설정에는 Kafka 브로커가 하나만 있습니다.
그러나 Kafka 브로커는 많은 Kafka 브로커로 구성될 수 있는 Kafka 클러스터의 일부로 실행됩니다.
Kafka 브로커에 연결할 때 Kafka 클라이언트에서 초기 연결을 설정합니다. 이 연결을 통해 Kafka 브로커는 하나 이상의 Kafka 브로커 목록인 "광고된 리스너" 목록을 반환합니다.
이 목록을 수신하면 Kafka 클라이언트는 연결을 끊은 다음 광고된 리스너 중 하나에 다시 연결합니다. 알려진 리스너는 Kafka 클라이언트에 액세스할 수 있는 호스트 이름 또는 IP 주소를 포함해야 합니다. 그렇지 않으면 클라이언트가 연결에 실패합니다.
특정 호스트 이름에 연결된 SSL 인증서와 관련하여 SSL 암호화를 사용하는 경우 Kafka 클라이언트가 연결할 올바른 주소를 받는 것이 훨씬 더 중요합니다. 그렇지 않으면 연결이 거부될 수 있기 때문입니다.
여기에서 Kafka 리스너에 대해 자세히 알아보세요. www.confluent.io/blog/kafka-listeners-explained
SSL/TLS 암호화
신뢰할 수 있는 클라이언트만 Kafka 및 스트리밍 API에 액세스할 수 있도록 하려면 다음을 구성해야 합니다.

  • 인증: 클라이언트는 클라이언트와 Kafka 간의 SSL/TLS 보안 연결을 통해 사용자 이름과 암호를 제공해야 합니다.
  • 권한 부여: 인증된 클라이언트는 ACL에서 규제하는 작업을 수행할 수 있습니다.
    다음은 오버입니다view:

주니퍼 스트리밍 API - 그림

*) SSL 암호화 채널에서 수행되는 사용자 이름/암호 인증
Kafka에서 SSL/TLS 암호화가 작동하는 방식을 완전히 이해하려면 다음 공식 문서를 참조하십시오. docs.confluent.io/platform/current/kafka/encryption.html
SSL/TLS 인증서 오버view
메모: 이 하위 섹션에서는 다음 용어를 사용합니다.
인증서: 인증 기관(CA)에서 서명한 SSL 인증서입니다. 각 Kafka 브로커에는 하나씩 있습니다.
키 저장소: 키 저장소 file 인증서를 저장합니다. 키 저장소 file 인증서의 개인 키를 포함합니다. 따라서 안전하게 보관해야 합니다.
신뢰 저장소: A file 신뢰할 수 있는 CA 인증서를 포함합니다.
외부 클라이언트와 제어 센터에서 실행 중인 Kafka 간에 인증을 설정하려면 CA 루트 인증서와 함께 인증 기관(CA)에서 서명한 관련 인증서로 정의된 키 저장소가 양측에 있어야 합니다.
이 외에도 클라이언트에는 CA 루트 인증서가 있는 신뢰 저장소도 있어야 합니다.
CA 루트 인증서는 Kafka 브로커와 Kafka 클라이언트에 공통입니다.
필수 인증서 생성
이것은 17페이지의 "부록"에서 다룹니다.
제어 센터의 Kafka Broker SSL/TLS 구성
메모: 이러한 지침은 제어 센터 서버에서 실행됩니다.
메모: 계속하기 전에 17페이지의 "부록"의 지침에 따라 SSL 인증서가 포함된 키 저장소를 생성해야 합니다. 아래 언급된 경로는 이러한 지침에서 나옵니다.
SSL 키 저장소는 file 와 함께 디스크에 저장 file 확장자 .jks.
Kafka 브로커와 Kafka 클라이언트 모두에 대해 생성된 필수 인증서가 있으면 제어 센터에서 실행 중인 Kafka 브로커를 구성하여 계속할 수 있습니다. 다음 사항을 알아야 합니다.

  • : Control Center의 공용 호스트 이름입니다. 이는 Kafka 클라이언트가 해결하고 액세스할 수 있어야 합니다.
  • : SSL 인증서를 생성할 때 제공되는 키 저장소 비밀번호입니다.
  • 그리고 : 관리자와 클라이언트 사용자 각각에 대해 설정하려는 비밀번호입니다.
    ex에 표시된 대로 더 많은 사용자를 추가할 수 있습니다.amp르.
    /etc/kafka/server.properties에서 아래 속성을 편집하거나 추가(sudo 액세스 사용)하여 표시된 대로 위의 변수를 삽입합니다.

감전 아이콘 경고: PLAINTEXT://localhost:9092 를 제거하지 마십시오. 이렇게 하면 내부 서비스가 통신할 수 없기 때문에 제어 센터 기능이 중단됩니다.
…# Kafka 브로커가 청취하는 주소.
청취자=PLAINTEXT://localhost:9092,SASL_SSL://0.0.0.0:9093
# 이들은 클라이언트 연결에 다시 알려진 호스트입니다.
advertised.listeners=PLAINTEXT://localhost:9092,SASL_SSL:// :9093…
####### 커스텀 구성
# SSL 구성
ssl.endpoint.identification.algorithm=
ssl.keystore.location=/var/ssl/private/kafka.server.keystore.jks
ssl.keystore.password=
ssl.key.password=
ssl.client.auth=없음
ssl.protocol=TLSv1.2
# SASL 구성 sasl.enabled.mechanisms=PLAIN
listener.name.sasl_ssl.plain.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required \ username=”admin” \ password=” ” \ 사용자_관리자=” ” \ user_client=” ”; # 참고 user_로 더 많은 사용자를 추가할 수 있습니다. =
# 인증, ACL 켜기 authorizer.class.name=kafka.security.authorizer.AclAuthorizer super.users=User:admin
액세스 제어 목록(ACL) 설정
localhost에서 ACL 켜기
감전 아이콘 경고: Control Center 자체가 Kafka에 계속 액세스할 수 있도록 먼저 localhost에 대한 ACL을 설정해야 합니다. 이것이 완료되지 않으면 일이 깨질 것입니다.
######### 익명 사용자를 위한 ACL 항목
/usr/lib/kafka/bin/kafka-acls.sh \
–authorizer kafka.security.authorizer.AclAuthorizer \ –authorizer-properties Zookeeper.connect=localhost:2181 \ –add –allow-principal 사용자:ANONYMOUS –allow-host 127.0.0.1 –cluster
/usr/lib/kafka/bin/kafka-acls.sh \
–authorizer kafka.security.authorizer.AclAuthorizer \ –authorizer-properties zookeeper.connect=localhost:2181 \ –add –allow-principal User:ANONYMOUS –allow-host 127.0.0.1 –topic '*'
/usr/lib/kafka/bin/kafka-acls.sh \
–authorizer kafka.security.authorizer.AclAuthorizer \ –authorizer-properties zookeeper.connect=localhost:2181 \ –add –allow-principal User:ANONYMOUS –allow-host 127.0.0.1 –group '*'
그런 다음 외부 사용자가 paa.public.* 항목을 읽을 수 있도록 외부 읽기 전용 액세스에 대해 ACL을 활성화해야 합니다.
메모: 보다 세분화된 제어를 위해 공식 Kafka 문서를 참조하십시오.
######### 외부 사용자를 위한 ACL 항목
/usr/lib/kafka/bin/kafka-acls.sh \
–authorizer kafka.security.authorizer.AclAuthorizer \–authorizer-properties Zookeeper.connect=localhost:2181 \
–추가 –허용-주요 사용자:* –작업 읽기 –작업 설명 \–그룹 'NCC'
/usr/lib/kafka/bin/kafka-acls.sh \
–인증자 kafka.security.authorizer.AclAuthorizer \
–authorizer-properties Zookeeper.connect=localhost:2181 \
–add –allow-principal 사용자:* –작업 읽기 –작업 설명 \
–주제 paa.public. –resource-pattern-type 접두사
이 작업이 완료되면 서비스를 다시 시작해야 합니다.
sudo ncc 서비스 재시작
클라이언트가 보안 연결을 설정할 수 있는지 확인하려면 제어 센터 서버가 아닌 외부 클라이언트 시스템에서 다음 명령을 실행하십시오. 아래에서 PUBLIC_HOSTNAME은 제어 센터 호스트 이름입니다.
openssl s_client -debug -connect ${PUBLIC_HOSTNAME}:9093 -tls1_2 | grep "보안 재협상 IS 지원됨"
명령 출력에는 서버 인증서와 다음이 표시되어야 합니다.
보안 재협상 IS 지원
내부 서비스에 Kafka 서버에 대한 액세스 권한이 부여되었는지 확인하려면 다음 로그를 확인하십시오.files:

외부 클라이언트 연결 확인

카프카캣
메모: 이러한 지침은 제어 센터 서버가 아닌 클라이언트 컴퓨터에서 실행됩니다.
메모: 메트릭 정보를 표시하려면 제어 센터에서 하나 이상의 모니터가 실행 중인지 확인하십시오.
외부 클라이언트로 연결을 확인하고 유효성을 검사하려면 4페이지의 "스트리밍 API가 제어 센터에서 작동하는지 확인" 섹션에 설치된 kafkacat 유틸리티를 사용할 수 있습니다.
다음 단계를 수행하세요.
메모: 아래에서 CLIENT_USER는 이전에 file /etc/kafka/server.properties의
제어 센터: 즉, user_client 및 거기에 설정된 비밀번호.
서버 측 SSL 인증서에 서명하는 데 사용되는 CA 루트 인증서가 클라이언트에 있어야 합니다.

  • 생성하다 file 다음 콘텐츠가 포함된 client.properties:
    security.protocol=SASL_SSL
    ssl.ca.location={PATH_TO_CA_CERT}
    sasl.mechanisms=일반
    sasl.username={CLIENT_USER}
    sasl.password={CLIENT_PASSWORD} 여기서
    • {PATH_TO_CA_CERT}는 Kafka 브로커가 사용하는 CA 루트 인증서의 위치입니다.
    • {CLIENT_USER} 및 {CLIENT_PASSWORD}는 클라이언트의 사용자 자격 증명입니다.
    • 다음 명령을 실행하여 kafkacat에서 사용한 메시지를 확인합니다.
    내보내기 KAFKA_FQDN=
    수출 METRICS_TOPIC=paa.public.accounts. .메트릭
    kafkacat -b ${KAFKA_FQDN}:9093 -F 클라이언트.속성 -t ${METRICS_TOPIC} -C -e
    여기서 {METRICS_TOPIC}은 접두사가 "paa.public."인 Kafka 주제의 이름입니다.

메모: 이전 버전의 kafkacat은 클라이언트 설정을 읽기 위한 -F 옵션을 제공하지 않습니다. file. 이러한 버전을 사용하는 경우 아래와 같이 명령줄에서 동일한 설정을 제공해야 합니다.
kafkacat -b ${KAFKA_FQDN}:9093 \
-X security.protocol=SASL_SSL \
-X ssl.ca.location={PATH_TO_CA_CERT} \
-X sasl.mechanisms=일반 \
-X sasl.username={CLIENT_USER} \
-X sasl.password={CLIENT_PASSWORD} \
-t ${METRICS_TOPIC} -C -e
연결을 디버그하려면 -d 옵션을 사용할 수 있습니다.
소비자 커뮤니케이션 디버그
kafkacat -d 소비자 -b ${KAFKA_FQDN}:9093 -F 클라이언트.속성 -t ${METRICS_TOPIC} -C -e
# 디버그 브로커 통신
kafkacat -d 브로커 -b ${KAFKA_FQDN}:9093 -F 클라이언트.속성 -t ${METRICS_TOPIC} -C -e
속성이 client.properties의 속성과 다를 수 있으므로 사용 중인 Kafka 클라이언트 라이브러리에 대한 설명서를 참조하십시오.

메시지 형식

메트릭 및 메타데이터 항목에 사용되는 메시지는 프로토콜 버퍼(protobuf) 형식으로 직렬화됩니다(참조: developer.google.com/protocol-buffers). 이러한 메시지의 스키마는 다음 형식을 따릅니다.
메트릭 Protobuf 스키마
구문 = "proto3"; 가져오기 "google/protobuf/timestamp.proto”; 패키지 paa.streamingapi; 옵션 go_package = “.;paa_streamingapi”; 메시지 측정항목 { google.protobuf.Timestamp 가장 빠른amp = 1; 지도 값 = 2; int32 측정 ID = 3; } /** * 메트릭 값은 정수 또는 실수일 수 있습니다. */
메시지 MetricValue { oneof type { int64 int_val = 1; float float_val = 2; } }
메타데이터 Protobuf 스키마
구문 = "proto3"; 패키지 paa.streamingapi; 옵션 go_package = “.;paa_streamingapi”; 메시지 메타데이터 { int32 measurement_id = 1; 문자열 측정_이름 = 2; 지도 tags = 13; }

전 클라이언트amp레

메모: 이 명령은 예를 들어 외부 클라이언트에서 실행하기 위한 것입니다.amp제어 센터가 아닌 랩탑 또는 이와 유사한 것입니다.
메모: 메트릭 정보를 표시하려면 제어 센터에서 하나 이상의 모니터가 실행 중인지 확인하십시오.
제어 센터 tarball에는 아카이브 paa-streaming-api-client-ex가 포함되어 있습니다.amples.tar.gz(클라이언트-examples), 여기에는 ex가 포함되어 있습니다.ampStreaming API 사용 방법을 보여주는 Python 스크립트.
클라이언트 Ex 설치 및 구성amp레
당신은 client-ex를 찾습니다.ampParagon Active Assurance Control Center 폴더의 파일:
내보내기 CC_VERSION=3.3.1
cd ./paa-control-center_${CC_VERSION} ls paa-streaming-api-client-examp레*
client-ex를 설치하려면amp외부 클라이언트 컴퓨터에 파일을 설치하려면 다음과 같이 진행하십시오.
# 클라이언트 ex의 내용을 추출하기 위한 디렉토리 생성amptarball mkdir paa-streaming-api-client-examp레
# 클라이언트 ex의 내용 추출amp레 타르볼 tar xzf paa-streaming-api-client-examples.tar.gz -C paa-streaming-api-client-examp레
# 새로 생성된 디렉터리로 이동합니다. cd paa-streaming-api-client-examp레 클라이언트-examp파일을 실행하려면 Docker가 필요합니다. Docker에 대한 다운로드 및 설치 지침은 다음에서 찾을 수 있습니다. https://docs.docker.com/engine/install.
클라이언트 Ex 사용amp레
클라이언트-examp파일 도구는 기본 또는 고급 모드에서 실행하여 ex를 빌드할 수 있습니다.amp다양한 복잡성의 파일. 두 경우 모두 ex를 실행할 수도 있습니다.amp구성이 있는 파일 file 클라이언트 측의 추가 사용자 지정을 위한 추가 속성을 포함합니다.
기본 모드 기본 모드에서는 메트릭과 해당 메타데이터가 별도로 스트리밍됩니다. 이를 위해 클라이언트는 외부 액세스가 가능한 각 Kafka 주제를 수신하고 수신된 메시지를 콘솔에 간단히 출력합니다.
기본 ex 실행을 시작하려면amp파일, 실행: ./build.sh run-basic –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME
여기서 ACCOUNT_SHORTNAME은 메트릭을 가져오려는 계정의 짧은 이름입니다.
ex의 실행을 종료하려면amp파일에서 Ctrl + C를 누릅니다. (클라이언트가 시간 초과 이벤트를 기다리기 때문에 실행이 중지되기 전에 약간의 지연이 있을 수 있습니다.)
고급 모드
메모:
메트릭은 제어 센터에서 실행 중인 HTTP 모니터에 대해서만 표시됩니다.
고급 모드에서 실행하면 메트릭과 메타데이터 메시지 간의 상관 관계가 표시됩니다. 이는 해당 메타데이터 메시지를 참조하는 스트림 ID 필드의 각 메트릭 메시지에 존재하기 때문에 가능합니다.
고급 ex를 실행하려면amples, run: ./build.sh run-advanced –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME 여기서 ACCOUNT_SHORTNAME은 메트릭을 가져오려는 계정의 짧은 이름입니다.
ex의 실행을 종료하려면amp파일에서 Ctrl + C를 누릅니다. (클라이언트가 시간 초과 이벤트를 기다리기 때문에 실행이 중지되기 전에 약간의 지연이 있을 수 있습니다.)
추가 설정
ex를 실행할 수 있습니다.amp-config-를 사용하여 클라이언트의 추가 구성이 있는 파일file 옵션 다음에 file key=value 형식의 속성을 포함하는 이름입니다.
./build.sh run-advanced \ –kafka-brokers localhost:9092 \ –account ACCOUNT_SHORTNAME \ –config-file 클라이언트_구성.속성
메모: 모두 file위 명령에서 참조하는 s는 현재 디렉토리에 있어야 하며 상대 경로만 사용하여 참조해야 합니다. 이것은 –config-에 모두 적용됩니다.file 인수 및 구성의 모든 항목 file 설명하는 file 위치.
외부 클라이언트 인증 확인
client-ex를 사용하여 제어 센터 외부에서 클라이언트 인증을 확인하려면amp파일에서 다음 단계를 수행하십시오.

  • Paragon Active Assurance Control Center 폴더에서 paa-streaming-api-clientex로 전환합니다.amp파일 폴더:
    CD PAA-스트리밍-API-클라이언트-EXamp레
  • CA 루트 인증서 ca-cert를 현재 디렉터리에 복사합니다.
  • client.properties 만들기 file 다음 내용이 포함됩니다:
    security.protocol=SASL_SSL
    ssl.ca.location=ca-cert
    sasl.mechanism=일반
    sasl.username={CLIENT_USER}
    sasl.password={CLIENT_PASSWORD}
    여기서 {CLIENT_USER} 및 {CLIENT_PASSWORD}는 클라이언트의 사용자 자격 증명입니다.
  • 기본 ex 실행amp레:
    내보내기 KAFKA_FQDN= ./build.sh run-basic –kafka-brokers ${KAFKA_FQDN}:9093 \ –계정 ACCOUNT_SHORTNAME
    –구성-file client.properties 여기서 ACCOUNT_SHORTNAME은 메트릭을 가져오려는 계정의 짧은 이름입니다.
  • 고급 실행amp레:
    내보내기 KAFKA_FQDN= ./build.sh run-advanced –kafka-brokers ${KAFKA_FQDN}:9093 \ –account ACCOUNT_SHORTNAME–config-file 클라이언트.속성

충수

이 부록에서는 다음을 생성하는 방법을 설명합니다.

  • 키 저장소 file Kafka 브로커 SSL 인증서 저장용
  • 신뢰 저장소 file Kafka 브로커 인증서에 서명하는 데 사용되는 인증 기관(CA) 루트 인증서를 저장합니다.

Kafka 브로커 인증서 생성
실제 인증 기관을 사용하여 인증서 생성(권장)
신뢰할 수 있는 CA에서 실제 SSL 인증서를 받는 것이 좋습니다.
CA를 결정했으면 해당 CA 루트 인증서 ca-cert를 복사합니다. file 아래와 같이 자신의 경로로
내보내기 CA_PATH=~/my-ca mkdir ${CA_PATH} cp ca-cert ${CA_PATH}
나만의 인증 기관 만들기
메모: 일반적으로 실제 인증 기관에서 서명한 인증서가 있어야 합니다. 이전 하위 섹션을 참조하십시오. 다음은 전직입니다.amp르.
여기에서 자체 인증 기관(CA) 루트 인증서를 생성합니다. file 999일 동안 유효(프로덕션에서는 권장되지 않음):
# CA 내보내기 CA_PATH=~/my-ca mkdir ${CA_PATH} 저장을 위한 디렉토리 생성
# CA 인증서 생성 openssl req -new -x509 -keyout ${CA_PATH}/ca-key -out ${CA_PATH}/ca-cert -days 999
클라이언트 신뢰 저장소 생성
이제 신뢰 저장소를 만들 수 있습니다. file 위에서 생성된 ca-cert가 포함된 파일입니다. 이것 file 스트리밍 API에 액세스할 Kafka 클라이언트에 필요합니다.
keytool -keystore kafka.client.truststore.jks \ -alias CARoot \ -importcert -file ${CA_PATH}/ca-cert
이제 CA 인증서가 신뢰 저장소에 있으므로 클라이언트는 서명된 모든 인증서를 신뢰합니다.
다음을 복사해야 합니다. file kafka.client.truststore.jks를 클라이언트 컴퓨터의 알려진 위치로 복사하고 설정에서 이를 가리킵니다.
Kafka Broker용 키 저장소 생성
Kafka 브로커 SSL 인증서를 생성한 다음 키 저장소 kafka.server.keystore.jks를 생성하려면 다음과 같이 진행하십시오.
SSL 인증서 생성
아래에서 999는 키 저장소의 유효 일수이고 FQDN은 클라이언트의 정규화된 도메인 이름(노드의 공용 호스트 이름)입니다.
메모: FQDN이 Kafka 클라이언트가 제어 센터에 연결하는 데 사용할 정확한 호스트 이름과 일치하는 것이 중요합니다. sudo mkdir -p /var/ssl/private
sudo chown -R $USER: /var/ssl/private cd /var/ssl/private 내보내기 FQDN=
keytool -keystore kafka.server.keystore.jks \ -alias 서버 \ -validity 999 \ -genkey -keyalg RSA -ext SAN=dns:${FQDN}
인증서 서명 요청을 생성하고 file cert-server-request라는 이름:
keytool -keystore kafka.server.keystore.jks \ -alias 서버 \ -certreq \ -file 인증서 서버 요청
이제 다음을 보내야 합니다. file 실제 인증 기관(CA)을 사용하는 경우 인증 기관(CA)에 cert-server-request를 요청하십시오. 그런 다음 서명된 인증서를 반환합니다. 아래에서 이를 cert-server-signed라고 합니다. 자체 생성 CA 인증서를 사용하여 SSL 인증서 서명
메모: 다시 말하지만 프로덕션 시스템에서는 자체 CA를 사용하지 않는 것이 좋습니다. 다음을 통해 CA를 사용하여 인증서에 서명합니다. file 서명된 인증서 cert-server-signed를 생성하는 cert-server-request. 아래를 참조하십시오. ca-password는 CA 인증서를 생성할 때 설정한 암호입니다.
cd /var/ssl/private openssl x509 -req \ -CA ${CA_PATH}/ca-cert \ -CAkey ${CA_PATH}/ca-key \ -in cert-server-request \ -out cert-server-signed \ -일 999 -CAcreateserial \ -passin 패스:{ca-암호}
서명된 인증서를 키 저장소로 가져오기
ca-cert 루트 인증서를 키 저장소로 가져옵니다.
keytool -keystore kafka.server.keystore.jks \ -alias ca-cert \ -import \ -file ${CA_PATH}/ca-cert
cert-server-signed라고 하는 서명된 인증서를 가져옵니다.
keytool -keystore kafka.server.keystore.jks \ -alias 서버 \ -import \ -file 인증서 서버 서명
그만큼 file kafka.server.keystore.jks는 제어 센터 서버의 알려진 위치에 복사한 다음 /etc/kafka/server.properties에서 참조해야 합니다.
스트리밍 API 사용

일반적인

스트리밍 API는 테스트 데이터와 모니터 데이터를 모두 가져옵니다. 이러한 범주 중 하나를 골라내는 것은 불가능합니다.
스트리밍 API는 이더넷 서비스 활성화 테스트 및 투명도 테스트와 같은 스크립트 기반 테스트(제어 센터 GUI에서 퍼즐 조각 대신 직사각형으로 표시됨)에서 데이터를 가져오지 않습니다.
카프카 주제 이름
스트리밍 API의 Kafka 주제 이름은 다음과 같습니다. 여기서 %s는 컨트롤의 짧은 이름입니다.
센터 계정(계정 생성 시 표시):
const (exporterName = "kafka"metadataTopicTpl = "paa.public.accounts.%s.metadata" metricsTopicTpl = "paa.public.accounts.%s.metrics")
ExampStreaming API 사용 파일
전직amp다음 파일은 tarball paa-streaming-api-client-ex에서 찾을 수 있습니다.amp제어 센터 tarball에 포함된 les.tar.gz.
먼저 기본 ex가 있습니다.amp메트릭과 해당 메타데이터가 개별적으로 스트리밍되는 방법을 보여주는 파일과 단순히 수신된 메시지를 콘솔에 출력합니다. 다음과 같이 실행할 수 있습니다. sudo ./build.sh run-basic –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME
더 진보된 ex도 있습니다.amp메트릭과 메타데이터 메시지가 상관 관계가 있는 파일입니다. 다음 명령을 사용하여 실행하십시오.
sudo ./build.sh run-advanced –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME 위와 같은 Docker 명령을 실행하려면 sudo를 사용해야 합니다. 선택적으로 Linux 설치 후 단계에 따라 sudo 없이 Docker 명령을 실행할 수 있습니다.
자세한 내용은 docs.docker.com/engine/install/linux-postinstall.
Juniper Networks, Juniper Networks 로고, Juniper 및 Junos는 미국 및 기타 국가에서 Juniper Networks, Inc.의 등록 상표입니다. 다른 모든 상표, 서비스 마크, 등록 상표 또는 등록 서비스 마크는 해당 소유자의 재산입니다. Juniper Networks는 이 문서의 부정확성에 대해 책임을 지지 않습니다. Juniper Networks는 통지 없이 이 간행물을 변경, 수정, 이전 또는 기타 방식으로 개정할 권리를 보유합니다. 저작권 © 2022 Juniper Networks, Inc. 모든 권리 보유.

주니퍼 로고

문서 / 리소스

PDF thumbnail스트리밍 API
User Guide · Streaming API, API

질문하기

Use this section to ask about setup, compatibility, troubleshooting, or anything missing from this manual.

질문하기

Ask about setup, compatibility, troubleshooting, or anything missing from this manual. Name and email are optional.