메트릭을 Kafka 서비스로 스트리밍
IBM Cloud® Monitoring을(를) 사용하여 선택한 메트릭 세트를 Kafka 서비스(예: Event Streams)로 푸시할 수 있습니다.
다음과 같이 구성해야 합니다.
-
정의된 범위 내에서 내보낼 메트릭입니다.
메트릭 이름 및 범위는 PromQL 형식으로 지정됩니다.
-
데이터의 세분성입니다.
예를 들어, 10초(10s) 또는 1분(1m)입니다. 권장되는 집계는 1m입니다.
-
IBM Cloud Monitoring에서 데이터를 내보내는 데 사용할 Kafka 주제입니다.
전제조건
스트리밍을 관리하기 전에 다음 전제조건을 확인하십시오.
-
서비스 플랜의 제한사항을 확인하십시오. 자세한 정보는 한계 및 할당량을 참조하십시오.
-
적절한 권한이 있는지 확인하십시오.
-
스트리밍을 구성하려면 관리자 역할이 있어야 합니다.
-
스트리밍을 구성할 때 IBM Cloud Monitoring 인스턴스 및 Event Streams 인스턴스가 동일한 계정으로 프로비저닝되어야 합니다.
-
IBM Cloud Monitoring 인스턴스를 Event Streams 인스턴스에 연결하려면 다음 정보가 필요합니다.
-
IBM Cloud Monitoring 인스턴스에서 스트리밍을 구성하려면 관리자 역할이 있어야 합니다. 이 역할에는 다음이 포함됩니다 sysdig-monitor.launch.admin IAM 작업 역할이 포함되어 있어 사용자가 스트리밍 구성과 같은 관리 작업을 수행할 수 있습니다.
-
스트리밍을 구성할 때 Monitoring 인스턴스 및 Event Streams 인스턴스가 동일한 계정으로 프로비저닝되어야 합니다.
-
Monitoring 인스턴스를 Event Streams 인스턴스에 연결하려면 다음 정보가 필요합니다.
-
API를 호출하는 엔드포인트 URL
-
인증을 위한 인증 정보
-
-
-
Event Streams에서 주제를 작성하려면 관리자 역할이 있어야 합니다. 이 역할에는 앱이나 사용자가 주제를 작성 또는 삭제할 수 있도록 허용하는 messagehub.topic.manage IAM 조치 역할이 포함됩니다.
-
Monitoring이(가) Event Streams에 데이터를 게시하는 데 사용하는 신임 정보에는 작성자 역할이 있어야 합니다. 이 역할에는 앱이나 서비스가 하나 이상의 주제에 데이터를 쓸 수 있도록 허용하는 messagehub.topic.write IAM 조치 역할이 포함됩니다.
-
-
IAM 설정을 통해 구성된 IP 주소에 대한 액세스를 제한하도록 계정을 구성하거나 계정이 컨텍스트 기반 제한 규칙(CBR)을 통해 연결이 허용되는 네트워크 위치를 제한하는 경우Event Streams 서비스를 사용하려면 다음을 허용 목록에 추가해야 합니다.Monitoring 계정의 IP. 자세한 내용은 다음을 참조하세요.Monitoring 엔드포인트 그리고 Event Streams- 네트워크 접속 제한.
이 주제에 대한 지시사항은 엔터프라이즈 플랜 사용을 기반으로 합니다.
UI를 통한 스트리밍 관리
스트리밍 구성
UI를 통해 스트리밍을 구성하려면 다음 단계를 완료하십시오.
1단계. Event Streams에서 주제 작성
이벤트 스트림 주제를 작성하려면 다음 단계를 완료하십시오.
-
사용자 ID와 비밀번호로 로그인하면 IBM Cloud 대시보드가 열립니다.
-
메뉴 아이콘
> 리소스 목록을 클릭하십시오.
-
사용할 Event Streams 인스턴스를 찾아 선택하십시오.
-
Event Streams 인스턴스 콘솔에서 관리 > 실행 대시보드를 클릭하십시오.
-
주제 작성을 클릭하십시오.
주제 만들기 -
주제 이름을 입력하고 다음을 클릭하십시오.
주제 이름을 입력하세요 -
파티션 수를 입력하고 다음을 클릭하십시오.
하나 이상의 파티션이 주제를 구성합니다. 파티션은 정렬된 메시지의 목록입니다. 파티션은 주제의 확장성을 높이기 위해 브로커 전체에 분산됩니다. 또한 이를 사용하여 소비자 그룹의 구성원 간에 메시지를 배포할 수도 있습니다.
파티션 수를 입력하세요. -
메시지 보존을 선택하고 주제 작성을 클릭하십시오.
메시지 보존은 메시지가 삭제되기 전에 보유되는 기간을 정의합니다. 이용자가 이 시간 내에 메시지를 읽지 않으면 메시지가 누락됩니다.
2단계. Event Streams을(를) 사용하여 모니터링 인스턴스를 인증하기 위한 신임 정보 작성
Monitoring 인스턴스를 Event Streams 인스턴스에 연결하려면 다음 정보가 필요합니다.
- API를 호출하는 엔드포인트 URL
- 인증을 위한 인증 정보
다음 단계를 완료하여 Monitoring 인스턴스가 Event Streams 인스턴스와 통신해야 하는 서비스 인증 정보를 작성하십시오.
-
IBM Cloud에서 메뉴 아이콘
> 리소스 목록을 클릭하십시오.
-
사용할 Event Streams 인스턴스를 찾아 선택하십시오.
-
Event Streams 콘솔에서 서비스 인증 정보를 클릭하십시오.
-
새 인증 정보를 선택하십시오.
-
이름을 입력하고 작성자 역할을 선택하십시오.
자격 증명 만들기 -
추가 를 클릭하십시오.
액세스를 한 개의 주제로 제한하려면 다음 단계를 완료하십시오.
-
메뉴 표시줄에서 관리 > **액세스(IAM)**를 클릭하고 서비스 ID를 선택하십시오.
서비스 ID 선택 -
서비스 ID를 선택하십시오.
-
액세스 정책을 선택하십시오.
-
정책을 선택하고 이를 수정하여 주제를 지정하십시오.
정책 편집
정책 수정 -
IBM Cloud CLI를 사용하여 인증 정보 가져오기를 수행하고 API 키 및 브로커 URL 값을 기록해 두십시오.
3단계. Monitoring에서 Event Streams(으)로의 연결을 구성하십시오.
IBM Cloud Monitoring 메트릭 데이터 스트리밍을 구성하려면 다음을 수행하십시오.
-
관리자 권한이 있는 사용자로 웹 UI를 실행하십시오. 웹 UI 실행 방법에 대한 자세한 정보는 웹 UI로 이동을 참조하십시오.
-
사용자 아이콘을 클릭하십시오. 이는 로그온한 사용자의 이니셜이 있는 아이콘입니다. 그런 다음 설정을 클릭하십시오.
-
메트릭 데이터 스트리밍을 선택하십시오.
-
통합 추가를 클릭하십시오. 새 메트릭 스트리밍 통합 패널이 표시됩니다.
측정항목 스트리밍 통합 패널 -
다음 정보를 지정하십시오.
- 통합 이름
- 스트리밍 구성의 이름입니다.
- 토픽
- 메트릭을 수신할 Kafka 주제의 이름입니다.
- 브로커
- 쉼표로 구분된 Kafka 브로커의 목록입니다(예:
kafka-2.mh-svc.eu-de.containers.appdomain.cloud:9093,kafka-1.mh-svc.eu-de.containers.appdomain.cloud:9093,kafka-0.mh-svc.eu-de.containers.appdomain.cloud:9093)."내에는 URL이 포함되지 않아야 합니다. - TLS
- TLS(Transport Layer Security) 메소드입니다. TLS를 사용하여 데이터 전송을 암호화하고 보호합니다.
- 신임 정보
- Monitoring 인스턴스에서 Kafka 서버로 데이터를 내보내기 위해 Monitoring에서 사용하는 신임 정보입니다. 사용자 및 비밀번호 또는 base64 인코딩된 인증서를 선택할 수 있습니다.
자격 증명 옵션 - 압축
- 압축 유형을 선택하십시오. 올바른 옵션은
LZ4,Snappy,Gzip및Zstandard입니다. 자세한 내용은 다음을 참조하세요.메시지 압축Apache Kafka.
-
연결 테스트를 클릭하여 IBM Cloud Monitoring과(와) Kafka 사이의 연결이 구성되었는지 확인하십시오.
구성을 저장하고 사용하기 전에 연결을 테스트해야 합니다.
-
범위를 선택하고 내보낼 메트릭을 정의하십시오.
범위의 경우, 정의된 메트릭을 필터링할 하나 이상의 레이블을 선택하십시오.
메트릭은 PromQL 을 사용하여 전체 메트릭 이름을 지정해야 합니다.
-
저장 을 클릭하십시오.
구성을 저장한 후에는 스트리밍이 활성화되기 30분 전에 대기해야 합니다.
UI를 통한 스트리밍 사용 또는 중지
메트릭 데이터 스트리밍 페이지에서 메트릭 스트리밍을 시작하고 중지할 수 있습니다.
-
관리자 권한이 있는 사용자로 웹 UI를 실행하십시오. 웹 UI 실행 방법에 대한 자세한 정보는 웹 UI로 이동을 참조하십시오.
-
사용자 아이콘을 클릭하십시오. 이는 로그온한 사용자의 이니셜이 있는 아이콘입니다. 그런 다음 설정을 클릭하십시오.
-
메트릭 데이터 스트리밍을 선택하십시오. 스트리밍 구성 목록이 표시됩니다.
스트리밍 구성 -
토글을 통해 스트리밍 구성을 사용 또는 사용 안함으로 설정합니다.
API를 사용한 스트리밍 관리
UI를 통해 스트리밍을 관리하려면 다음 단계를 완료하십시오.
스트리밍 구성 나열
기존의 모든 스트리밍 구성에 대한 세부사항을 가져오려면 이 방법을 사용하십시오.
curl --request GET https://<ENDPOINT>/api/v1/dataStream/configs
-H "content-type: application/json"
-H "Authorization: <TOKEN>"
여기서,
<ENDPOINT>은(는) REST API 호출이 대상으로 하는 엔드포인트를 표시합니다. 자세한 정보는 REST API 엔드포인트 모니터링을 참조하십시오. 예를 들어, 미국에서 사용 가능한 인스턴스에 대한 공용 엔드포인트는 다음과 같습니다.https://us-south.monitoring.cloud.ibm.com/api- Monitoring 서비스를 사용하여 인증하는 데 사용하는
<TOKEN>API 토큰입니다. 토큰과 함께Bearer을(를) 포함해야 합니다. 자세한 정보는 Monitoring API 토큰에 대한 작업의 내용을 참조하십시오.
응답은 다음과 유사합니다.
{"dataStreamConfigs":[{"uuid":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","enabled":true,"name":"Streaming metrics - demo","type":"kafka"}]}
스트리밍 구성에 대한 세부사항 가져오기
이 메소드를 사용하여 1개의 스트리밍 구성에 대한 세부사항을 가져올 수 있습니다.
curl --request GET https://<ENDPOINT>/api/v1/dataStream/configs/<STREAMING_CONFIG_ID>
-H "content-type: application/json"
-H "Authorization: <TOKEN>"
여기서,
<ENDPOINT>은(는) REST API 호출로 대상을 지정하는 엔드포인트를 나타냅니다. 자세한 정보는 REST API 엔드포인트 모니터링을 참조하십시오. 예를 들어, 미국에서 사용 가능한 인스턴스에 대한 공용 엔드포인트는 다음과 같습니다.https://us-south.monitoring.cloud.ibm.com/api- Monitoring 서비스를 사용하여 인증하는 데 사용하는
<TOKEN>API 토큰입니다. 토큰과 함께Bearer을(를) 포함해야 합니다. 자세한 정보는 Monitoring API 토큰에 대한 작업의 내용을 참조하십시오. <STREAMING_CONFIG_ID>은(는) 세부사항을 가져오려는 스트리밍 구성의 UUID를 나타냅니다.
응답은 다음과 유사합니다.
{
"dataStreamConfig": {
"uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"enabled": true,
"name": "Streaming metrics - demo",
"emitterType": "kafka",
"emitterProperties": {
"bootstrap.servers": "kafka-0.mh-svc1.eu-de.containers.appdomain.cloud:9093, kafka-2.mh-svc2-0000.eu-de.containers.appdomain.cloud:9093,kafka-1.mh-svc3.eu-de.containers.appdomain.cloud:9093",
"topic.name": "my-monitoring-topic",
"compression.type": "lz4",
"security.protocol": "SASL_SSL",
"sasl.mechanism": "PLAIN",
"sasl.jaas.config": "org.apache.kafka.common.security.plain.PlainLoginModule required username=\"token\" password=\"xxxxxxxxxxxxx\";","ssl.truststore.base64.content":""}},"dataStreamRules":[{"uuid":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","enabled":true,"metrics":["kube_daemonset_labels","kube_node_status_condition"],"aggregation":"avg","aggregationSec":10,"scope":"kubernetes.cluster.name = \"mycluster\"",
"dataStreamConfigUuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
]
}
스트리밍 구성 작성
메트릭 세트를 Event Streams(으)로 전달하는 1 스트리밍 구성을 구성하려면 이 메소드를 사용하십시오.
curl --request POST https://<ENDPOINT>/api/v1/dataStream/configs
-H "content-type: application/json"
-H "Authorization: <TOKEN>"
-d @streaming-config.json
여기서,
<ENDPOINT>은(는) REST API 호출로 대상을 지정하는 엔드포인트를 나타냅니다. 자세한 정보는 REST API 엔드포인트 모니터링을 참조하십시오. 예를 들어, 미국에서 사용 가능한 인스턴스에 대한 공용 엔드포인트는 다음과 같습니다.https://us-south.monitoring.cloud.ibm.com/api- Monitoring 서비스를 사용하여 인증하는 데 사용하는
<TOKEN>API 토큰입니다. 토큰과 함께Bearer을(를) 포함해야 합니다. 자세한 정보는 Monitoring API 토큰에 대한 작업의 내용을 참조하십시오.
샘플 streaming-config.json 파일은 다음과 같습니다.
{
"dataStreamConfig": {
"enabled": true,
"name": "Streaming metrics config",
"emitterType": "kafka",
"emitterProperties": {
"bootstrap.servers": "kafka-0.mh-svc1.eu-de.containers.appdomain.cloud:9093,kafka-2.mh-svc2.eu-de.containers.appdomain.cloud:9093,kafka-1.mh-svc3.eu-de.containers.appdomain.cloud:9093",
"topic.name": "my-monitoring-topic",
"compression.type": "lz4",
"security.protocol": "SASL_SSL",
"sasl.mechanism": "PLAIN",
"sasl.jaas.config": "org.apache.kafka.common.security.plain.PlainLoginModule required username=\"token\" password=\"xxxxxxxxxx\";",
"ssl.truststore.base64.content": ""
}
},
"dataStreamRules": [
{
"enabled": true,
"metrics": [
"kube_daemonset_labels",
"kube_node_status_condition"
],
"aggregation": "avg",
"aggregationSec": 10,
"scope": "kubernetes.cluster.name = \"mycluster\""
}
]
}
스트리밍 구성 업데이트
다음과 같은 모든 조치에서 스트리밍 구성을 업데이트하십시오.
- Event Streams 인증을 위한 API 키가 순환되거나 손상되었거나 변경이 필요합니다.
- 새 메트릭을 추가하거나 메트릭을 제거하여 사용자가 스트리밍하는 메트릭을 변경하려는 경우.
- 범위를 변경해야 하는 경우.
- 구성에 대한 데이터 스트리밍을 사용 또는 사용 안함으로 설정합니다.
메트릭 세트를 전달하는 1개의 스트리밍 구성을 Event Streams(으)로 업데이트하려면 이 방법을 사용하십시오.
curl --request PUT https://<ENDPOINT>/api/v1/dataStream/configs/<STREAMING_CONFIG_ID>
-H "content-type: application/json"
-H "Authorization: <TOKEN>"
-d @streaming-config.json
여기서,
<ENDPOINT>은(는) REST API 호출로 대상을 지정하는 엔드포인트를 나타냅니다. 자세한 정보는 REST API 엔드포인트 모니터링을 참조하십시오. 예를 들어, 미국에서 사용 가능한 인스턴스에 대한 공용 엔드포인트는 다음과 같습니다.https://us-south.monitoring.cloud.ibm.com/api- Monitoring 서비스를 사용하여 인증하는 데 사용하는
<TOKEN>API 토큰입니다. 토큰과 함께Bearer을(를) 포함해야 합니다. 자세한 정보는 Monitoring API 토큰에 대한 작업의 내용을 참조하십시오. <STREAMING_CONFIG_ID>은(는) 스트리밍 구성의 UUID를 나타냅니다.
샘플 streaming-config.json 파일은 다음과 같습니다.
{
"dataStreamConfig": {
"uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"enabled": true,
"name": "Streaming metrics - demo",
"emitterType": "kafka",
"emitterProperties": {
"bootstrap.servers": "kafka-0.mh-svc1.eu-de.containers.appdomain.cloud:9093, kafka-2.mh-svc2-0000.eu-de.containers.appdomain.cloud:9093,kafka-1.mh-svc3.eu-de.containers.appdomain.cloud:9093",
"topic.name": "my-monitoring-topic",
"compression.type": "lz4",
"security.protocol": "SASL_SSL",
"sasl.mechanism": "PLAIN",
"sasl.jaas.config": "org.apache.kafka.common.security.plain.PlainLoginModule required username=\"token\" password=\"xxxxxxxxxxxxx\";","ssl.truststore.base64.content":""}},"dataStreamRules":[{"uuid":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","enabled":true,"metrics":["kube_daemonset_labels","kube_node_status_condition"],"aggregation":"avg","aggregationSec":10,"scope":"kubernetes.cluster.name = \"mycluster\"",
"dataStreamConfigUuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
]
}
스트리밍 구성 삭제
메트릭 세트를 Event Streams(으)로 전달하는 1 스트리밍 구성을 삭제하려면 이 메소드를 사용하십시오.
curl --request DELETE https://<ENDPOINT>/api/v1/dataStream/configs/<STREAMING_CONFIG_ID>
-H "content-type: application/json"
-H "Authorization: <TOKEN>"
여기서,
<ENDPOINT>은(는) REST API 호출로 대상을 지정하는 엔드포인트를 나타냅니다. 자세한 정보는 REST API 엔드포인트 모니터링을 참조하십시오. 예를 들어, 미국에서 사용 가능한 인스턴스에 대한 공용 엔드포인트는 다음과 같습니다.https://us-south.monitoring.cloud.ibm.com/api- Monitoring 서비스를 사용하여 인증하는 데 사용하는
<TOKEN>API 토큰입니다. 토큰과 함께Bearer을(를) 포함해야 합니다. 자세한 정보는 Monitoring API 토큰에 대한 작업의 내용을 참조하십시오. <STREAMING_CONFIG_ID>은(는) 스트리밍 구성의 UUID를 나타냅니다.
IBM Cloud Monitoring을(를) 사용하여 스트리밍 모니터링
Event Streams은(는) Monitoring 서비스와 통합됩니다. Monitoring은(는) Event Streams 인스턴스를 모니터하도록 사용자 정의할 수 있는 기본 템플리트를 제공하며, 데이터가 Monitoring에서 스트림되고 Event Streams에 등록된 애플리케이션 또는 서비스에서 이용되는 방법입니다.
다음 단계를 완료하여 Event Streams 인스턴스를 모니터하십시오.
-
Monitoring 인스턴스와 동일한 지역에 Event Streams의 인스턴스가 있는지 확인하십시오. 이 인스턴스는 플랫폼 메트릭을 수집하도록 구성해야 합니다. 자세한 정보는 플랫폼 메트릭 사용을 참조하십시오.
-
대시보드 섹션에서 대시보드 템플리트로 이동하여 IBM Event Streams(엔터프라이즈) 템플리트를 선택하십시오.
-
사용자 정의 대시보드 작성을 클릭하여 템플리트 사본을 작성하십시오.
초당 주제 바이트 수 메트릭을 사용하여 Monitoring에서 Event Streams(으)로 데이터를 전송하는 방법을 확인할 수 있습니다.
초당 토픽 바이트 수 메트릭을 사용하여 Event Streams에 등록된 애플리케이션 또는 서비스가 데이터를 이용하는 방법을 확인할 수 있습니다.
-
(선택사항) 초당 주제 바이트 수 패널을 편집하십시오.
편집 패널 그런 다음, 주제별로 데이터를 볼 수 있도록 메트릭을 사용자 정의하십시오.
측정항목 맞춤설정 해상도가 10M으로 설정되었는지 확인하십시오.