Pulsar 메트릭

Pulsar 메트릭 (Pulsar metrics)

Pulsar는 Prometheus 형식으로 다음 메트릭을 노출해요. 이 메트릭들로 클러스터를 모니터링할 수 있어요. 이번에는 Pulsar가 제공하는 주요 메트릭과 각 메트릭의 의미를 하나씩 살펴볼게요.

출처: 문서

본문

다음 유형의 메트릭을 사용할 수 있어요:

  • Counter: 단조 증가하는 카운터를 나타내는 누적 메트릭이에요. 값은 기본적으로 증가해요. 값을 0으로 리셋하거나 클러스터를 재시작할 수 있어요.
  • Gauge: 임의로 오르내릴 수 있는 단일 숫자 값을 나타내는 메트릭이에요.
  • Histogram: 관측값(보통 요청 지속 시간이나 응답 크기 같은 것들)을 샘플링해 구성 가능한 버킷에 집계해요. _bucket 접미사는 히스토그램 버킷 안의 관측 수로, {le="<upper inclusive bound>"} 파라미터로 구성돼요. _count 접미사는 관측 수로 시계열로 표시되며 카운터처럼 동작해요. _sum 접미사는 관측 값의 합으로, 이것도 시계열로 표시되며 카운터처럼 동작해요. 이 접미사들은 이 문서에서 함께 _*로 나타내요.
  • Summary: 히스토그램과 유사하게 관측값(보통 요청 지속 시간과 응답 크기)을 샘플링해요. 관측의 총 개수와 관측 값의 합도 제공하지만, 슬라이딩 시간 창에 걸쳐 구성 가능한 분위수(quantile)를 계산해요.

ZooKeeper

ZooKeeper 메트릭은 포트 8000의 "/metrics" 아래에 노출돼요. conf/zookeeper.conf에서 metricsProvider.httpPort를 구성해 다른 포트를 사용할 수 있어요.

ZooKeeper는 3.6.0부터 New Metrics System을 제공해요. 더 자세한 메트릭은 ZooKeeper Monitor Guide를 참고해요.

BookKeeper

BookKeeper 메트릭은 포트 8000의 "/metrics" 아래에 노출돼요. bookkeeper.conf 구성 파일에서 prometheusStatsHttpPort를 업데이트해 포트를 변경할 수 있어요.

서버 메트릭 (Server metrics)

| 이름 | 유형 | 설명 | | bookie_SERVER_STATUS | Gauge | bookie 서버의 서버 상태.

  • 1: bookie가 쓰기 가능(writable) 모드로 실행 중.
  • 0: bookie가 읽기 전용(read-only) 모드로 실행 중. | | bookkeeper_server_ADD_ENTRY_count | Counter | bookie가 받은 총 ADD_ENTRY 요청 수. success 레이블로 성공과 실패를 구분해요. | | bookkeeper_server_READ_ENTRY_count | Counter | bookie가 받은 총 READ_ENTRY 요청 수. success 레이블로 성공과 실패를 구분해요. | | bookie_WRITE_BYTES | Counter | bookie에 쓰여진 총 바이트 수. | | bookie_READ_BYTES | Counter | bookie에서 읽힌 총 바이트 수. | | bookkeeper_server_ADD_ENTRY_REQUEST | Summary | bookie에서 ADD_ENTRY 요청의 요청 지연 시간 요약. success 레이블로 성공과 실패를 구분해요. | | bookkeeper_server_READ_ENTRY_REQUEST | Summary | bookie에서 READ_ENTRY 요청의 요청 지연 시간 요약. success 레이블로 성공과 실패를 구분해요. | | bookkeeper_server_BookieReadThreadPool_queue_{thread_id} | Gauge | 읽기 스레드 큐에서 처리 대기 중인 요청 수. | | bookkeeper_server_BookieReadThreadPool_task_queued | Summary | 읽기 스레드 큐에서 처리되기까지 작업의 대기 시간. | | bookkeeper_server_BookieReadThreadPool_task_execution | Summary | 읽기 스레드 큐에서 작업의 실행 시간. |

저널 메트릭 (Journal metrics)

| 이름 | 유형 | 설명 | | bookie_journal_JOURNAL_SYNC_count | Counter | bookie에서 발생한 총 저널 fsync 작업 수. success 레이블로 성공과 실패를 구분해요. | | bookie_journal_JOURNAL_QUEUE_SIZE | Gauge | 저널 큐에 대기 중인 총 요청 수. | | bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE | Gauge | force-write 큐에 대기 중인 총 force write(fsync) 요청 수. | | bookie_journal_JOURNAL_CB_QUEUE_SIZE | Gauge | 콜백 큐에 대기 중인 총 콜백 수. | | bookie_journal_JOURNAL_ADD_ENTRY | Summary | 저널에 항목을 추가하는 요청 지연 시간 요약. | | bookie_journal_JOURNAL_SYNC | Summary | 저널 디스크에 데이터를 동기화하는 fsync 지연 시간 요약. | | bookie_journal_JOURNAL_CREATION_LATENCY | Summary | 저널 로그 파일이 생성될 때의 지연 시간. |

저장 메트릭 (Storage metrics)

| 이름 | 유형 | 설명 | | bookie_ledgers_count | Gauge | bookie에 저장된 총 원장 수. | | bookie_entries_count | Gauge | bookie에 저장된 총 항목 수. | | bookie_write_cache_size | Gauge | bookie 쓰기 캐시 크기(바이트). | | bookie_read_cache_size | Gauge | bookie 읽기 캐시 크기(바이트). | | bookie_DELETED_LEDGER_TOTAL | Counter | bookie 시작 이후 삭제된 총 원장 수. | | bookie_ledger_writable_dirs | Gauge | bookie의 쓰기 가능 디렉터리 수. | | bookie_flush | Gauge | bookie 메모리의 테이블 플러시 지연 시간. | | bookie_throttled_write_requests | Counter | 지연(throttle)될 쓰기 요청 수. |

복제 메트릭 (Replication metrics)

| 이름 | 유형 | 설명 | | auditor_NUM_UNDER_REPLICATED_LEDGERS | Summary | 각 auditor 실행 시 복제 부족 원장 수의 분포. | | auditor_UNDER_REPLICATED_LEDGERS_TOTAL_SIZE | Summary | 각 auditor 실행 시 복제 부족 원장 총 크기의 분포. | | auditor_URL_PUBLISH_TIME_FOR_LOST_BOOKIE | Summary | 유실된 bookie에 대해 복제 부족 원장을 publish하는 지연 시간 분포. | | auditor_BOOKIE_TO_LEDGERS_MAP_CREATION_TIME | Summary | bookies-to-ledgers 맵을 만드는 지연 시간 분포. | | auditor_CHECK_ALL_LEDGERS_TIME | Summary | 모든 원장을 검사하는 지연 시간 분포. | | auditor_PLACEMENT_POLICY_CHECK_TIME | Summary | placementPolicy 검사의 지연 시간 분포. | | auditor_REPLICAS_CHECK_TIME | Summary | 복제본 검사의 지연 시간 분포. | | auditor_AUDIT_BOOKIES_TIME | Summary | 모든 bookie를 감사하는 지연 시간 분포. | | auditor_NUM_LEDGERS_CHECKED | Counter | auditor가 검사한 원장 수. | | auditor_NUM_FRAGMENTS_PER_LEDGER | Summary | 원장당 프래그먼트 수 분포. | | auditor_NUM_BOOKIES_PER_LEDGER | Summary | 원장당 bookie 수 분포. | | auditor_NUM_BOOKIE_AUDITS_DELAYED | Counter | 지연된 bookie 감사 수. | | auditor_NUM_DELAYED_BOOKIE_AUDITS_DELAYES_CANCELLED | Counter | 취소된 지연 bookie 감사 수. | | auditor_NUM_LEDGERS_NOT_ADHERING_TO_PLACEMENT_POLICY | Gauge | placement policy 검사에서 placement policy를 준수하지 않는 원장 수. | | auditor_NUM_LEDGERS_SOFTLY_ADHERING_TO_PLACEMENT_POLICY | Gauge | placement policy 검사에서 placement policy를 느슨하게 준수하는 원장 수. | | auditor_NUM_UNDERREPLICATED_LEDGERS_ELAPSED_RECOVERY_GRACE_PERIOD | Gauge | 복구 유예 기간이 경과한 복제 부족 원장 수. | | auditor_NUM_LEDGERS_HAVING_NO_REPLICA_OF_AN_ENTRY | Gauge | 모든 복제본이 누락된 항목을 가진 원장 수. | | auditor_NUM_LEDGERS_HAVING_LESS_THAN_AQ_REPLICAS_OF_AN_ENTRY | Gauge | AQ 미만의 복제본을 가진 항목이 있는 원장 수. numLedgersHavingNoReplicaOfAnEntry에 집계된 원장은 포함하지 않아요. | | auditor_NUM_LEDGERS_HAVING_LESS_THAN_WQ_REPLICAS_OF_AN_ENTRY | Gauge | WQ 미만의 복제본을 가진 항목이 있는 원장 수. numLedgersHavingLessThanAQReplicasOfAnEntry에 집계된 원장은 포함하지 않아요. | | election_attempts | Counter | auditor 선거 시도 횟수. | | replication_worker_NUM_BYTES_READ | Summary | 복제기가 읽은 항목의 크기 분포. | | replication_worker_NUM_ENTRIES_READ | Counter | 복제기가 읽은 항목 수. | | replication_worker_NUM_ENTRIES_WRITTEN | Counter | 복제기가 쓴 항목 수. | | replication_worker_NUM_BYTES_WRITTEN | Summary | 복제기가 쓴 항목의 크기 분포. | | replication_worker_READ_DATA_LATENCY | Summary | 복제기가 항목을 읽는 지연 시간 분포. | | replication_worker_WRITE_DATA_LATENCY | Summary | 복제기가 항목을 쓰는 지연 시간 분포. | | replication_worker_exceptions | Summary | 복제 관련 예외. | | replication_worker_rereplicate | Summary | 원장 재복제의 작업 통계. | | replication_worker_NUM_FULL_OR_PARTIAL_LEDGERS_REPLICATED | Counter | 재복제된 원장 수. | | replication_worker_NUM_DEFER_LEDGER_LOCK_RELEASE_OF_FAILED_LEDGER | Counter | 실패한 원장의 지연-원장-락-해제 수. | | replication_worker_NUM_ENTRIES_UNABLE_TO_READ_FOR_REPLICATION | Counter | ReplicationWorker가 읽을 수 없는 항목 수. |

Broker

브로커 메트릭은 포트 8080의 "/metrics/" 아래에 노출돼요. broker.conf 구성 파일에서 webServicePort를 다른 포트로 업데이트해 포트를 변경할 수 있어요.

브로커가 노출하는 모든 메트릭은 cluster=\$\\{pulsar_cluster\\} 레이블로 표시돼요. Pulsar 클러스터 이름은 broker.conf 파일에 구성한 \$\\{pulsar_cluster\\} 값이에요.

브로커 메트릭 (Broker metrics)

모든 브로커 메트릭은 다음 레이블로 표시돼요:

  • cluster: cluster=${pulsar_cluster}. ${pulsar_cluster}는 broker.conf 파일에 구성한 클러스터 이름이에요.

| 이름 | 유형 | 설명 | | pulsar_ml_cache_evictions | Gauge | 지난 1분 동안의 캐시 퇴거 수. | | pulsar_ml_cache_inserted_entries_total | Counter | 항목 캐시에 삽입된 항목 수. | | pulsar_ml_cache_evicted_entries_total | Counter | 항목 캐시에서 퇴거된 항목 수. | | pulsar_ml_cache_entries | Gauge | 항목 캐시의 항목 수. | | pulsar_ml_cache_hits_rate | Gauge | 브로커 측에서 초당 캐시 히트 수. | | pulsar_ml_cache_hits_throughput | Gauge | 브로커 측에서 캐시에서 검색된 데이터 양(초당 바이트). | | pulsar_ml_cache_misses_rate | Gauge | 브로커 측에서 초당 캐시 미스 수. | | pulsar_ml_cache_misses_throughput | Gauge | 브로커 측에서 캐시에서 검색할 수 없는 데이터 양(초당 바이트). | | pulsar_ml_cache_pool_active_allocations | Gauge | direct arena의 현재 활성 할당 수. | | pulsar_ml_cache_pool_active_allocations_huge | Gauge | direct arena의 현재 활성 huge 할당 수. | | pulsar_ml_cache_pool_active_allocations_normal | Gauge | direct arena의 현재 활성 normal 할당 수. | | pulsar_ml_cache_pool_active_allocations_small | Gauge | direct arena의 현재 활성 small 할당 수. | | pulsar_ml_cache_pool_allocated | Gauge | direct arena의 청크 목록 총 할당 메모리. | | pulsar_ml_cache_pool_used | Gauge | direct arena의 청크 목록 총 사용 메모리. | | pulsar_ml_cache_used_size | Gauge | 항목 페이로드 저장에 사용된 크기(바이트). | | pulsar_ml_count | Gauge | 현재 열린 관리 원장 수. | | topic_load_times (deprecated) | Summary | 밀리초로 계산된 토픽 로드 지연 시간. | | pulsar_topic_load_times | Summary | 밀리초로 계산된 토픽 로드 지연 시간. | | pulsar_broker_topics_count | Gauge | 이 브로커의 Pulsar 토픽 수. | | pulsar_broker_subscriptions_count | Gauge | 이 브로커의 Pulsar 구독 수. | | pulsar_broker_producers_count | Gauge | 이 브로커에 연결된 활성 프로듀서 수. | | pulsar_broker_consumers_count | Gauge | 이 브로커에 연결된 활성 컨슈머 수. | | pulsar_broker_rate_in | Gauge | 이 브로커로 들어오는 총 메시지 속도(초당 메시지). | | pulsar_broker_rate_out | Gauge | 이 브로커에서 나가는 총 메시지 속도(초당 메시지). | | pulsar_broker_throughput_in | Gauge | 이 브로커로 들어오는 총 처리량(초당 바이트). | | pulsar_broker_throughput_out | Gauge | 이 브로커에서 나가는 총 처리량(초당 바이트). | | pulsar_broker_storage_size | Gauge | 이 브로커의 모든 토픽 총 저장 크기(바이트). | | pulsar_broker_storage_logical_size | Gauge | 이 브로커의 모든 토픽 저장 크기(복제본 없음, 바이트). | | pulsar_broker_storage_write_rate | Gauge | 이 브로커에 대해 저장소에 쓰여진 총 메시지 배치(항목)(초당 메시지 배치). | | pulsar_broker_storage_read_rate | Gauge | 이 브로커에 대해 저장소에서 읽힌 총 메시지 배치(항목)(초당 메시지 배치). | | pulsar_broker_msg_backlog | Gauge | 이 브로커의 총 메시지 백로그 수(항목). | | pulsar_storage_backlog_quota_check_duration_seconds | Histogram | 백로그 할당량 검사 프로세스의 지속 시간(초). | | pulsar_broker_storage_backlog_quota_exceeded_evictions_total | Counter | 백로그가 할당량을 초과한 이후 퇴거된 횟수. quota_type = (time | size) 레이블 포함. |

BookKeeper 클라이언트 메트릭 (BookKeeper client metrics)

BookKeeper 클라이언트 메트릭은 기본적으로 비활성화돼요. broker.confbookkeeperClientExposeStatsToPrometheus=true를 설정해 BookKeeper 클라이언트 메트릭을 노출해요. BookKeeper 클라이언트가 연결한 각 bookie의 메트릭을 얻을 수 있는 PerChannel BookKeeper 클라이언트 메트릭을 노출하려면 broker.confbookkeeperClientLimitStatsLogging=true를 설정할 수 있어요. PerChannel BookKeeper 클라이언트 메트릭을 활성화하면 고부하 상황에서 성능 문제가 발생할 수 있다는 점에 주의해요.

모든 BookKeeper 클라이언트 메트릭은 다음 레이블로 표시돼요:

  • cluster: cluster=\$\\{pulsar_cluster\\}. \$\\{pulsar_cluster\\}broker.conf에 구성한 클러스터 이름이에요.

| 이름 | 유형 | 설명 | | pulsar_managedLedger_client_bookkeeper_client_BOOKIE_QUARANTINE | Counter | 격리(quarantine)될 bookie 클라이언트 수. | | pulsar_managedLedger_client_BookKeeperClientWorker_task_execution | Summary | 밀리초로 계산된 작업 실행 지연 시간. | | pulsar_managedLedger_client_BookKeeperClientWorker_task_queued | Summary | 밀리초로 계산된 작업 큐 대기 지연 시간. | | pulsar_managedLedger_client_bookkeeper_client_ADD_ENTRY | Summary | 밀리초로 계산된 항목 추가 지연 시간. | | pulsar_managedLedger_client_bookkeeper_client_READ_ENTRY | Summary | 밀리초로 계산된 항목 읽기 지연 시간. | | pulsar_managedLedger_client_bookkeeper_client_READ_LAC | Summary | 밀리초로 계산된 Read Last Add Confirmed 요청 지연 시간. | | pulsar_managedLedger_client_bookkeeper_client_WRITE_LAC | Summary | 밀리초로 계산된 Write Last Add Confirmed 요청 지연 시간. |

네임스페이스 메트릭 (Namespace metrics)

네임스페이스 메트릭은 exposeTopicLevelMetricsInPrometheusfalse로 설정된 경우에만 노출돼요.

모든 네임스페이스 메트릭은 다음 레이블로 표시돼요:

  • cluster: cluster=\$\\{pulsar_cluster\\}. \$\\{pulsar_cluster\\}broker.conf에 구성한 클러스터 이름이에요.
  • namespace: namespace=\$\\{pulsar_namespace\\}. \$\\{pulsar_namespace\\}는 네임스페이스 이름이에요.

| 이름 | 유형 | 설명 | | pulsar_topics_count | Gauge | 이 브로커가 소유한 네임스페이스의 Pulsar 토픽 수. | | pulsar_subscriptions_count | Gauge | 이 브로커가 제공하는 네임스페이스의 Pulsar 구독 수. | | pulsar_producers_count | Gauge | 이 브로커에 연결된 네임스페이스의 활성 프로듀서 수. | | pulsar_consumers_count | Gauge | 이 브로커에 연결된 네임스페이스의 활성 컨슈머 수. | | pulsar_rate_in | Gauge | 이 브로커로 들어오는 네임스페이스의 총 메시지 속도(초당 메시지). | | pulsar_rate_out | Gauge | 이 브로커에서 나가는 네임스페이스의 총 메시지 속도(초당 메시지). | | pulsar_throughput_in | Gauge | 이 브로커로 들어오는 네임스페이스의 총 처리량(초당 바이트). | | pulsar_throughput_out | Gauge | 이 브로커에서 나가는 네임스페이스의 총 처리량(초당 바이트). | | pulsar_consumer_msg_ack_rate | Gauge | 이 브로커가 소유한 네임스페이스의 총 메시지 확인 속도(초당 메시지). | | pulsar_storage_size | Gauge | 이 브로커가 소유한 네임스페이스의 토픽 총 저장 크기(바이트). | | pulsar_storage_logical_size | Gauge | 브로커가 소유한 네임스페이스의 토픽 저장 크기(복제본 없음, 바이트). | | pulsar_storage_backlog_size | Gauge | 이 브로커가 소유한 네임스페이스의 토픽 총 백로그 크기(바이트). | | pulsar_storage_backlog_quota_exceeded_evictions_total | Counter | 백로그가 할당량을 초과한 이후 퇴거된 횟수(백로그 할당량 보존 정책consumer_backlog_eviction으로 설정된 경우). quota_type = (time | size) 레이블도 포함. | | pulsar_storage_offloaded_size | Gauge | 계층형 저장소로 오프로딩된 네임스페이스의 총 데이터 양(바이트). | | pulsar_storage_write_rate | Gauge | 이 네임스페이스에 대해 저장소에 쓰여진 총 메시지 배치(항목)(초당 메시지 배치). | | pulsar_storage_read_rate | Gauge | 이 네임스페이스에 대해 저장소에서 읽힌 총 메시지 배치(항목)(초당 메시지 배치). | | pulsar_subscription_delayed | Gauge | 디스패치가 지연된 총 메시지 배치(항목) 수. | | pulsar_storage_write_latency_le_* | Histogram | 저장소 쓰기 지연 시간이 주어진 임계값 미만인 네임스페이스의 항목 비율. 사용 가능한 임계값:

  • pulsar_storage_write_latency_le_0_5: <= 0.5ms
  • pulsar_storage_write_latency_le_1: <= 1ms
  • pulsar_storage_write_latency_le_5: <= 5ms
  • pulsar_storage_write_latency_le_10: <= 10ms
  • pulsar_storage_write_latency_le_20: <= 20ms
  • pulsar_storage_write_latency_le_50: <= 50ms
  • pulsar_storage_write_latency_le_100: <= 100ms
  • pulsar_storage_write_latency_le_200: <= 200ms
  • pulsar_storage_write_latency_le_1000: <= 1s
  • pulsar_storage_write_latency_le_overflow: > 1s | | pulsar_entry_size_le_* | Histogram | 항목 크기가 주어진 임계값 미만인 네임스페이스의 항목 비율. 사용 가능한 임계값:
  • pulsar_entry_size_le_128: <= 128 bytes
  • pulsar_entry_size_le_512: <= 512 bytes
  • pulsar_entry_size_le_1_kb: <= 1 KB
  • pulsar_entry_size_le_2_kb: <= 2 KB
  • pulsar_entry_size_le_4_kb: <= 4 KB
  • pulsar_entry_size_le_16_kb: <= 16 KB
  • pulsar_entry_size_le_100_kb: <= 100 KB
  • pulsar_entry_size_le_1_mb: <= 1 MB
  • pulsar_entry_size_le_overflow: > 1 MB | | pulsar_delayed_message_index_size_bytes | Gauge | 이 브로커가 소유한 네임스페이스의 DelayedDeliveryTracker가 할당한 총 메모리 크기(바이트). | | pulsar_delayed_message_index_bucket_total | Gauge | 지연 메시지 인덱스 버킷 수(불변 버킷 + LastMutableBucket). | | pulsar_delayed_message_index_loaded | Gauge | 메모리에 있는 지연 메시지 인덱스의 총 수. | | pulsar_delayed_message_index_bucket_snapshot_size_bytes | Gauge | 지연 메시지 인덱스 버킷 스냅샷의 총 크기(바이트). | | pulsar_delayed_message_index_bucket_op_count | Counter | 지연 메시지 인덱스 버킷 스냅샷 작업의 총 수. state 레이블은 succeed,failed,all(all은 모든 상태의 총 수)일 수 있고, type 레이블은 create,load,delete,merge일 수 있어요. | | pulsar_delayed_message_index_bucket_op_latency_ms | Histogram | 주어진 분위수(임계값)에서의 지연 메시지 인덱스 버킷 스냅샷 작업 지연 시간. type 레이블은 create,load,delete,merge일 수 있어요. quantile 레이블은 다음일 수 있어요:
  • quantile="50"은 작업 지연 시간 (0ms, 50ms]
  • quantile="100"은 작업 지연 시간 (50ms, 100ms]
  • quantile="500"은 작업 지연 시간 (100ms, 500ms]
  • quantile="1000"은 작업 지연 시간 (500ms, 1s]
  • quantile="5000"은 작업 지연 시간 (1s, 5s]
  • quantile="30000"은 작업 지연 시간 (5s, 30s]
  • quantile="60000"은 작업 지연 시간 (30s, 60s]
  • quantile="overflow"는 작업 지연 시간 > 1m |

토픽 메트릭 (Topic metrics)

토픽 메트릭은 exposeTopicLevelMetricsInPrometheustrue로 설정된 경우에만 노출돼요.

모든 토픽 메트릭은 다음 레이블로 표시돼요:

  • cluster: cluster=\$\\{pulsar_cluster\\}. \$\\{pulsar_cluster\\}broker.conf에 구성한 클러스터 이름이에요.
  • namespace: namespace=\$\\{pulsar_namespace\\}. \$\\{pulsar_namespace\\}는 네임스페이스 이름이에요.
  • topic: topic=\$\\{pulsar_topic\\}. \$\\{pulsar_topic\\}는 토픽 이름이에요.

| 이름 | 유형 | 설명 | | pulsar_subscriptions_count | Gauge | 이 브로커가 제공하는 토픽의 Pulsar 구독 수. | | pulsar_producers_count | Gauge | 이 브로커에 연결된 토픽의 활성 프로듀서 수. | | pulsar_consumers_count | Gauge | 이 브로커에 연결된 토픽의 활성 컨슈머 수. | | pulsar_rate_in | Gauge | 이 브로커로 들어오는 토픽의 총 메시지 속도(초당 메시지). | | pulsar_rate_out | Gauge | 이 브로커에서 나가는 토픽의 총 메시지 속도(초당 메시지). | | pulsar_publish_rate_limit_times | Gauge | 게시 요율 제한이 트리거된 횟수. | | pulsar_throughput_in | Gauge | 이 브로커로 들어오는 토픽의 총 처리량(초당 바이트). | | pulsar_throughput_out | Gauge | 이 브로커에서 나가는 토픽의 총 처리량(초당 바이트). | | pulsar_consumer_msg_ack_rate | Gauge | 이 브로커에 연결된 토픽의 총 메시지 확인 속도(초당 메시지). | | pulsar_storage_size | Gauge | 이 브로커가 소유한 토픽의 토픽 총 저장 크기(바이트). | | pulsar_storage_logical_size | Gauge | 브로커가 소유한 네임스페이스의 토픽 저장 크기(복제본 없음, 바이트). | | pulsar_storage_backlog_size | Gauge | 이 브로커가 소유한 토픽의 토픽 총 백로그 크기(바이트). | | pulsar_storage_offloaded_size | Gauge | 계층형 저장소로 오프로딩된 이 토픽의 총 데이터 양(바이트). | | pulsar_storage_backlog_quota_limit | Gauge | 백로그 할당량을 제한하는 이 토픽의 데이터 총량(바이트). | | pulsar_storage_backlog_age_seconds | Gauge | 가장 오래된 미확인 메시지(백로그)의 나이. | | pulsar_storage_backlog_quota_exceeded_evictions_total | Counter | 백로그가 할당량을 초과한 이후 퇴거된 횟수. quota_type = (time | size) 레이블 포함. | | pulsar_storage_write_rate | Gauge | 이 토픽에 대해 저장소에 쓰여진 총 메시지 배치(항목)(초당 메시지 배치). | | pulsar_storage_read_rate | Gauge | 이 토픽에 대해 저장소에서 읽힌 총 메시지 배치(항목)(초당 메시지 배치). | | pulsar_subscription_delayed | Gauge | 디스패치가 지연된 총 메시지 배치(항목) 수. | | pulsar_storage_write_latency_le_* | Histogram | 저장소 쓰기 지연 시간이 주어진 임계값 미만인 토픽의 항목 비율. 사용 가능한 임계값:

  • pulsar_storage_write_latency_le_0_5: <= 0.5ms
  • pulsar_storage_write_latency_le_1: <= 1ms
  • pulsar_storage_write_latency_le_5: <= 5ms
  • pulsar_storage_write_latency_le_10: <= 10ms
  • pulsar_storage_write_latency_le_20: <= 20ms
  • pulsar_storage_write_latency_le_50: <= 50ms
  • pulsar_storage_write_latency_le_100: <= 100ms
  • pulsar_storage_write_latency_le_200: <= 200ms
  • pulsar_storage_write_latency_le_1000: <= 1s
  • pulsar_storage_write_latency_le_overflow: > 1s | | pulsar_entry_size_le_* | Histogram | 항목 크기가 주어진 임계값 미만인 토픽의 항목 비율. 사용 가능한 임계값:
  • pulsar_entry_size_le_128: <= 128 bytes
  • pulsar_entry_size_le_512: <= 512 bytes
  • pulsar_entry_size_le_1_kb: <= 1 KB
  • pulsar_entry_size_le_2_kb: <= 2 KB
  • pulsar_entry_size_le_4_kb: <= 4 KB
  • pulsar_entry_size_le_16_kb: <= 16 KB
  • pulsar_entry_size_le_100_kb: <= 100 KB
  • pulsar_entry_size_le_1_mb: <= 1 MB
  • pulsar_entry_size_le_overflow: > 1 MB | | pulsar_in_bytes_total | Counter | 이 토픽에 대해 받은 총 메시지 바이트 수. | | pulsar_in_messages_total | Counter | 이 토픽에 대해 받은 총 메시지 수. | | pulsar_out_bytes_total | Counter | 이 토픽에서 읽은 총 메시지 바이트 수. | | pulsar_out_messages_total | Counter | 이 토픽에서 읽은 총 메시지 수. | | pulsar_compaction_removed_event_count | Gauge | 컴팩션의 총 제거 이벤트 수. | | pulsar_compaction_succeed_count | Gauge | 컴팩션의 총 성공 수. | | pulsar_compaction_failed_count | Gauge | 컴팩션의 총 실패 수. | | pulsar_compaction_duration_time_in_mills | Gauge | 컴팩션의 지속 시간. | | pulsar_compaction_read_throughput | Gauge | 컴팩션의 읽기 처리량. | | pulsar_compaction_write_throughput | Gauge | 컴팩션의 쓰기 처리량. | | pulsar_compaction_latency_le_* | Histogram | 주어진 분위수에서의 컴팩션 지연 시간. 사용 가능한 임계값:
  • pulsar_compaction_latency_le_0_5: <= 0.5ms
  • pulsar_compaction_latency_le_1: <= 1ms
  • pulsar_compaction_latency_le_5: <= 5ms
  • pulsar_compaction_latency_le_10: <= 10ms
  • pulsar_compaction_latency_le_20: <= 20ms
  • pulsar_compaction_latency_le_50: <= 50ms
  • pulsar_compaction_latency_le_100: <= 100ms
  • pulsar_compaction_latency_le_200: <= 200ms
  • pulsar_compaction_latency_le_1000: <= 1s
  • pulsar_compaction_latency_le_overflow: > 1s | | pulsar_compaction_compacted_entries_count | Gauge | 컴팩트된 항목의 총 수. | | pulsar_compaction_compacted_entries_size | Gauge | 컴팩트된 항목의 총 크기. | | pulsar_txn_tb_active_total | Gauge | 이 토픽의 활성 트랜잭션 수. | | pulsar_txn_tb_aborted_total | Counter | 토픽의 중단된 트랜잭션 수. | | pulsar_txn_tb_committed_total | Counter | 토픽의 커밋된 트랜잭션 수. | | pulsar_delayed_message_index_size_bytes | Gauge | 이 브로커가 소유한 토픽의 DelayedDeliveryTracker가 할당한 총 메모리 크기(바이트). | | pulsar_delayed_message_index_bucket_total | Gauge | 지연 메시지 인덱스 버킷 수(불변 버킷 + LastMutableBucket). | | pulsar_delayed_message_index_loaded | Gauge | 메모리에 있는 지연 메시지 인덱스의 총 수. | | pulsar_delayed_message_index_bucket_snapshot_size_bytes | Gauge | 지연 메시지 인덱스 버킷 스냅샷의 총 크기(바이트). | | pulsar_delayed_message_index_bucket_op_count | Counter | 지연 메시지 인덱스 버킷 스냅샷 작업의 총 수. state 레이블은 succeed,failed,all(all은 모든 상태의 총 수)일 수 있고, type 레이블은 create,load,delete,merge일 수 있어요. | | pulsar_delayed_message_index_bucket_op_latency_ms | Histogram | 주어진 분위수(임계값)에서의 지연 메시지 인덱스 버킷 스냅샷 작업 지연 시간. type 레이블은 create,load,delete,merge일 수 있어요. quantile 레이블은 다음일 수 있어요:
  • quantile="50"은 작업 지연 시간 (0ms, 50ms]
  • quantile="100"은 작업 지연 시간 (50ms, 100ms]
  • quantile="500"은 작업 지연 시간 (100ms, 500ms]
  • quantile="1000"은 작업 지연 시간 (500ms, 1s]
  • quantile="5000"은 작업 지연 시간 (1s, 5s]
  • quantile="30000"은 작업 지연 시간 (5s, 30s]
  • quantile="60000"은 작업 지연 시간 (30s, 60s]
  • quantile="overflow"는 작업 지연 시간 > 1m |

복제 메트릭 (Replication metrics)

네임스페이스가 여러 Pulsar 클러스터 간 복제되도록 구성된 경우, replicationMetricsEnabled가 활성화되면 해당 복제 메트릭도 노출돼요.

모든 복제 메트릭은 remoteCluster=\$\\{pulsar_remote_cluster\\}로도 레이블이 표시돼요.

| 이름 | 유형 | 설명 | | pulsar_replication_rate_in | Gauge | 원격 클러스터에서 복제되는 네임스페이스의 총 메시지 속도(메시지/초). | | pulsar_replication_rate_out | Gauge | 원격 클러스터로 복제되는 네임스페이스의 총 메시지 속도(메시지/초). | | pulsar_replication_throughput_in | Gauge | 원격 클러스터에서 복제되는 네임스페이스의 총 처리량(바이트/초). | | pulsar_replication_throughput_out | Gauge | 원격 클러스터로 복제되는 네임스페이스의 총 처리량(바이트/초). | | pulsar_replication_backlog | Gauge | 원격 클러스터로 복제되는 네임스페이스의 총 백로그(메시지). | | pulsar_replication_rate_expired | Gauge | 만료된 메시지의 총 속도(메시지/초). | | pulsar_replication_connected_count | Gauge | 원격 클러스터로 복제하기 위해 실행 중인 복제 구독자 수. | | pulsar_replication_delay_in_seconds | Gauge | 메시지가 생성된 시점부터 복제되려는 시점까지의 시간(초). |

토픽 룩업 메트릭 (Topic lookup metrics)

| 이름 | 유형 | 설명 | | pulsar_broker_load_manager_bundle_assignment | Gauge | 번들 소유권 작업의 지연 시간 요약. | | pulsar_broker_lookup | Gauge | 모든 룩업 작업의 지연 시간. | | pulsar_broker_lookup_redirects | Gauge | 리다이렉트된 룩업 요청 수. | | pulsar_broker_lookup_answers | Gauge | 룩업 응답 수(즉 리다이렉트되지 않은 요청). | | pulsar_broker_lookup_failures | Gauge | 룩업 실패 수. | | pulsar_broker_lookup_pending_requests | Gauge | 브로커의 보류 중인 룩업 수. 임계값에 도달하면 새 요청이 거부돼요. | | pulsar_broker_topic_load_pending_requests | Gauge | 보류 중인 토픽 작업의 로드. |

ManagedLedger 메트릭 (ManagedLedger metrics)

모든 managedLedger 메트릭은 다음 레이블로 표시돼요:

  • cluster: cluster=${pulsar_cluster}. ${pulsar_cluster}는 broker.conf 파일에 구성한 클러스터 이름이에요.
  • namespace: namespace=${pulsar_namespace}. ${pulsar_namespace}는 네임스페이스 이름이에요.
  • quantile: quantile=${quantile}. Quantile은 Histogram 유형 메트릭에만 해당하며, 주어진 버킷의 임계값을 나타내요.

| 이름 | 유형 | 설명 | | pulsar_ml_AddEntryBytesRate | Gauge | 추가된 메시지의 B/s 속도. | | pulsar_ml_AddEntryWithReplicasBytesRate | Gauge | 복제본 포함 추가된 메시지의 B/s 속도. | | pulsar_ml_AddEntryErrors | Gauge | 실패한 addEntry 요청 수. | | pulsar_ml_AddEntryLatencyBuckets | Histogram | 브로커 측 큐에서 대기한 시간을 포함한, 주어진 분위수(임계값)에서의 원장 항목 추가 지연 시간. 사용 가능한 분위수:

  • quantile="0.0_0.5"은 AddEntryLatency (0.0ms, 0.5ms]
  • quantile="0.5_1.0"은 AddEntryLatency (0.5ms, 1.0ms]
  • quantile="1.0_5.0"은 AddEntryLatency (1ms, 5ms]
  • quantile="5.0_10.0"은 AddEntryLatency (5ms, 10ms]
  • quantile="10.0_20.0"은 AddEntryLatency (10ms, 20ms]
  • quantile="20.0_50.0"은 AddEntryLatency (20ms, 50ms]
  • quantile="50.0_100.0"은 AddEntryLatency (50ms, 100ms]
  • quantile="100.0_200.0"은 AddEntryLatency (100ms, 200ms]
  • quantile="200.0_1000.0"은 AddEntryLatency (200ms, 1s] | | pulsar_ml_AddEntryLatencyBuckets_OVERFLOW | Gauge | AddEntryLatency가 1초보다 긴 횟수. | | pulsar_ml_AddEntryMessagesRate | Gauge | 추가된 메시지의 msg/s 속도. | | pulsar_ml_AddEntrySucceed | Gauge | 성공한 addEntry 요청 수. | | pulsar_ml_EntrySizeBuckets | Histogram | 주어진 분위수에서의 원장 추가 항목 크기. 사용 가능한 분위수:
  • quantile="0.0_128.0"은 EntrySize (0byte, 128byte]
  • quantile="128.0_512.0"은 EntrySize (128byte, 512byte]
  • quantile="512.0_1024.0"은 EntrySize (512byte, 1KB]
  • quantile="1024.0_2048.0"은 EntrySize (1KB, 2KB]
  • quantile="2048.0_4096.0"은 EntrySize (2KB, 4KB]
  • quantile="4096.0_16384.0"은 EntrySize (4KB, 16KB]
  • quantile="16384.0_102400.0"은 EntrySize (16KB, 100KB]
  • quantile="102400.0_1232896.0"은 EntrySize (100KB, 1MB] | | pulsar_ml_EntrySizeBuckets_OVERFLOW | Gauge | EntrySize가 1MB보다 큰 횟수. | | pulsar_ml_LedgerSwitchLatencyBuckets | Histogram | 주어진 분위수에서의 원장 전환 지연 시간. 사용 가능한 분위수:
  • quantile="0.0_0.5"은 EntrySize (0ms, 0.5ms]
  • quantile="0.5_1.0"은 EntrySize (0.5ms, 1ms]
  • quantile="1.0_5.0"은 EntrySize (1ms, 5ms]
  • quantile="5.0_10.0"은 EntrySize (5ms, 10ms]
  • quantile="10.0_20.0"은 EntrySize (10ms, 20ms]
  • quantile="20.0_50.0"은 EntrySize (20ms, 50ms]
  • quantile="50.0_100.0"은 EntrySize (50ms, 100ms]
  • quantile="100.0_200.0"은 EntrySize (100ms, 200ms]
  • quantile="200.0_1000.0"은 EntrySize (200ms, 1000ms] | | pulsar_ml_LedgerSwitchLatencyBuckets_OVERFLOW | Gauge | 원장 전환 지연 시간이 1초보다 긴 횟수. | | pulsar_ml_LedgerAddEntryLatencyBuckets | Histogram | bookie 클라이언트가 브로커에서 BookKeeper 서비스로 원장 항목을 영속화하는 지연 시간(주어진 분위수(임계값)). 사용 가능한 분위수:
  • quantile="0.0_0.5"은 LedgerAddEntryLatency (0.0ms, 0.5ms]
  • quantile="0.5_1.0"은 LedgerAddEntryLatency (0.5ms, 1.0ms]
  • quantile="1.0_5.0"은 LedgerAddEntryLatency (1ms, 5ms]
  • quantile="5.0_10.0"은 LedgerAddEntryLatency (5ms, 10ms]
  • quantile="10.0_20.0"은 LedgerAddEntryLatency (10ms, 20ms]
  • quantile="20.0_50.0"은 LedgerAddEntryLatency (20ms, 50ms]
  • quantile="50.0_100.0"은 LedgerAddEntryLatency (50ms, 100ms]
  • quantile="100.0_200.0"은 LedgerAddEntryLatency (100ms, 200ms]
  • quantile="200.0_1000.0"은 LedgerAddEntryLatency (200ms, 1s] | | pulsar_ml_LedgerAddEntryLatencyBuckets_OVERFLOW | Gauge | LedgerAddEntryLatency가 1초보다 긴 횟수. | | pulsar_ml_MarkDeleteRate | Gauge | mark-delete 작업 속도(ops/s). | | pulsar_ml_NumberOfMessagesInBacklog | Gauge | 모든 컨슈머의 백로그 메시지 수. | | pulsar_ml_ReadEntriesBytesRate | Gauge | 읽힌 메시지의 B/s 속도. | | pulsar_ml_ReadEntriesErrors | Gauge | 실패한 readEntries 요청 수. | | pulsar_ml_ReadEntriesRate | Gauge | 읽힌 메시지의 msg/s 속도. | | pulsar_ml_ReadEntriesSucceeded | Gauge | 성공한 readEntries 요청 수. | | pulsar_ml_StoredMessagesSize | Gauge | 활성 원장의 메시지 총 크기(저장된 여러 복사본을 고려). |

관리 커서 확인 상태 (Managed cursor acknowledgment state)

확인 상태는 먼저 원장에 영속화돼요. 확인 상태가 원장에 영속화되지 못하면 ZooKeeper에 영속화돼요. 확인 통계를 추적하려면 관리 커서에 대한 메트릭을 구성할 수 있어요.

모든 커서 확인 상태 메트릭은 다음 레이블로 표시돼요:

  • namespace: namespace=\$\\{pulsar_namespace\\}. \$\\{pulsar_namespace\\}는 네임스페이스 이름이에요.
  • ledger_name: ledger_name=\$\\{pulsar_ledger_name\\}. \$\\{pulsar_ledger_name\\}는 원장 이름이에요.
  • cursor_name: ledger_name=\$\\{pulsar_cursor_name\\}. \$\\{pulsar_cursor_name\\}는 커서 이름이에요.

| 이름 | 유형 | 설명 | | pulsar_ml_cursor_persistLedgerSucceed | Gauge | 원장에 영속화된 확인 상태 수. | | pulsar_ml_cursor_persistLedgerErrors | Gauge | 확인 상태가 원장에 영속화되지 못할 때 발생한 원장 오류 수. | | pulsar_ml_cursor_persistZookeeperSucceed | Gauge | ZooKeeper에 영속화된 확인 상태 수. | | pulsar_ml_cursor_persistZookeeperErrors | Gauge | 확인 상태가 ZooKeeper에 영속화되지 못할 때 발생한 원장 오류 수. | | pulsar_ml_cursor_nonContiguousDeletedMessagesRange | Gauge | 비연속 삭제 메시지 범위 수. | | pulsar_ml_cursor_writeLedgerSize | Gauge | 원장에 쓰는 크기. | | pulsar_ml_cursor_writeLedgerLogicalSize | Gauge | 원장에 쓰는 크기(복제본 없음). | | pulsar_ml_cursor_readLedgerSize | Gauge | 원장에서 읽는 크기. |

구독 메트릭 (Subscription metrics)

구독 메트릭은 exposeTopicLevelMetricsInPrometheustrue로 설정된 경우에만 노출돼요.

모든 구독 메트릭은 다음 레이블로 표시돼요:

  • cluster: cluster=\$\\{pulsar_cluster\\}. \$\\{pulsar_cluster\\}broker.conf에 구성한 클러스터 이름이에요.
  • namespace: namespace=\$\\{pulsar_namespace\\}. \$\\{pulsar_namespace\\}는 네임스페이스 이름이에요.
  • topic: topic=\$\\{pulsar_topic\\}. \$\\{pulsar_topic\\}는 토픽 이름이에요.
  • subscription: subscription=\$\\{subscription\\}. \$\\{subscription\\}는 토픽 구독 이름이에요.

| 이름 | 유형 | 설명 | | pulsar_subscription_back_log | Gauge | 구독의 미확인 상태 항목(메시지/배치 메시지) 수. | | pulsar_subscription_back_log_no_delayed | Gauge | 지연 메시지(항목)를 포함하지 않는 구독의 백로그. | | pulsar_subscription_delayed | Gauge | 구독에 대해 지연 디스패치될 총 메시지 수(메시지). | | pulsar_subscription_msg_rate_redeliver | Gauge | 재전송되는 메시지의 총 메시지 속도(초당 메시지). | | pulsar_subscription_unacked_messages | Gauge | 컨슈머에게 디스패치됐지만 아직 확인되지 않은 항목(메시지/배치 메시지) 수. | | pulsar_subscription_blocked_on_unacked_messages | Gauge | 구독이 미확인 메시지에 대해 차단되었는지 여부.

  • 1은 구독이 미확인 메시지가 ack될 때까지 대기하며 차단됨을 의미.
  • 0은 구독이 미확인 메시지가 ack될 때까지 대기하며 차단되지 않음을 의미. | | pulsar_subscription_msg_rate_out | Gauge | 구독의 총 메시지 디스패치 속도(초당 메시지). | | pulsar_subscription_msg_throughput_out | Gauge | 구독의 총 메시지 디스패치 처리량(초당 바이트). | | pulsar_subscription_msg_ack_rate | Gauge | 구독의 총 메시지 확인 속도(초당 메시지). | | pulsar_subscription_last_expire_timestamp | Gauge | 구독의 마지막 메시지 만료 타임스탬프. | | pulsar_subscription_last_acked_timestamp | Gauge | 구독의 마지막 확인 메시지 타임스탬프. | | pulsar_subscription_last_consumed_flow_timestamp | Gauge | 구독의 마지막 수신 consume flow 명령 타임스탬프. | | pulsar_subscription_last_consumed_timestamp | Gauge | 구독의 마지막 소비 메시지 타임스탬프. | | pulsar_subscription_last_mark_delete_advanced_timestamp | Gauge | 구독의 마지막 MarkDelete 위치 고급 타임스탬프. | | pulsar_subscription_msg_rate_expired | Gauge | 이 구독에서 만료된 메시지의 총 속도(초당 메시지). | | pulsar_subscription_total_msg_expired | Gauge | 이 구독에서 만료된 총 메시지 수. | | pulsar_subscription_msg_drop_rate | Gauge | 이 구독에서 버려진 메시지의 속도(초당 메시지). | | pulsar_subscription_consumers_count | Gauge | 이 구독에 연결된 컨슈머 수. | | pulsar_subscription_filter_processed_msg_count | Counter | EntryFilter가 처리한 메시지 수. | | pulsar_subscription_filter_accepted_msg_count | Counter | EntryFilter가 수락한 메시지 수. | | pulsar_subscription_filter_rejected_msg_count | Counter | EntryFilter가 거부한 메시지 수. | | pulsar_subscription_filter_rescheduled_msg_count | Counter | EntryFilter가 재스케줄한 메시지 수. | | pulsar_delayed_message_index_size_bytes | Gauge | 이 브로커가 소유한 구독의 DelayedDeliveryTracker가 할당한 총 메모리 크기(바이트). | | pulsar_delayed_message_index_bucket_total | Gauge | 지연 메시지 인덱스 버킷 수(불변 버킷 + LastMutableBucket). | | pulsar_delayed_message_index_loaded | Gauge | 메모리에 있는 지연 메시지 인덱스의 총 수. | | pulsar_delayed_message_index_bucket_snapshot_size_bytes | Gauge | 지연 메시지 인덱스 버킷 스냅샷의 총 크기(바이트). | | pulsar_delayed_message_index_bucket_op_count | Counter | 지연 메시지 인덱스 버킷 스냅샷 작업의 총 수. state 레이블은 succeed,failed,all(all은 모든 상태의 총 수)일 수 있고, type 레이블은 create,load,delete,merge일 수 있어요. | | pulsar_delayed_message_index_bucket_op_latency_ms | Histogram | 주어진 분위수(임계값)에서의 지연 메시지 인덱스 버킷 스냅샷 작업 지연 시간. type 레이블은 create,load,delete,merge일 수 있어요. quantile 레이블은 다음일 수 있어요:
  • quantile="50"은 작업 지연 시간 (0ms, 50ms]
  • quantile="100"은 작업 지연 시간 (50ms, 100ms]
  • quantile="500"은 작업 지연 시간 (100ms, 500ms]
  • quantile="1000"은 작업 지연 시간 (500ms, 1s]
  • quantile="5000"은 작업 지연 시간 (1s, 5s]
  • quantile="30000"은 작업 지연 시간 (5s, 30s]
  • quantile="60000"은 작업 지연 시간 (30s, 60s]
  • quantile="overflow"는 작업 지연 시간 > 1m |

컨슈머 메트릭 (Consumer metrics)

컨슈머 메트릭은 exposeTopicLevelMetricsInPrometheusexposeConsumerLevelMetricsInPrometheus가 모두 true로 설정된 경우에만 노출돼요.

모든 컨슈머 메트릭은 다음 레이블로 표시돼요:

  • cluster: cluster=\$\\{pulsar_cluster\\}. \$\\{pulsar_cluster\\}broker.conf에 구성한 클러스터 이름이에요.
  • namespace: namespace=\$\\{pulsar_namespace\\}. \$\\{pulsar_namespace\\}는 네임스페이스 이름이에요.
  • topic: topic=\$\\{pulsar_topic\\}. \$\\{pulsar_topic\\}는 토픽 이름이에요.
  • subscription: subscription=\$\\{subscription\\}. \$\\{subscription\\}는 토픽 구독 이름이에요.
  • consumer_name: consumer_name=\$\\{consumer_name\\}. \$\\{consumer_name\\}는 토픽 컨슈머 이름이에요.
  • consumer_id: consumer_id=\$\\{consumer_id\\}. \$\\{consumer_id\\}는 토픽 컨슈머 ID예요.

| 이름 | 유형 | 설명 | | pulsar_consumer_msg_rate_redeliver | Gauge | 재전송되는 메시지의 총 메시지 속도(초당 메시지). | | pulsar_consumer_unacked_messages | Gauge | 컨슈머의 총 미확인 메시지 수(메시지). | | pulsar_consumer_blocked_on_unacked_messages | Gauge | 컨슈머가 미확인 메시지에 대해 차단되었는지 여부.

  • 1은 컨슈머가 미확인 메시지가 ack될 때까지 대기하며 차단됨을 의미.
  • 0은 컨슈머가 미확인 메시지가 ack될 때까지 대기하며 차단되지 않음을 의미. | | pulsar_consumer_msg_rate_out | Gauge | 컨슈머의 총 메시지 디스패치 속도(초당 메시지). | | pulsar_consumer_msg_ack_rate | Gauge | 메시지 ack의 총 속도(초당 메시지). | | pulsar_consumer_msg_throughput_out | Gauge | 컨슈머의 총 메시지 디스패치 처리량(초당 바이트). | | pulsar_consumer_available_permits | Gauge | 컨슈머의 사용 가능한 허가(permit). |

관리 원장 bookie 클라이언트 메트릭 (Managed ledger bookie client metrics)

모든 관리 원장 bookie 클라이언트 메트릭은 다음 레이블로 표시돼요:

  • cluster: cluster=\$\\{pulsar_cluster\\}. \$\\{pulsar_cluster\\}broker.conf에 구성한 클러스터 이름이에요.

| 이름 | 유형 | 설명 | | pulsar_managedLedger_client_bookkeeper_ml_scheduler_completed_tasks_* | Gauge | 스케줄러 실행기가 완료한 작업 수. 메트릭 수는 broker.confmanagedLedgerNumSchedulerThreads로 구성한 스케줄러 실행기 스레드 수에 따라 결정돼요. | | pulsar_managedLedger_client_bookkeeper_ml_scheduler_queue_* | Gauge | 스케줄러 실행기 큐에 대기 중인 작업 수. 메트릭 수는 broker.confmanagedLedgerNumSchedulerThreads로 구성한 스케줄러 실행기 스레드 수에 따라 결정돼요. | | pulsar_managedLedger_client_bookkeeper_ml_scheduler_total_tasks_* | Gauge | 스케줄러 실행기가 받은 총 작업 수. 메트릭 수는 broker.confmanagedLedgerNumSchedulerThreads로 구성한 스케줄러 실행기 스레드 수에 따라 결정돼요. | | pulsar_managedLedger_client_bookkeeper_ml_scheduler_task_execution | Summary | 밀리초로 계산된 스케줄러 작업 실행 지연 시간. | | pulsar_managedLedger_client_bookkeeper_ml_scheduler_task_queued | Summary | 밀리초로 계산된 스케줄러 작업 큐 대기 지연 시간. |

토큰 메트릭 (Token metrics)

모든 토큰 메트릭은 다음 레이블로 표시돼요:

  • cluster: cluster=\$\\{pulsar_cluster\\}. \$\\{pulsar_cluster\\}broker.conf에 구성한 클러스터 이름이에요.

| 이름 | 유형 | 설명 | | pulsar_expired_token_total | Counter | Pulsar에서 만료된 토큰 수. | | pulsar_expiring_token_minutes | Histogram | 만료될 토큰의 남은 시간(분). |

인증 메트릭 (Authentication metrics)

모든 인증 메트릭은 다음 레이블로 표시돼요:

  • cluster: cluster=\$\\{pulsar_cluster\\}. \$\\{pulsar_cluster\\}broker.conf에 구성한 클러스터 이름이에요.
  • provider_name: provider_name=\$\\{provider_name\\}. \$\\{provider_name\\}는 인증 제공자의 클래스 이름이에요.
  • auth_method: auth_method=\$\\{auth_method\\}. \$\\{auth_method\\}는 인증 제공자의 인증 메서드예요.
  • reason: reason=\$\\{reason\\}. \$\\{reason\\}는 인증 작업 실패 이유예요. (이 레이블은 pulsar_authentication_failures_total에만 해당돼요.)

| 이름 | 유형 | 설명 | | pulsar_authentication_success_total | Counter | 성공한 인증 작업 수. | | pulsar_authentication_failures_total | Counter | 실패한 인증 작업 수. |

연결 메트릭 (Connection metrics)

모든 연결 메트릭은 다음 레이블로 표시돼요:

  • cluster: cluster=\$\\{pulsar_cluster\\}. \$\\{pulsar_cluster\\}broker.conf에 구성한 클러스터 이름이에요.
  • broker: broker=\$\\{advertised_address\\}. \$\\{advertised_address\\}는 브로커의 광고 주소예요.
  • metric: metric=\$\\{metric\\}. \$\\{metric\\}는 연결 메트릭의 집합 이름이에요.

| 이름 | 유형 | 설명 | | pulsar_active_connections | Gauge | 활성 연결 수. | | pulsar_connection_created_total_count | Gauge | 총 연결 수. | | pulsar_connection_create_success_count | Gauge | 성공적으로 생성된 연결 수. | | pulsar_connection_create_fail_count | Gauge | 실패한 연결 수. | | pulsar_connection_closed_total_count | Gauge | 총 닫힌 연결 수. | | pulsar_broker_throttled_connections | Gauge | 지연(throttled)된 연결 수. |

Jetty 메트릭 (Jetty metrics)

브로커와 분리되어 실행되는 functions-worker의 경우, Jetty 메트릭은 includeStandardPrometheusMetricstrue로 설정된 경우에만 노출돼요.

모든 jetty 메트릭은 다음 레이블로 표시돼요:

  • cluster: cluster=\$\\{pulsar_cluster\\}. \$\\{pulsar_cluster\\}broker.conf에 구성한 클러스터 이름이에요.

| 이름 | 유형 | 설명 | | jetty_requests_total | Counter | 요청 수. | | jetty_requests_active | Gauge | 현재 활성 요청 수. | | jetty_requests_active_max | Gauge | 한 번에 활성이었던 최대 요청 수. | | jetty_request_time_max_seconds | Gauge | 요청 처리에 소요된 최대 시간. | | jetty_request_time_seconds_total | Counter | 모든 요청 처리에 소요된 총 시간. | | jetty_dispatched_total | Counter | 디스패치 수. | | jetty_dispatched_active | Gauge | 현재 활성 디스패치 수. | | jetty_dispatched_active_max | Gauge | 처리 중인 최대 활성 디스패치 수. | | jetty_dispatched_time_max | Gauge | 디스패치 처리에 소요된 최대 시간. | | jetty_dispatched_time_seconds_total | Counter | 디스패치 처리에 소요된 총 시간. | | jetty_async_requests_total | Counter | 총 비동기 요청 수. | | jetty_async_requests_waiting | Gauge | 현재 대기 중인 비동기 요청. | | jetty_async_requests_waiting_max | Gauge | 최대 대기 비동기 요청 수. | | jetty_async_dispatches_total | Counter | 비동기로 디스패치된 요청 수. | | jetty_expires_total | Counter | 만료된 비동기 요청 수. | | jetty_responses_total | Counter | 상태 코드별로 표시된 응답 수. code 레이블은 "1xx", "2xx", "3xx", "4xx", "5xx"일 수 있어요. | | jetty_stats_seconds | Gauge | 통계가 수집된 시간(초). | | jetty_responses_bytes_total | Counter | 모든 응답의 총 바이트 수. |

스키마 메트릭 (Schema metrics)

브로커와 분리되어 실행되는 functions-worker의 경우, 스키마 메트릭은 includeStandardPrometheusMetricstrue로 설정된 경우에만 노출돼요.

모든 스키마 메트릭은 다음 레이블로 표시돼요:

  • cluster: cluster=\$\\{pulsar_cluster\\}. \$\\{pulsar_cluster\\}broker.conf에 구성한 클러스터 이름이에요.

| 이름 | 유형 | 설명 | | pulsar_schema_del_ops_failed_total | Counter | 스키마 삭제에 실패한 작업 수. | | pulsar_schema_get_ops_failed_total | Counter | 스키마 조회에 실패한 작업 수. | | pulsar_schema_put_ops_failed_total | Counter | 스키마 전송에 실패한 작업 수. | | pulsar_schema_compatible_total | Counter | 호환되는 스키마 수. | | pulsar_schema_incompatible_total | Counter | 호환되지 않는 스키마 수. | | pulsar_schema_del_ops_latency | Summary | 스키마 삭제에 성공한 작업의 지연 시간. | | pulsar_schema_get_ops_latency | Summary | 스키마 조회에 성공한 작업의 지연 시간. | | pulsar_schema_put_ops_latency | Summary | 스키마 전송에 성공한 작업의 지연 시간. |

오프로드 메트릭 (Offload metrics)

모든 오프로드 메트릭은 다음 레이블로 표시돼요:

  • cluster: cluster=\$\\{pulsar_cluster\\}. \$\\{pulsar_cluster\\}broker.conf에 구성한 클러스터 이름이에요.
  • namespace: namespace=\$\\{pulsar_namespace\\}. \$\\{pulsar_namespace\\}는 네임스페이스 이름이에요.
  • topic: topic=\$\\{pulsar_topic\\}. \$\\{pulsar_topic\\}는 토픽 이름이에요.

| 이름 | 유형 | 설명 | | pulsar_ledgeroffloader_offload_error | Counter | 오프로드에 실패한 작업 수. | | pulsar_ledgeroffloader_offload_rate | Gauge | 오프로딩 속도(초당 바이트). | | pulsar_ledgeroffloader_read_offload_error | Counter | 오프로드 원장 읽기에 실패한 작업 수. | | pulsar_ledgeroffloader_read_offload_rate | Gauge | 오프로드 원장에서 항목을 읽는 속도(초당 바이트). | | pulsar_ledgeroffloader_write_storage_error | Counter | 저장소 쓰기에 실패한 작업 수. | | pulsar_ledgeroffloader_read_offload_index_latency | Summary | 오프로드 원장에서 인덱스를 읽는 지연 시간. | | pulsar_ledgeroffloader_read_offload_data_latency | Summary | 오프로드 원장에서 데이터를 읽는 지연 시간. | | pulsar_ledgeroffloader_read_ledger_latency | Summary | BookKeeper에서 항목을 읽는 지연 시간. | | pulsar_ledgeroffloader_delete_offload_ops | Counter | 오프로드 원장을 삭제하는 성공·실패한 총 작업 수. |

웹 서비스 실행기 메트릭 (Web service executor metrics)

브로커와 분리되어 실행되는 functions worker의 경우, Jetty 메트릭은 includeStandardPrometheusMetricstrue로 설정된 경우에만 노출돼요.

모든 웹 서비스 실행기 메트릭은 다음 레이블로 표시돼요:

  • cluster: cluster=\$\\{pulsar_cluster\\}. \$\\{pulsar_cluster\\}broker.conf에 구성한 클러스터 이름이에요.

| 이름 | 유형 | 설명 | | pulsar_web_executor_max_threads | GAUGE | pulsar-web 스레드 풀의 최대 스레드 수. | | pulsar_web_executor_min_threads | GAUGE | pulsar-web 스레드 풀의 최소 스레드 수. | | pulsar_web_executor_idle_threads | GAUGE | pulsar-web 스레드 풀의 유휴 스레드 수. | | pulsar_web_executor_active_threads | GAUGE | pulsar-web 스레드 풀의 작업 수행 스레드 수. | | pulsar_web_executor_current_threads | GAUGE | pulsar-web 스레드 풀의 스레드 수. |

메타데이터 저장소 메트릭 (Metadata store metrics)

모든 메타데이터 저장소 메트릭은 다음 레이블로 표시돼요:

  • cluster: cluster=\$\\{pulsar_cluster\\}. \$\\{pulsar_cluster\\}broker.conf에 구성한 클러스터 이름이에요.
  • name: name=\$\\{metadata-store\\|configuration-metadata-store\\|state-metadata-store\\}. \$\\{name\\}은 메타데이터 저장소 이름이에요.

| 이름 | 유형 | 설명 | | pulsar_metadata_store_ops_latency | Histogram | 메타데이터 저장소에서 데이터를 가져오거나/삭제하거나/넣는 지연 시간. | | pulsar_metadata_store_put_bytes_total | Counter | 메타데이터 저장소에 넣은 데이터 수. | | pulsar_batch_metadata_store_executor_queue_size | Gauge | 메타데이터 저장소 실행기의 차단 작업 수. | | pulsar_batch_metadata_store_queue_wait_time_ms | Histogram | 배치 작업의 대기 시간. | | pulsar_batch_metadata_store_batch_execute_time_ms | Histogram | 배치 실행 지속 시간(밀리초). | | pulsar_batch_metadata_store_batch_size | Histogram | 배치의 읽기/쓰기 작업 수. |

JVM 메트릭 (JVM Metrics)

프로세스 메트릭 (Process Metrics)

| 이름 | 유형 | 설명 | | process_cpu_seconds_total | Counter | 초 단위로 소요된 총 사용자·시스템 CPU 시간. | | process_start_time_seconds | Gauge | 유닉스 epoch 이후 프로세스 시작 시간(초). | | process_open_fds | Gauge | 열린 파일 디스크립터 수. | | process_max_fds | Gauge | 최대 열린 파일 디스크립터 수. | | process_virtual_memory_bytes | Gauge | 가상 메모리 크기(바이트). | | process_resident_memory_bytes | Gauge | 상주 메모리 크기(바이트). |

메모리 메트릭 (Memory Metrics)

| 이름 | 유형 | 설명 | | jvm_memory_objects_pending_finalization | Gauge | 파이널라이저 큐에서 대기 중인 객체 수. | | jvm_memory_bytes_used | Gauge | 주어진 JVM 메모리 영역의 사용 바이트. | | jvm_memory_bytes_committed | Gauge | 주어진 JVM 메모리 영역의 커밋 바이트. | | jvm_memory_bytes_max | Gauge | 주어진 JVM 메모리 영역의 최대 바이트. | | jvm_memory_bytes_init | Gauge | 주어진 JVM 메모리 영역의 초기 바이트. | | jvm_memory_pool_bytes_used | | 주어진 JVM 메모리 풀의 사용 바이트. | | jvm_memory_pool_bytes_committed | Gauge | 주어진 JVM 메모리 풀의 커밋 바이트. | | jvm_memory_pool_bytes_max | Gauge | 주어진 JVM 메모리 풀의 최대 바이트. | | jvm_memory_pool_bytes_init | Gauge | 주어진 JVM 메모리 풀의 초기 바이트. | | jvm_memory_pool_collection_used_bytes | Gauge | 주어진 JVM 메모리 풀의 마지막 수집 이후 사용 바이트. | | jvm_memory_pool_collection_committed_bytes | Gauge | 주어진 JVM 메모리 풀의 마지막 수집 이후 커밋 바이트. | | jvm_memory_pool_collection_max_bytes | Gauge | 주어진 JVM 메모리 풀의 마지막 수집 이후 최대 바이트. | | jvm_memory_pool_collection_init_bytes | Gauge | 주어진 JVM 메모리 풀의 마지막 수집 이후 초기 바이트. | | jvm_memory_pool_allocated_bytes_total | Counter | 주어진 JVM 메모리 풀에서 할당된 총 바이트. GC 후에만 업데이트되며 연속적으로 업데이트되지 않아요. |

버퍼 풀 메트릭 (Buffer Pools Metrics)

| 이름 | 유형 | 설명 | | jvm_buffer_pool_used_bytes | Gauge | 주어진 JVM 버퍼 풀의 사용 바이트. | | jvm_buffer_pool_capacity_bytes | Gauge | 주어진 JVM 버퍼 풀의 바이트 용량. | | jvm_buffer_pool_used_buffers | Gauge | 주어진 JVM 버퍼 풀의 사용 버퍼. |

가비지 컬렉터 메트릭 (Garbage Collectors Metrics)

| 이름 | 유형 | 설명 | | jvm_gc_collection_seconds | Summary | 주어진 JVM 가비지 컬렉터에서 소요된 시간(초). |

스레드 메트릭 (Threads Metrics)

| 이름 | 유형 | 설명 | | jvm_threads_current | Gauge | JVM의 현재 스레드 수. | | jvm_threads_daemon | Gauge | JVM의 데몬 스레드 수. | | jvm_threads_peak | Gauge | JVM의 피크 스레드 수. | | jvm_threads_started_total | Counter | JVM의 시작된 스레드 수. | | jvm_threads_deadlocked | Gauge | 객체 모니터나 소유 가능한 동기화기를 획득하기 위해 대기하며 데드락 상태인 JVM 스레드 주기. | | jvm_threads_deadlocked_monitor | Gauge | 객체 모니터를 획득하기 위해 대기하며 데드락 상태인 JVM 스레드 주기. | | jvm_threads_state | Gauge | 상태별 현재 스레드 수. |

클래스로더 메트릭 (Classloaders Metrics)

| 이름 | 유형 | 설명 | | jvm_classes_currently_loaded | Gauge | JVM에서 현재 로드된 클래스 수. | | jvm_classes_loaded_total | Counter | JVM이 실행을 시작한 이후 로드된 총 클래스 수. | | jvm_classes_unloaded_total | Counter | JVM이 실행을 시작한 이후 언로드된 총 클래스 수. |

로드 밸런싱 (Load balancing)

이 섹션은 브로커 로드 밸런싱과 관련된 모든 메트릭을 보여줘요.

note

  • 로드 밸런싱 메트릭은 기본적으로 노출되지 않아요. 로드 밸런싱 메트릭에 접근하려면 broker.conf 또는 standalone.conf 파일에서 다음 구성을 설정해 노출하고, 클러스터에 활성 프로듀서나 컨슈머가 있는지 확인해야 해요.
loadManagerClassName=org.apache.pulsar.broker.loadbalance.impl.ModularLoadManagerImpl
loadBalancerEnabled=true
exposeBundlesMetricsInPrometheus=true // Add this configuration to standalone.conf
  • 별표(*)가 있는 메트릭은 확장형(extensible) 로드 밸런서에서만 사용할 수 있어요.

로드 밸런싱 메트릭 (LoadBalancing metrics)

모든 로드 밸런싱 메트릭은 다음 레이블로 표시돼요:

  • cluster: cluster=${pulsar_cluster}. ${pulsar_cluster}는 broker.conf 파일에 구성한 클러스터 이름이에요.
  • broker: broker=${broker}. ${broker}는 브로커의 IP 주소예요.
  • metric: metric="loadBalancing".

| 이름 | 유형 | 설명 | | pulsar_lb_bandwidth_in_usage | Gauge | 브로커 인바운드 대역폭 사용량(퍼센트). | | pulsar_lb_bandwidth_out_usage | Gauge | 브로커 아웃바운드 대역폭 사용량(퍼센트). | | pulsar_lb_cpu_usage | Gauge | 브로커 CPU 사용량(퍼센트). | | pulsar_lb_directMemory_usage | Gauge | 브로커 프로세스 다이렉트 메모리 사용량(퍼센트). | | pulsar_lb_memory_usage | Gauge | 브로커 프로세스 메모리 사용량(퍼센트). | | pulsar_lb_resource_usage {feature=max}* | Gauge | 대역폭, CPU, 메모리, 다이렉트 메모리의 최대 리소스 사용량. | | pulsar_lb_resource_usage {feature=max_ema}* | Gauge | 브로커 부하 점수(WeightedMaxEMA). |

BundleUnloading 메트릭

모든 bundleUnloading 메트릭은 다음 레이블로 표시돼요:

  • cluster: cluster=${pulsar_cluster}. ${pulsar_cluster}는 broker.conf 파일에 구성한 클러스터 이름이에요.
  • bundle: bundle=${bundle}. ${bundle}는 이 브로커의 번들 범위예요.
  • metric: metric="bundleUnloading".

| 이름 | 유형 | 설명 | | pulsar_lb_unload_broker_total | Counter | 이 번들 언로딩에서 언로드된 브로커 수. | | pulsar_lb_unload_bundle_total | Counter | 이 번들 언로딩에서 언로드된 번들 수. pulsar_lb_unload_bundle_total의 값이 0보다 크면 번들이 언로드되었음을 의미해요. | | pulsar_lb_unload_broker_breakdown_total{result, reason}* | Counter | 결과와 이유 레이블로 그룹화된 언로드 브로커 분석 수. | | pulsar_lb_resource_usage_stats{feature=max_ema, stat=avg}* | Gauge | 브로커 부하 점수의 평균. | | pulsar_lb_resource_usage_stats{feature=max_ema, stat=std}* | Gauge | 브로커 부하 점수의 표준 편차. |

BundleSplit 메트릭

모든 bundleUnloading 메트릭은 다음 레이블로 표시돼요:

  • cluster: cluster=${pulsar_cluster}. ${pulsar_cluster}는 broker.conf 파일에 구성한 클러스터 이름이에요.
  • bundle: bundle=${bundle}. ${bundle}는 이 브로커의 번들 범위예요.
  • metric: metric="bundlesSplit".

| 이름 | 유형 | 설명 | | pulsar_lb_bundles_split_total | Counter | 이 리더 브로커의 총 번들 분할 수. | | pulsar_lb_bundles_split_breakdown_total{result, reason}* | Counter | 결과와 이유 레이블로 그룹화된 번들 분할 분석 수. |

번들 메트릭 (Bundle metrics)

모든 번들 메트릭은 다음 레이블로 표시돼요:

  • cluster: cluster=${pulsar_cluster}. ${pulsar_cluster}는 broker.conf 파일에 구성한 클러스터 이름이에요.
  • broker: broker=${broker}. ${broker}는 브로커의 IP 주소예요.
  • bundle: bundle=${bundle}. ${bundle}는 이 브로커의 번들 범위예요.
  • metric: metric="bundle".

| 이름 | 유형 | 설명 | | pulsar_bundle_msg_rate_in | Gauge | 이 번들의 토픽으로 들어오는 총 메시지 속도(초당 메시지). | | pulsar_bundle_msg_rate_out | Gauge | 이 번들의 토픽에서 나가는 총 메시지 속도(초당 메시지). | | pulsar_bundle_topics_count | Gauge | 이 번들의 토픽 수. | | pulsar_bundle_consumer_count | Gauge | 이 번들의 토픽 컨슈머 수. | | pulsar_bundle_producer_count | Gauge | 이 번들의 토픽 프로듀서 수. | | pulsar_bundle_msg_throughput_in | Gauge | 이 번들의 토픽으로 들어오는 총 처리량(초당 바이트). | | pulsar_bundle_msg_throughput_out | Gauge | 이 번들의 토픽에서 나가는 총 처리량(초당 바이트). |

번들 할당 메트릭 (Bundle assign metrics)

모든 번들 할당 메트릭은 다음 레이블로 표시돼요:

  • cluster: cluster=${pulsar_cluster}. ${pulsar_cluster}는 broker.conf 파일에 구성한 클러스터 이름이에요.
  • broker: broker=${broker}. ${broker}는 브로커의 IP 주소예요.
  • bundle: bundle=${bundle}. ${bundle}는 이 브로커의 번들 범위예요.
  • metric: metric="assign".

| 이름 | 유형 | 설명 | | pulsar_lb_assign_broker_breakdown_total{result, reason}* | Counter | 결과와 이유 레이블로 그룹화된 브로커 할당 분석 수. |

서비스 단위 상태 채널 메트릭 (Service unit state channel metrics)

모든 서비스 단위 상태 채널 메트릭은 다음 레이블로 표시돼요:

  • cluster: cluster=${pulsar_cluster}. ${pulsar_cluster}는 broker.conf 파일에 구성한 클러스터 이름이에요.
  • metric: metric="sunitStateChn".

| 이름 | 유형 | 설명 | | pulsar_sunit_state_chn_owner_lookup_total{result, state}* | Counter | 결과와 상태 레이블로 그룹화된 소유 브로커 룩업 수. | | pulsar_sunit_state_chn_event_publish_ops_total{result, event}* | Counter | 결과와 이벤트 레이블로 그룹화된 서비스 단위(예: 번들) 상태 변경의 게시 메시지 수. | | pulsar_sunit_state_chn_subscribe_ops_total{result, event}* | Counter | 결과와 이벤트 레이블로 그룹화된 서비스 단위(예: 번들) 상태 변경의 구독 메시지 수. | | pulsar_sunit_state_chn_inactive_broker_cleanup_ops_total{result}* | Counter | 결과 레이블로 그룹화된 비활성 브로커 정리 작업 수. | | pulsar_sunit_state_chn_orphan_su_cleanup_ops_total* | Counter | 고아 서비스 단위(예: 번들) 정리 작업의 총 수. | | pulsar_sunit_state_chn_owned_su_total* | Gauge | 소유한 번들 수. | | pulsar_sunit_state_chn_su_tombstone_cleanup_ops_total* | Counter | 삭제된 서비스 단위(예: 번들) 툼스톤 작업의 총 수. | | pulsar_sunit_state_chn_cleanup_ops_total{result=Failure}* | Counter | 정리 작업 실패의 총 수. |

Pulsar Functions

모든 Pulsar Functions 메트릭은 다음 레이블로 표시돼요:

  • cluster: cluster=\$\\{pulsar_cluster\\}. \$\\{pulsar_cluster\\}broker.conf에 구성한 클러스터 이름이에요.
  • namespace: namespace=\$\\{pulsar_namespace\\}. \$\\{pulsar_namespace\\}는 네임스페이스 이름이에요.

| 이름 | 유형 | 설명 | | pulsar_function_processed_successfully_total | Counter | 성공적으로 처리된 총 메시지 수. | | pulsar_function_processed_successfully_1min_total | Counter | 지난 1분 동안 성공적으로 처리된 총 메시지 수. | | pulsar_function_system_exceptions_total | Counter | 총 시스템 예외 수. | | pulsar_function_system_exceptions_1min_total | Counter | 지난 1분 동안의 총 시스템 예외 수. | | pulsar_function_user_exceptions_total | Counter | 총 사용자 예외 수. | | pulsar_function_user_exceptions_1min_total | Counter | 지난 1분 동안의 총 사용자 예외 수. | | pulsar_function_process_latency_ms | Summary | 밀리초 단위 처리 지연 시간. | | pulsar_function_process_latency_ms_1min | Summary | 지난 1분 동안의 밀리초 단위 처리 지연 시간. | | pulsar_function_last_invocation | Gauge | 함수의 마지막 호출 타임스탬프. | | pulsar_function_received_total | Counter | 소스에서 받은 총 메시지 수. | | pulsar_function_received_1min_total | Counter | 지난 1분 동안 소스에서 받은 총 메시지 수. | | pulsar_function_user_metric_ | Summary | 사용자 정의 메트릭. |

커넥터 (Connectors)

모든 Pulsar 커넥터 메트릭은 다음 레이블로 표시돼요:

  • cluster: cluster=\$\\{pulsar_cluster\\}. \$\\{pulsar_cluster\\}broker.conf에 구성한 클러스터 이름이에요.
  • namespace: namespace=\$\\{pulsar_namespace\\}. \$\\{pulsar_namespace\\}는 네임스페이스 이름이에요.

커넥터 메트릭은 source 메트릭과 sink 메트릭을 포함해요.

  • Source 메트릭

| 이름 | 유형 | 설명 | | pulsar_source_written_total | Counter | Pulsar 토픽에 쓰여진 총 레코드 수. | | pulsar_source_written_1min_total | Counter | 지난 1분 동안 Pulsar 토픽에 쓰여진 총 레코드 수. | | pulsar_source_received_total | Counter | 소스에서 받은 총 레코드 수. | | pulsar_source_received_1min_total | Counter | 지난 1분 동안 소스에서 받은 총 레코드 수. | | pulsar_source_last_invocation | Gauge | 소스의 마지막 호출 타임스탬프. | | pulsar_source_source_exception | Gauge | 소스의 예외. | | pulsar_source_source_exceptions_total | Counter | 총 소스 예외 수. | | pulsar_source_source_exceptions_1min_total | Counter | 지난 1분 동안의 총 소스 예외 수. | | pulsar_source_system_exception | Gauge | 시스템 코드의 예외. | | pulsar_source_system_exceptions_total | Counter | 총 시스템 예외 수. | | pulsar_source_system_exceptions_1min_total | Counter | 지난 1분 동안의 총 시스템 예외 수. | | pulsar_source_user_metric_ | Summary | 사용자 정의 메트릭. |

  • Sink 메트릭

| 이름 | 유형 | 설명 | | pulsar_sink_written_total | Counter | 싱크가 처리한 총 레코드 수. | | pulsar_sink_written_1min_total | Counter | 지난 1분 동안 싱크가 처리한 총 레코드 수. | | pulsar_sink_received_1min_total | Counter | 지난 1분 동안 싱크가 Pulsar 토픽에서 받은 총 메시지 수. | | pulsar_sink_received_total | Counter | 싱크가 Pulsar 토픽에서 받은 총 레코드 수. | | pulsar_sink_last_invocation | Gauge | 싱크의 마지막 호출 타임스탬프. | | pulsar_sink_sink_exception | Gauge | 싱크의 예외. | | pulsar_sink_sink_exceptions_total | Counter | 총 싱크 예외 수. | | pulsar_sink_sink_exceptions_1min_total | Counter | 지난 1분 동안의 총 싱크 예외 수. | | pulsar_sink_system_exception | Gauge | 시스템 코드의 예외. | | pulsar_sink_system_exceptions_total | Counter | 총 시스템 예외 수. | | pulsar_sink_system_exceptions_1min_total | Counter | 지난 1분 동안의 총 시스템 예외 수. | | pulsar_sink_user_metric_ | Summary | 사용자 정의 메트릭. |

프록시 (Proxy)

모든 프록시 메트릭은 다음 레이블로 표시돼요:

  • cluster: cluster=\$\\{pulsar_cluster\\}. \$\\{pulsar_cluster\\}broker.conf에 구성한 클러스터 이름이에요.
  • kubernetes_pod_name: kubernetes_pod_name=\$\\{kubernetes_pod_name\\}. \$\\{kubernetes_pod_name\\}는 Kubernetes 파드 이름이에요.

| 이름 | 유형 | 설명 | | pulsar_proxy_active_connections | Gauge | 프록시에서 현재 활성 연결 수. | | pulsar_proxy_new_connections | Counter | 프록시에서 열리는 연결 수 카운터. | | pulsar_proxy_rejected_connections | Counter | 지연(throttling)으로 거부된 연결 카운터. | | pulsar_proxy_binary_ops | Counter | 프록시 작업 카운터. | | pulsar_proxy_binary_bytes | Counter | 프록시 바이트 카운터. |

Pulsar 트랜잭션 (Pulsar transaction)

모든 트랜잭션 메트릭은 다음 레이블로 표시돼요:

  • cluster: cluster=\$\\{pulsar_cluster\\}. \$\\{pulsar_cluster\\}broker.conf에 구성한 클러스터 이름이에요.
  • coordinator_id: coordinator_id=\$\\{coordinator_id\\}. \$\\{coordinator_id\\}는 코디네이터 ID예요.

| 이름 | 유형 | 설명 | | pulsar_txn_active_count | Gauge | 활성 트랜잭션 수. | | pulsar_txn_created_total | Counter | 생성된 트랜잭션 수. | | pulsar_txn_committed_total | Counter | 커밋된 트랜잭션 수. | | pulsar_txn_aborted_total | Counter | 이 코디네이터의 중단된 트랜잭션 수. | | pulsar_txn_timeout_total | Counter | 타임아웃된 트랜잭션 수. | | pulsar_txn_append_log_total | Counter | 추가된 트랜잭션 로그 수. | | pulsar_txn_execution_latency_le_* | Histogram | 트랜잭션 실행 지연 시간. 사용 가능한 지연 시간:

  • latency="10"은 TransactionExecutionLatency (0ms, 10ms]
  • latency="20"은 TransactionExecutionLatency (10ms, 20ms]
  • latency="50"은 TransactionExecutionLatency (20ms, 50ms]
  • latency="100"은 TransactionExecutionLatency (50ms, 100ms]
  • latency="500"은 TransactionExecutionLatency (100ms, 500ms]
  • latency="1000"은 TransactionExecutionLatency (500ms, 1000ms]
  • latency="5000"은 TransactionExecutionLatency (1s, 5s]
  • latency="15000"은 TransactionExecutionLatency (5s, 15s]
  • latency="30000"은 TransactionExecutionLatency (15s, 30s]
  • latency="60000"은 TransactionExecutionLatency (30s, 60s]
  • latency="300000"은 TransactionExecutionLatency (1m,5m]
  • latency="1500000"은 TransactionExecutionLatency (5m,15m]
  • latency="3000000"은 TransactionExecutionLatency (15m,30m]
  • latency="overflow"는 TransactionExecutionLatency (30m,∞] | | pulsar_txn_tb_client_abort_failed_total | Counter | transaction buffer client의 트랜잭션 중단 실패 수. | | pulsar_txn_tb_client_commit_failed_total | Counter | transaction buffer client의 트랜잭션 커밋 실패 수. | | pulsar_txn_tb_client_abort_latency | Summary | transaction buffer client의 트랜잭션 중단 지연 시간. | | pulsar_txn_tb_client_commit_latency | Summary | transaction buffer client의 트랜잭션 커밋 지연 시간. | | pulsar_txn_tb_client_pending_requests | Counter | transaction buffer client의 보류 중인 요청 수. | | pulsar_txn_tp_committed_count_total | Counter | pending ack 저장소의 커밋된 트랜잭션 수. | | pulsar_txn_tp_aborted_count_total | Counter | pending ack 저장소의 중단된 트랜잭션 수. | | pulsar_txn_tp_commit_latency | Summary | transaction pending ack handle의 트랜잭션 커밋 지연 시간. |

더 알아보기 (Learn more)