global: scrape_interval: 15s scrape_timeout: 10s evaluation_interval: 15s alerting: alertmanagers: - static_configs: - targets: [] scheme: http timeout: 10s scrape_configs: - job_name: prometheus scrape_interval: 15s scrape_timeout: 15s metrics_path: /metrics scheme: http static_configs: - targets: - localhost:9090 - job_name: "dse" scrape_interval: 15s scrape_timeout: 15s honor_labels: true file_sd_configs: - files: - 'tg_dse.json' metric_relabel_configs: #drop metrics we can calculate from prometheus directly - source_labels: [__name__] regex: .*rate_(mean|1m|5m|15m) action: drop #save the original name for all metrics - source_labels: [__name__] regex: (collectd_(dse|mcac)_.+) target_label: prom_name replacement: ${1} - source_labels: ["prom_name"] regex: .+_bucket_(\d+) target_label: le replacement: ${1} - source_labels: ["prom_name"] regex: .+_bucket_inf target_label: le replacement: +Inf - source_labels: ["prom_name"] regex: .*_histogram_p(\d+) target_label: quantile replacement: .${1} - source_labels: ["prom_name"] regex: .*_histogram_min target_label: quantile replacement: "0" - source_labels: ["prom_name"] regex: .*_histogram_max target_label: quantile replacement: "1" #Convert from MCAC - source_labels: ["mcac"] regex: (.+) target_label: dse replacement: ${1} - regex: mcac action: labeldrop #Table Metrics *ALL* we can drop - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.table\.(\w+) action: drop #Table Metrics - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.table\.(\w+)\.(\w+)\.(\w+) target_label: table replacement: ${3} - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.table\.(\w+)\.(\w+)\.(\w+) target_label: keyspace replacement: ${2} - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.table\.(\w+)\.(\w+)\.(\w+) target_label: __name__ replacement: dse_table_${1} #Keyspace Metrics - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.keyspace\.(\w+)\.(\w+) target_label: keyspace replacement: ${2} - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.keyspace\.(\w+)\.(\w+) target_label: __name__ replacement: dse_keyspace_${1} #ThreadPool Metrics (one type is repair.task so we just ignore the second part) - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.thread_pools\.(\w+)\.(\w+)\.(\w+).* target_label: pool_type replacement: ${2} - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.thread_pools\.(\w+)\.(\w+)\.(\w+).* target_label: pool_name replacement: ${3} - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.thread_pools\.(\w+)\.(\w+)\.(\w+).* target_label: __name__ replacement: dse_thread_pools_${1} #ClientRequest Metrics - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.client_request\.(\w+)\.(\w+)$ target_label: request_type replacement: ${2} - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.client_request\.(\w+)\.(\w+)$ target_label: __name__ replacement: dse_client_request_${1} - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.client_request\.(\w+)\.(\w+)\.(\w+)$ target_label: cl replacement: ${3} - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.client_request\.(\w+)\.(\w+)\.(\w+)$ target_label: request_type replacement: ${2} - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.client_request\.(\w+)\.(\w+)\.(\w+)$ target_label: __name__ replacement: dse_client_request_${1}_cl #Cache Metrics - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.cache\.(\w+)\.(\w+) target_label: cache_name replacement: ${2} - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.cache\.(\w+)\.(\w+) target_label: __name__ replacement: dse_cache_${1} #CQL Metrics - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.cql\.(\w+) target_label: __name__ replacement: dse_cql_${1} #Dropped Message Metrics - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.dropped_message\.(\w+)\.(\w+) target_label: message_type replacement: ${2} - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.dropped_message\.(\w+)\.(\w+) target_label: __name__ replacement: dse_dropped_message_${1} #Streaming Metrics - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.streaming\.(\w+)\.(.+)$ target_label: peer_ip replacement: ${2} - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.streaming\.(\w+)\.(.+)$ target_label: __name__ replacement: dse_streaming_${1} - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.streaming\.(\w+)$ target_label: __name__ replacement: dse_streaming_${1} #CommitLog Metrics - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.commit_log\.(\w+) target_label: __name__ replacement: dse_commit_log_${1} #Compaction Metrics - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.compaction\.(\w+) target_label: __name__ replacement: dse_compaction_${1} #Storage Metrics - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.storage\.(\w+) target_label: __name__ replacement: dse_storage_${1} #Batch Metrics - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.batch\.(\w+) target_label: __name__ replacement: dse_batch_${1} #Client Metrics - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.client\.(\w+) target_label: __name__ replacement: dse_client_${1} #BufferPool Metrics - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.buffer_pool\.(\w+) target_label: __name__ replacement: dse_buffer_pool_${1} #Index Metrics - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.index\.(\w+) target_label: __name__ replacement: dse_sstable_index_${1} #Storage Attached Index Metrics - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.storage_attached_index\.(\w+)\.(\w+)\.(\w+)\.(\w+)\.(\w+)\.(\w+) target_label: index replacement: ${4} - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.storage_attached_index\.(\w+)\.(\w+)\.(\w+)\.(\w+)\.(\w+)\.(\w+) target_label: table replacement: ${3} - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.storage_attached_index\.(\w+)\.(\w+)\.(\w+)\.(\w+)\.(\w+)\.(\w+) target_label: keyspace replacement: ${2} - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.storage_attached_index\.(\w+)\.(\w+)\.(\w+)\.(\w+)\.(\w+)\.(\w+) target_label: __name__ replacement: dse_storage_attached_index_${5}_${6} - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.storage_attached_index\.(\w+)\.(\w+)\.(\w+)\.(\w+)\.(\w+) target_label: table replacement: ${3} - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.storage_attached_index\.(\w+)\.(\w+)\.(\w+)\.(\w+)\.(\w+) target_label: keyspace replacement: ${2} - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.storage_attached_index\.(\w+)\.(\w+)\.(\w+)\.(\w+)\.(\w+) target_label: __name__ replacement: dse_storage_attached_index_${4}_${5} - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.storage_attached_index\.(\w+) target_label: __name__ replacement: dse_storage_attached_index_${1} #HintService Metrics - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.hinted_hand_off_manager\.([^\-]+)-(\w+) target_label: peer_ip replacement: ${2} - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.hinted_hand_off_manager\.([^\-]+)-(\w+) target_label: __name__ replacement: dse_hints_${1} #HintService Metrics - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.hints_service\.hints_delays\-(\w+) target_label: peer_ip replacement: ${1} - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.hints_service\.hints_delays\-(\w+) target_label: __name__ replacement: dse_hints_hints_delays - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.hints_service\.([^\-]+) target_label: __name__ replacement: dse_hints_${1} #NodeSync Metrics - source_labels: ["dse"] regex: com\.datastax\.nodesync\.node_sync_metrics\.(node_sync_)?(\w+) target_label: __name__ replacement: dse_node_sync_${2} #ContinuousPaging Metrics - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.continuous_paging\.(\w+) target_label: __name__ replacement: dse_continuous_paging_${1} - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.continuous_paging\.(\w+)\.(\w+) target_label: __name__ replacement: dse_continuous_paging_${2}_${1} # Misc - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.memtable_pool\.(\w+) target_label: __name__ replacement: dse_memtable_pool_${1} - source_labels: ["dse"] regex: com\.datastax\.bdp\.type\.performance_objects\.name\.cql_slow_log\.metrics\.queries_latency target_label: __name__ replacement: dse_cql_slow_log_query_latency - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.read_coordination\.(.*) target_label: read_type replacement: $1 - source_labels: ["dse"] regex: org\.apache\.cassandra\.metrics\.read_coordination\.(.*) target_label: __name__ replacement: dse_read_coordination_requests #GC Metrics - source_labels: ["dse"] regex: jvm\.gc\.(\w+)\.(\w+) target_label: collector_type replacement: ${1} - source_labels: ["dse"] regex: jvm\.gc\.(\w+)\.(\w+) target_label: __name__ replacement: dse_jvm_gc_${2} #JVM Metrics - source_labels: ["dse"] regex: jvm\.memory\.(\w+)\.(\w+) target_label: memory_type replacement: ${1} - source_labels: ["dse"] regex: jvm\.memory\.(\w+)\.(\w+) target_label: __name__ replacement: dse_jvm_memory_${2} - source_labels: ["dse"] regex: jvm\.memory\.pools\.(\w+)\.(\w+) target_label: pool_name replacement: ${1} - source_labels: ["dse"] regex: jvm\.memory\.pools\.(\w+)\.(\w+) target_label: __name__ replacement: dse_jvm_memory_pool_${2} - source_labels: ["dse"] regex: jvm\.fd\.usage target_label: __name__ replacement: dse_jvm_fd_usage - source_labels: ["dse"] regex: jvm\.buffers\.(\w+)\.(\w+) target_label: buffer_type replacement: ${1} - source_labels: ["dse"] regex: jvm\.buffers\.(\w+)\.(\w+) target_label: __name__ replacement: dse_jvm_buffer_${2} #Solr Table Metrics with metrics for 5.1 and 6.0.10 - source_labels: ["dse"] regex: com\.datastax\.bdp\.search\.(\w+)\.(\w+)\.(\w+)\.(\w+)$ target_label: table replacement: ${3} - source_labels: ["dse"] regex: com\.datastax\.bdp\.search\.(\w+)\.(\w+)\.(\w+)\.(\w+)$ target_label: keyspace replacement: ${2} - source_labels: ["dse"] regex: com\.datastax\.bdp\.search\.(\w+)\.(\w+)\.(\w+)\.(\w+)$ target_label: __name__ replacement: dse_solr_metric_${1}_${4} #Solr Table Metrics with metrics for 6.7/6.8 - source_labels: ["dse"] regex: com\.datastax\.bdp\.search\.(\w+)\.(\w+)\.(\w+)\.(\w+)\.(\w+) target_label: table replacement: ${3} - source_labels: ["dse"] regex: com\.datastax\.bdp\.search\.(\w+)\.(\w+)\.(\w+)\.(\w+)\.(\w+) target_label: keyspace replacement: ${2} - source_labels: ["dse"] regex: com\.datastax\.bdp\.search\.(\w+)\.(\w+)\.(\w+)\.(\w+)\.(\w+) target_label: __name__ replacement: dse_solr_metric_${1}_${4} # replacement: dse_solr_metric_${1}_${4}_${5} #Solr Table Metrics for 5.1 and 6.0.x - source_labels: ["dse"] regex: com\.datastax\.bdp\.search\.(\w+)\.(\w+)\.(\w+) target_label: table replacement: ${3} - source_labels: ["dse"] regex: com\.datastax\.bdp\.search\.(\w+)\.(\w+)\.(\w+) target_label: keyspace replacement: ${2} - source_labels: ["dse"] regex: com\.datastax\.bdp\.search\.(\w+)\.(\w+)\.(\w+) target_label: __name__ replacement: dse_solr_core_table_${1} #Solr Table Metrics for 6.7/6/8 (for index_pool string) - source_labels: ["dse"] regex: com\.datastax\.bdp\.search\.index_pool\.(\w+)\.(\w+)\.(\w+)\.(\w+) target_label: table replacement: ${2} - source_labels: ["dse"] regex: com\.datastax\.bdp\.search\.index_pool\.(\w+)\.(\w+)\.(\w+)\.(\w+) target_label: keyspace replacement: ${1} - source_labels: ["dse"] regex: com\.datastax\.bdp\.search\.index_pool\.(\w+)\.(\w+)\.(\w+)\.(\w+) target_label: __name__ replacement: dse_solr_core_table_${3}_${4} #Solr Table Metrics for 6.7/6.8 (for index_pool string with only 3 element) - source_labels: ["dse"] regex: com\.datastax\.bdp\.search\.index_pool\.(\w+)\.(\w+)\.(\w+)$ target_label: table replacement: ${2} - source_labels: ["dse"] regex: com\.datastax\.bdp\.search\.index_pool\.(\w+)\.(\w+)\.(\w+)$ target_label: keyspace replacement: ${1} - source_labels: ["dse"] regex: com\.datastax\.bdp\.search\.index_pool\.(\w+)\.(\w+)\.(\w+)$ target_label: __name__ replacement: dse_solr_core_table_${3} #SSB&R Metrics - source_labels: ["dse"] regex: com\.datastax\.backups\.(\w+)\.(\w+)\.(\w+) target_label: __name__ replacement: dse_backup_store_${2} - source_labels: ["dse"] regex: com\.datastax\.backups\.(\w+)\.(\w+) target_label: __name__ replacement: dse_${1}_${2} #Append the prom types back to formatted names - source_labels: [__name__, "prom_name"] regex: (dse_.*);.*(_micros_bucket|_bucket|_micros_count_total|_count_total|_total|_micros_sum|_sum|_stddev).* separator: ; target_label: __name__ replacement: ${1}${2} - regex: prom_name action: labeldrop