UNPKG

xkite-core

Version:
628 lines (588 loc) 24.8 kB
lowercaseOutputName: true lowercaseOutputLabelNames: true whitelistObjectNames: - java.lang:* - kafka.cluster:* - kafka.controller:* - kafka.log:* - kafka.server:type=KafkaServer,name=BrokerState - kafka.server:type=KafkaRequestHandlerPool,* - kafka.server:type=BrokerTopicMetrics,* - kafka.server:type=FetcherLagMetrics,* - kafka.server:type=FetcherStats,* - kafka.server:type=Request,* - kafka.server:type=Fetch,* - kafka.server:type=Produce,* - kafka.server:type=ReplicaManager,* - kafka.server:type=ReplicaFetcherManager,* - kafka.server:type=SessionExpireListener,* - kafka.server:type=controller-channel-metrics,* - kafka.server:type=socket-server-metrics,* - kafka.network:type=RequestChannel,* - kafka.network:type=Processor,* - kafka.network:type=SocketServer,* - kafka.network:type=RequestMetrics,* - kafka.coordinator.group:* - java.lang:type=ClassLoading,* - java.lang:type=Compilation,* - java.lang:type=MemoryManager,* - kafka.utils:* - kafka.controller:type=ControllerChannelManager,name=QueueSize,* - kafka.log:type=Log,name=LogEndOffset,* - kafka.log:type=Log,name=LogStartOffset,* - kafka.cluster:type=Partition,name=InSyncReplicasCount,* - kafka.cluster:type=Partition,name=LastStableOffsetLag,* - kafka.cluster:type=Partition,name=ReplicasCounts,* - kafka.cluster:type=Partition,name=UnderReplicated,* - kafka.server:type=BrokerTopicMetrics,name=TotalFetchRequestsPerSec,* - kafka.server:type=BrokerTopicMetrics,name=TotalProduceRequestsPerSec,* - kafka.server:type=BrokerTopicMetrics,name=FailedProduceRequestsPerSec,* - kafka.server:type=BrokerTopicMetrics,name=FailedFetchRequestsPerSec,* - kafka.server:type=BrokerTopicMetrics,name=BytesRejectedPerSec,* rules: # Special cases and very specific rules - pattern : kafka.server<type=(.+), name=(.+), clientId=(.+), topic=(.+), partition=(.*)><>Value name: kafka_server_$1_$2 type: GAUGE labels: clientId: "$3" topic: "$4" partition: "$5" - pattern : kafka.server<type=(.+), name=(.+), clientId=(.+), brokerHost=(.+), brokerPort=(.+)><>Value name: kafka_server_$1_$2 type: GAUGE labels: clientId: "$3" broker: "$4:$5" - pattern : kafka.coordinator.(\w+)<type=(.+), name=(.+)><>Value name: kafka_coordinator_$1_$2_$3 type: GAUGE # Generic per-second counters with 0-2 key/value pairs - pattern: kafka.(\w+)<type=(.+), name=(.+)PerSec\w*, (.+)=(.+), (.+)=(.+)><>Count name: kafka_$1_$2_$3_total type: COUNTER labels: "$4": "$5" "$6": "$7" - pattern: kafka.(\w+)<type=(.+), name=(.+)PerSec\w*, (.+)=(.+)><>Count name: kafka_$1_$2_$3_total type: COUNTER labels: "$4": "$5" - pattern: kafka.(\w+)<type=(.+), name=(.+)PerSec\w*><>Count name: kafka_$1_$2_$3_total type: COUNTER - pattern: kafka.server<type=(.+), client-id=(.+)><>([a-z-]+) name: kafka_server_quota_$3 type: GAUGE labels: resource: "$1" clientId: "$2" - pattern: kafka.server<type=(.+), user=(.+), client-id=(.+)><>([a-z-]+) name: kafka_server_quota_$4 type: GAUGE labels: resource: "$1" user: "$2" clientId: "$3" # Generic gauges with 0-2 key/value pairs - pattern: kafka.(\w+)<type=(.+), name=(.+), (.+)=(.+), (.+)=(.+)><>Value name: kafka_$1_$2_$3 type: GAUGE labels: "$4": "$5" "$6": "$7" - pattern: kafka.(\w+)<type=(.+), name=(.+), (.+)=(.+)><>Value name: kafka_$1_$2_$3 type: GAUGE labels: "$4": "$5" - pattern: kafka.(\w+)<type=(.+), name=(.+)><>Value name: kafka_$1_$2_$3 type: GAUGE # Emulate Prometheus 'Summary' metrics for the exported 'Histogram's. # # Note that these are missing the '_sum' metric! - pattern: kafka.(\w+)<type=(.+), name=(.+), (.+)=(.+), (.+)=(.+)><>Count name: kafka_$1_$2_$3_count type: COUNTER labels: "$4": "$5" "$6": "$7" - pattern: kafka.(\w+)<type=(.+), name=(.+), (.+)=(.*), (.+)=(.+)><>(\d+)thPercentile name: kafka_$1_$2_$3 type: GAUGE labels: "$4": "$5" "$6": "$7" quantile: "0.$8" - pattern: kafka.(\w+)<type=(.+), name=(.+), (.+)=(.+)><>Count name: kafka_$1_$2_$3_count type: COUNTER labels: "$4": "$5" - pattern: kafka.(\w+)<type=(.+), name=(.+), (.+)=(.*)><>(\d+)thPercentile name: kafka_$1_$2_$3 type: GAUGE labels: "$4": "$5" quantile: "0.$6" - pattern: kafka.(\w+)<type=(.+), name=(.+)><>Count name: kafka_$1_$2_$3_count type: COUNTER - pattern: kafka.(\w+)<type=(.+), name=(.+)><>(\d+)thPercentile name: kafka_$1_$2_$3 type: GAUGE labels: quantile: "0.$4" # Generic gauges for MeanRate Percent # Ex) kafka.server<type=KafkaRequestHandlerPool, name=RequestHandlerAvgIdlePercent><>MeanRate - pattern: kafka.(\w+)<type=(.+), name=(.+)Percent\w*><>MeanRate name: kafka_$1_$2_$3_percent type: GAUGE - pattern: kafka.(\w+)<type=(.+), name=(.+)Percent\w*><>Value name: kafka_$1_$2_$3_percent type: GAUGE - pattern: kafka.(\w+)<type=(.+), name=(.+)Percent\w*, (.+)=(.+)><>Value name: kafka_$1_$2_$3_percent type: GAUGE labels: "$4": "$5" # replicated Zookeeper - pattern: "org.apache.ZooKeeperService<name0=ReplicatedServer_id(\\d+)><>(\\w+)" name: "zookeeper_$2" type: GAUGE - pattern: "org.apache.ZooKeeperService<name0=ReplicatedServer_id(\\d+), name1=replica.(\\d+)><>(\\w+)" name: "zookeeper_$3" type: GAUGE labels: replicaId: "$2" - pattern: "org.apache.ZooKeeperService<name0=ReplicatedServer_id(\\d+), name1=replica.(\\d+), name2=(\\w+)><>(Packets\\w+)" name: "zookeeper_$4" type: COUNTER labels: replicaId: "$2" memberType: "$3" - pattern: "org.apache.ZooKeeperService<name0=ReplicatedServer_id(\\d+), name1=replica.(\\d+), name2=(\\w+)><>(\\w+)" name: "zookeeper_$4" type: GAUGE labels: replicaId: "$2" memberType: "$3" - pattern: "org.apache.ZooKeeperService<name0=ReplicatedServer_id(\\d+), name1=replica.(\\d+), name2=(\\w+), name3=(\\w+)><>(\\w+)" name: "zookeeper_$4_$5" type: GAUGE labels: replicaId: "$2" memberType: "$3" # standalone Zookeeper - pattern: "org.apache.ZooKeeperService<name0=StandaloneServer_port(\\d+)><>(\\w+)" type: GAUGE name: "zookeeper_$2" - pattern: "org.apache.ZooKeeperService<name0=StandaloneServer_port(\\d+), name1=InMemoryDataTree><>(\\w+)" type: GAUGE name: "zookeeper_$2" # java #------------------------------------------------------------------------------------------------------- # KafkaServers : State of broker server # # - BrokerState #------------------------------------------------------------------------------------------------------- - pattern: kafka.server<type=KafkaServer, name=BrokerState><>Value name: kafka_server_brokerstate labels: service: kafka-broker env: cluster-demo #------------------------------------------------------------------------------------------------------- # Partition : Number of partitions for each broker # - InSyncReplicasCount # - LastStableOffsetLag # - ReplicasCount # - UnderReplicated #------------------------------------------------------------------------------------------------------- - pattern: kafka.cluster<type=Partition, name=([^,]+), topic=([^,]+), partition=([^,]+)><>Value name: kafka_cluster_partition_$1 labels: topic: $2 partition: $3 service: kafka-broker env: cluster-demo #------------------------------------------------------------------------------------------------------- # KafkaController : # # - ActiveControllerCount, OfflinePartitionsCount, PreferredReplicaImbalanceCount #------------------------------------------------------------------------------------------------------- - pattern: kafka.controller<type=KafkaController, name=([^,]+)><>Value name: kafka_controller_$1 labels: service: kafka-broker env: cluster-demo #------------------------------------------------------------------------------------------------------- # ControllerStats : The event that is currently being processed by the elected broker controller. # # - LeaderElectionRateAndtimeMs, UncleanLeaderElectionsPerSec, AutoLeaderBalanceRateAndTimeMs, ManualLeaderBalanceRateAndTimeMs # - ControllerChangeRateAndTimeMs, # - TopicChangeRateAndTimeMs, TopicDeletionRateAndTimeMs, PartitionReassignmentRateAndTimeMs # - IsrChangeRateAndTimeMs #------------------------------------------------------------------------------------------------------- - pattern: kafka.controller<type=ControllerStats, name=([^,]+)><>(OneMinuteRate|Mean|75thPercentile|99thPercentile) name: kafka_controller_stats_$1 labels: aggregate: $2 service: kafka-broker env: cluster-demo #------------------------------------------------------------------------------------------------------- # Coordinator : GroupMetadataManager # # - NumGroups, NumOffsets #------------------------------------------------------------------------------------------------------- - pattern: kafka.coordinator.group<type=GroupMetadataManager, name=([^,]+)><>(Value) name: kafka_coordinator_group_metadata_manager_$1 labels: service: kafka-broker env: cluster-demo #------------------------------------------------------------------------------------------------------- # Logs : # # - LogEndOffset, LogStartOffset, NumLogSegments, Size #------------------------------------------------------------------------------------------------------- - pattern: kafka.log<type=Log, name=([^,]+), topic=([^,]+), partition=([^,]+)><>Value name: kafka_log_$1 labels: topic: $2 partition: $3 service: kafka-broker env: cluster-demo #------------------------------------------------------------------------------------------------------- # LogCleaner : #------------------------------------------------------------------------------------------------------- - pattern: kafka.log<type=LogCleaner, name=cleaner-recopy-percent><>(Value) name: kafka_log_cleaner_recopy_percent labels: service: kafka-broker env: cluster-demo - pattern: kafka.log<type=LogCleaner, name=max-clean-time-secs><>(Value) name: kafka_log_cleaner_max_clean_time_secs labels: service: kafka-broker env: cluster-demo - pattern: kafka.log<type=LogCleaner, name=max-buffer-utilization-percent><>(Value) name: kafka_log_cleaner_max_buffer_utilization_percent labels: service: kafka-broker env: cluster-demo #------------------------------------------------------------------------------------------------------- # LogCleanerManager : #------------------------------------------------------------------------------------------------------- - pattern: kafka.log<type=LogCleanerManager, name=max-dirty-percent><>(Value) name: kafka_log_cleaner_manager_max_dirty_percent labels: service: kafka-broker env: cluster-demo #------------------------------------------------------------------------------------------------------- # LogFlushStats : #------------------------------------------------------------------------------------------------------- - pattern: kafka.log<type=LogFlushStats, name=LogFlushRateAndTimeMs><>(\w+) name: kafka_log_flush_stats_rate_and_time_ms labels: aggregate: $1 service: kafka-broker env: cluster-demo #------------------------------------------------------------------------------------------------------- # KafkaRequestHandlerPool : Latency # # - KafkaRequestHandlerPool #------------------------------------------------------------------------------------------------------- - pattern: kafka.server<type=KafkaRequestHandlerPool, name=RequestHandlerAvgIdlePercent><>(\w+) name: kafka_server_request_handler_avg_idle_percent labels: aggregate: $1 service: kafka-broker env: cluster-demo #------------------------------------------------------------------------------------------------------- # Network Socket Server : Latency # # - NetworkProcessorAvgIdlePercent #------------------------------------------------------------------------------------------------------- - pattern: kafka.network<type=SocketServer, name=NetworkProcessorAvgIdlePercent><>(Value) name: kafka_network_socket_server_processor_avg_idle_percent labels: service: kafka-broker env: cluster-demo #------------------------------------------------------------------------------------------------------- # Network Processor : Latency # # - IdlePercent #------------------------------------------------------------------------------------------------------- - pattern: kafka.network<type=Processor, name=IdlePercent, networkProcessor=([0-9]+)><>(Value) name: kafka_network_processor_idle_percent labels: processor: $1 service: kafka-broker env: cluster-demo #------------------------------------------------------------------------------------------------------- # Network KafkaRequestChannel : # # - RequestQueueSize, ResponseQueueSize #------------------------------------------------------------------------------------------------------- - pattern: kafka.network<type=RequestChannel, name=(\w+)QueueSize><>Value name: kafka_network_request_channel_queue_size labels: queue: $1 service: kafka-broker env: cluster-demo #------------------------------------------------------------------------------------------------------- # Network KafkaRequest : # # - RequestPerSec, #------------------------------------------------------------------------------------------------------- - pattern: kafka.network<type=RequestMetrics, name=RequestsPerSec, request=(\w+), version=([0-9]+)><>(OneMinuteRate|Mean) name: kafka_network_request_per_sec labels: request: $1 version: $2 aggregate: $3 service: kafka-broker env: cluster-demo #------------------------------------------------------------------------------------------------------- # Network KafkaRequestMetrics : # # - LocalTimeMs, RemoteTimeMs, # - RequestQueueTimeMs, # - ResponseQueueTimeMs, ResponseSendTimeMs # - ThrottleTimeMs # - TotalTimeMs #------------------------------------------------------------------------------------------------------- - pattern: kafka.network<type=RequestMetrics, name=(\w+)TimeMs, request=(Produce|Fetch|FetchConsumer|FetchFollower)><>(OneMinuteRate|Mean|75thPercentile|99thPercentile) name: kafka_network_request_metrics_time_ms labels: scope: $1 request: $2 aggregate: $3 service: kafka-broker env: cluster-demo #------------------------------------------------------------------------------------------------------- # KafkaServer / BrokerTopicMetrics - I/O metrics : # # - BytesInPerSec, BytesOutPerSec, BytesRejectedPerSec, # - FailedFetchRequestsPerSec, FailedProduceRequestsPerSec,MessagesInPerSec, # - TotalFetchRequestPerSec, TotalProduceRequestPerSec, ReplicationBytesInPerSec, ReplicationBytesOutPerSec #------------------------------------------------------------------------------------------------------- - pattern: kafka.server<type=BrokerTopicMetrics, name=(BytesInPerSec|BytesOutPerSec|MessagesInPerSec|ReplicationBytesOutPerSec|ReplicationBytesInPerSec)><>(OneMinute)Rate name: kafka_server_broker_topic_metrics_$1_rate labels: aggregate: $2 service: kafka-broker env: cluster-demo - pattern: kafka.server<type=BrokerTopicMetrics, name=(BytesInPerSec|BytesOutPerSec|MessagesInPerSec|ReplicationBytesOutPerSec|ReplicationBytesInPerSec), topic=([^,]+)><>(OneMinute)Rate name: kafka_server_broker_topic_metrics_$1_rate labels: topic: $2 aggregate: $3 service: kafka-broker env: cluster-demo #------------------------------------------------------------------------------------------------------- # KafkaServer / DelayedFetchMetrics : #------------------------------------------------------------------------------------------------------- - pattern: kafka.server<type=DelayedFetchMetrics, name=ExpiresPerSec, fetcherType=([^,]+)><>([^,]+)Rate name: kafka_server_delayed_fetch_expires_per_sec labels: fetcher_type: $1 aggregate: $2 service: kafka-broker env: cluster-demo #------------------------------------------------------------------------------------------------------- # KafkaServer / DelayedOperationPurgatory : #------------------------------------------------------------------------------------------------------- - pattern: kafka.server<type=DelayedOperationPurgatory, name=([^,]+), delayedOperation=([^,]+)><>Value name: kafka_server_delayed_operation_purgatory_$1 labels: operation: $2 service: kafka-broker env: cluster-demo #------------------------------------------------------------------------------------------------------- # FetcherLagMetrics : Lag in number of messages per follower replica #------------------------------------------------------------------------------------------------------- - pattern: kafka.server<type=FetcherLagMetrics, name=([^,]+), clientId=([^,]+), topic=([^,]+), partition=([^,]+)><>Value name: kafka_server_fetcher_lag_$1 labels: client_id: $2 topic: $3 partition: $4 service: kafka-broker env: cluster-demo #------------------------------------------------------------------------------------------------------- # FetcherStats : Replica Fetcher Thread stats # - BytesPerSec / RequestsPerSec #------------------------------------------------------------------------------------------------------- - pattern: kafka.server<type=FetcherStats, name=([^,]+), clientId=([^,]+), brokerHost=([^,]+), brokerPort=([^,]+)><>([^,]+)Rate name: kafka_server_fetcher_stats_$1 labels: client_id: $2 broker_host: $3 broker_port: $4 aggregate: $5 service: kafka-broker env: cluster-demo #------------------------------------------------------------------------------------------------------- # KafkaServer Request : # - request-time - Tracking request-time per user/client-id # - throttle-time - Tracking average throttle-time per user/client-id #------------------------------------------------------------------------------------------------------- - pattern: kafka.server<type=Request, client-id=([^,]+)><>(request-time|throttle-time) name: kafka_server_request_$2 labels: client_id: $1 service: kafka-broker env: cluster-demo #------------------------------------------------------------------------------------------------------- # KafkaServer Fetcher/Producer : #------------------------------------------------------------------------------------------------------- - pattern: kafka.server<type=Fetch, client-id=([^,]+)><>(byte-rate|throttle-time) name: kafka_server_fetch_client_$2 labels: client_id: $1 service: kafka-broker env: cluster-demo - pattern: kafka.server<type=Produce, client-id=([^,]+)><>(byte-rate|throttle-time) name: kafka_server_produce_client_$2 labels: client_id: $1 service: kafka-broker env: cluster-demo #------------------------------------------------------------------------------------------------------- # ReplicaManager : # - IsrExpandsPerSec, IsrShrinksPerSec, FailedIsrUpdatesPerSec # - LeaderCount, PartitionCount, UnderReplicatedPartitions) #------------------------------------------------------------------------------------------------------- - pattern: kafka.server<type=ReplicaManager, name=([^,]+)><>([^,]+)Rate name: kafka_server_replica_manager_$1 labels: aggregate: $2 service: kafka-broker env: cluster-demo - pattern: kafka.server<type=ReplicaManager, name=([^,]+)><>(Value) name: kafka_server_replica_manager_$1 labels: service: kafka-broker env: cluster-demo #------------------------------------------------------------------------------------------------------- # ReplicaFetcherManager : # - MaxLag, MinFetchRate #------------------------------------------------------------------------------------------------------- - pattern: kafka.server<type=ReplicaFetcherManager, name=([^,]+), clientId=([^,]+)><>(Value) name: kafka_server_replica_fetcher_manager_$1_value labels: client_id: $2 service: kafka-broker env: cluster-demo #------------------------------------------------------------------------------------------------------- # Zookeeper / SessionExpireListener : #------------------------------------------------------------------------------------------------------- - pattern: kafka.server<type=SessionExpireListener, name=([^,]+)><>([^,]+)Rate name: kafka_zookeeper_session_expire_listener_$1 labels: aggregate: $2 service: kafka-broker env: cluster-demo #------------------------------------------------------------------------------------------------------- # ControllerChannelMetrics: #------------------------------------------------------------------------------------------------------- - pattern: kafka.server<type=controller-channel-metrics, broker-id=([^,]+)><>(\w*) name: kafka_server_controller_channel_metrics_$2 labels: broker_id: $1 service: kafka-broker env: cluster-demo #------------------------------------------------------------------------------------------------------- # KafkaServer / Socket Server Metrics #------------------------------------------------------------------------------------------------------- - pattern: kafka.server<type=socket-server-metrics, networkProcessor=([^,]+)><>(\w*) name: kafka_server_socket_server_metrics_$2 labels: network_processor: $1 service: kafka-broker env: cluster-demo #------------------------------------------------------------------------------------------------------- # # Broker / JVM #------------------------------------------------------------------------------------------------------- # JVM GarbageCollector # - pattern: 'java.lang<type=GarbageCollector, name=(.*)><>CollectionCount' name: kafka_jvm_gc_collection_count labels: name: $1 service: kafka-broker env: cluster-demo - pattern: 'java.lang<type=GarbageCollector, name=(.*)><>CollectionTime' name: kafka_jvm_gc_collection_time labels: name: $1 service: kafka-broker env: cluster-demo - pattern: java.lang<type=GarbageCollector,name=(.*)><LastGcInfo, duration> name: kafka_jvm_last_gc_duration labels: name: $1 service: kafka-broker env: cluster-demo attrNameSnakeCase: true - pattern: 'java.lang<type=GarbageCollector, name=([^,]+), key=(.*)><LastGcInfo, memoryUsage(\w+)Gc>(\w+)' name: kafka_jvm_last_gc_memory_usage_$4 labels: name: $1 space: $2 type: $4 service: kafka-broker env: cluster-demo attrNameSnakeCase: true # JVM Memory - pattern: java.lang<type=Memory><HeapMemoryUsage>(\w*) name: kafka_jvm_heap_usage labels: type: $1 service: kafka-broker env: cluster-demo attrNameSnakeCase: true - pattern: java.lang<type=Memory><NonHeapMemoryUsage>(\w*) name: kafka_jvm_non_heap_usage labels: type: $1 service: kafka-broker env: cluster-demo attrNameSnakeCase: true - pattern: 'java.lang<type=MemoryPool, name=(.*)><CollectionUsage>(\w*)' name: kafka_jvm_memory_pool_collection_usage labels: name: $1 type: $2 service: kafka-broker env: cluster-demo - pattern: 'java.lang<type=MemoryPool, name=(.*)><Usage>(\w*)' name: kafka_jvm_memory_pool_usage labels: name: $1 type: $2 service: kafka-broker env: cluster-demo - pattern: 'java.lang<type=MemoryPool, name=(.*)><PeakUsage>(\w*)' name: kafka_jvm_memory_pool_peak_usage labels: name: $1 type: $2 service: kafka-broker env: cluster-demo # JVM Thread - pattern: java.lang<type=Threading><>(\w*thread_count) name: kafka_jvm_$1 labels: service: kafka-broker env: cluster-demo attrNameSnakeCase: true # Operating System - pattern: java.lang<type=OperatingSystem><>(\w*) name: kafka_jvm_os_$1 labels: service: kafka-broker env: cluster-demo