Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[prometheus] Eliminate labels fingerprint #9785

Merged
merged 15 commits into from
Jun 27, 2024

Conversation

gpop63
Copy link
Contributor

@gpop63 gpop63 commented May 4, 2024

Proposed commit message

Since 8.13.0 8.14.0 we can mark labels field as a dimension directly without having to use the fingerprint processor. Issue was fixed in elastic/elasticsearch#93564.

Removed entire pipeline for collector data stream as it was only being used for fingerprinting.

Data streams affected:

  • collector
  • query
  • remote_write

Checklist

  • I have reviewed tips for building integrations and this pull request is aligned with them.
  • I have verified that all data streams collect metrics or logs.
  • I have added an entry to my package's changelog.yml file.
  • I have verified that Kibana version constraints are current according to guidelines.

Author's Checklist

  • [ ]

How to test this PR locally

Related issues

Screenshots

@gpop63 gpop63 self-assigned this May 4, 2024
@gpop63 gpop63 marked this pull request as ready for review May 13, 2024 11:28
@gpop63 gpop63 requested review from a team as code owners May 13, 2024 11:28
@gpop63 gpop63 requested review from gizas and constanca-m May 13, 2024 11:28
@harnish-elastic
Copy link
Contributor

harnish-elastic commented May 14, 2024

Observation

Data collection with TSDB enabled: Found 1 doc in the discover

image (15)

Data collection without TSDB enabled: Found 64 docs in the discover

image (14)

Both setup having the same instance with same configurations.

In the TSDB disabled setup, all the 64 docs are having different prometheus.labels.* field with same timestamp. It seems like the valid documents are dropping by enabling TSDB!

@agithomas
Copy link
Contributor

Thanks @harnish-elastic for validating.

For changes involving TSDB, especially when the dimension fields are removed, please run the TSDB test toolkit and include it in the PR. It helps to detect if any documents are dropped.

@harnish-elastic
Copy link
Contributor

harnish-elastic commented May 14, 2024

Thanks @harnish-elastic for validating.

For changes involving TSDB, especially when the dimension fields are removed, please run the TSDB test toolkit and include it in the PR. It helps to detect if any documents are dropped.

@agithomas, I have also run the TSDB test toolkit, the observation is as below,

Run test toolkit without TSDB enabled in Kibana 8.13.0,

Output Values being used: elasticsearch_host = https://localhost:9200 elasticsearch_ca_path = /root/.elastic-package/profiles/default/certs/elasticsearch/ca-cert.pem elasticsearch_user = elastic elasticsearch_pwd = changeme data_stream = metrics-prometheus.collector-default docs_index = 0 settings_mappings_index = Last index of the data stream max_docs = All documents get_overlapping_files = True directory_overlapping_files = overwritten-docs-metrics-prometheus.collector-default display_docs = 10 copy_docs_per_dimension = 2

You're testing with version 8.13.0.

Testing data stream metrics-prometheus.collector-default.
Index being used for the documents is .ds-metrics-prometheus.collector-default-2024.05.14-000001.
Index being used for the settings and mappings is .ds-metrics-prometheus.collector-default-2024.05.14-000001.

Routing path is empty. Program will end.

@gpop63
Copy link
Contributor Author

gpop63 commented May 14, 2024

When using stack version 8.14.0-SNAPSHOT the mappings are fine. However for 8.13.0, the version which supposedly fixed this the mappings are not correct.

{
          "prometheus.labels.*": {
            "path_match": "prometheus.labels.*",
            "match_mapping_type": "string",
            "mapping": {
              "type": "keyword"
            }
          }
        },

Dynamic mappings for labels seems to properly set them as a dimension in 8.14.0-SNAPSHOT

{
  "prometheus.labels.*": {
    "path_match": "prometheus.labels.*",
    "match_mapping_type": "string",
    "mapping": {
      "time_series_dimension": true,
      "type": "keyword"
    }
  }
},

TSDB test:

You're testing with version 8.14.0-SNAPSHOT.

Testing data stream metrics-prometheus.collector-default.
Index being used for the documents is .ds-metrics-prometheus.collector-default-2024.05.14-000001.
Index being used for the settings and mappings is .ds-metrics-prometheus.collector-default-2024.05.14-000001.

The time series fields for the TSDB index are: 
        - dimension (11 fields):
                - agent.id
                - cloud.account.id
                - cloud.availability_zone
                - cloud.instance.id
                - cloud.provider
                - cloud.region
                - container.id
                - host.name
                - prometheus.labels.instance
                - prometheus.labels.job
                - service.address
        - gauge (1 fields):
                - prometheus.up.value
        - routing_path (11 fields):
                - agent.id
                - cloud.account.id
                - cloud.availability_zone
                - cloud.instance.id
                - cloud.provider
                - cloud.region
                - container.id
                - host.name
                - prometheus.labels.instance
                - prometheus.labels.job
                - service.address

Index tsdb-index-enabled successfully created.

Copying documents from .ds-metrics-prometheus.collector-default-2024.05.14-000001 to tsdb-index-enabled...
All 102 documents taken from index .ds-metrics-prometheus.collector-default-2024.05.14-000001 were successfully placed to index tsdb-index-enabled.

Each label is being recognized as a dimension so it seems fine.

@agithomas WDYT?

@agithomas
Copy link
Contributor

From the TSDB toolkit output, there seems to be no drop in the documents.

@gpop63
Copy link
Contributor Author

gpop63 commented May 15, 2024

@agithomas if the dynamic mapping of labels is not making each label a dimension in 8.13.0, that means we have to bump kibana version to 8.14.0 right?

@agithomas
Copy link
Contributor

f the dynamic mapping of labels is not making each label a dimension in 8.13.0, that means we have to bump kibana version to 8.14.0 right?

@felixbarny ,can you confirm if the feature is available from 8.14.0 or 8.13.0. When tested with 8.13.0, we observed documents getting dropped, possibly indicating missing feature / functionality. [Reference]. (#9785 (comment)) .

cc @tommyers-elastic

@harnish-elastic
Copy link
Contributor

harnish-elastic commented May 15, 2024

Tested TSDB enablement with 8.14.0-SNAPSHOT,

TSDB works fine in 8.14.0-SNAPSHOT. I can see 140 events in before TSDB and after TSDB.

image

Mappings Values being used: elasticsearch_host = https://localhost:9200 elasticsearch_ca_path = /root/.elastic-package/profiles/default/certs/elasticsearch/ca-cert.pem elasticsearch_user = elastic elasticsearch_pwd = changeme data_stream = metrics-prometheus.collector-default docs_index = 0 settings_mappings_index = Last index of the data stream max_docs = All documents get_overlapping_files = True directory_overlapping_files = overwritten-docs-metrics-prometheus.collector-default display_docs = 10 copy_docs_per_dimension = 2

You're testing with version 8.14.0-SNAPSHOT.

Testing data stream metrics-prometheus.collector-default.
Index being used for the documents is .ds-metrics-prometheus.collector-default-2024.05.15-000001.
Index being used for the settings and mappings is .ds-metrics-prometheus.collector-default-2024.05.15-000001.

The time series fields for the TSDB index are:
- dimension (30 fields):
- agent.id
- cloud.account.id
- cloud.availability_zone
- cloud.instance.id
- cloud.provider
- cloud.region
- container.id
- host.name
- prometheus.labels.branch
- prometheus.labels.call
- prometheus.labels.code
- prometheus.labels.config
- prometheus.labels.dialer_name
- prometheus.labels.endpoint
- prometheus.labels.event
- prometheus.labels.goversion
- prometheus.labels.handler
- prometheus.labels.instance
- prometheus.labels.interval
- prometheus.labels.job
- prometheus.labels.listener_name
- prometheus.labels.name
- prometheus.labels.quantile
- prometheus.labels.reason
- prometheus.labels.revision
- prometheus.labels.role
- prometheus.labels.scrape_job
- prometheus.labels.slice
- prometheus.labels.version
- service.address
- counter (107 fields):
- prometheus.go_gc_duration_seconds_count.counter
- prometheus.go_gc_duration_seconds_sum.counter
- prometheus.go_memstats_alloc_bytes_total.counter
- prometheus.go_memstats_frees_total.counter
- prometheus.go_memstats_lookups_total.counter
- prometheus.go_memstats_mallocs_total.counter
- prometheus.net_conntrack_dialer_conn_attempted_total.counter
- prometheus.net_conntrack_dialer_conn_closed_total.counter
- prometheus.net_conntrack_dialer_conn_established_total.counter
- prometheus.net_conntrack_dialer_conn_failed_total.counter
- prometheus.net_conntrack_listener_conn_accepted_total.counter
- prometheus.net_conntrack_listener_conn_closed_total.counter
- prometheus.process_cpu_seconds_total.counter
- prometheus.prometheus_engine_query_duration_seconds_count.counter
- prometheus.prometheus_engine_query_duration_seconds_sum.counter
- prometheus.prometheus_engine_query_log_failures_total.counter
- prometheus.prometheus_http_requests_total.counter
- prometheus.prometheus_notifications_dropped_total.counter
- prometheus.prometheus_remote_storage_exemplars_in_total.counter
- prometheus.prometheus_remote_storage_samples_in_total.counter
- prometheus.prometheus_remote_storage_string_interner_zero_reference_releases_total.counter
- prometheus.prometheus_rule_evaluation_duration_seconds_count.counter
- prometheus.prometheus_rule_evaluation_duration_seconds_sum.counter
- prometheus.prometheus_rule_group_duration_seconds_count.counter
- prometheus.prometheus_rule_group_duration_seconds_sum.counter
- prometheus.prometheus_sd_azure_failures_total.counter
- prometheus.prometheus_sd_consul_rpc_duration_seconds_count.counter
- prometheus.prometheus_sd_consul_rpc_duration_seconds_sum.counter
- prometheus.prometheus_sd_consul_rpc_failures_total.counter
- prometheus.prometheus_sd_dns_lookup_failures_total.counter
- prometheus.prometheus_sd_dns_lookups_total.counter
- prometheus.prometheus_sd_file_read_errors_total.counter
- prometheus.prometheus_sd_file_scan_duration_seconds_count.counter
- prometheus.prometheus_sd_file_scan_duration_seconds_sum.counter
- prometheus.prometheus_sd_http_failures_total.counter
- prometheus.prometheus_sd_kubernetes_events_total.counter
- prometheus.prometheus_sd_kuma_fetch_duration_seconds_count.counter
- prometheus.prometheus_sd_kuma_fetch_duration_seconds_sum.counter
- prometheus.prometheus_sd_kuma_fetch_failures_total.counter
- prometheus.prometheus_sd_kuma_fetch_skipped_updates_total.counter
- prometheus.prometheus_sd_linode_failures_total.counter
- prometheus.prometheus_sd_received_updates_total.counter
- prometheus.prometheus_sd_updates_total.counter
- prometheus.prometheus_target_interval_length_seconds_count.counter
- prometheus.prometheus_target_interval_length_seconds_sum.counter
- prometheus.prometheus_target_scrape_pool_exceeded_label_limits_total.counter
- prometheus.prometheus_target_scrape_pool_exceeded_target_limit_total.counter
- prometheus.prometheus_target_scrape_pool_reloads_failed_total.counter
- prometheus.prometheus_target_scrape_pool_reloads_total.counter
- prometheus.prometheus_target_scrape_pool_sync_total.counter
- prometheus.prometheus_target_scrape_pools_failed_total.counter
- prometheus.prometheus_target_scrape_pools_total.counter
- prometheus.prometheus_target_scrapes_cache_flush_forced_total.counter
- prometheus.prometheus_target_scrapes_exceeded_body_size_limit_total.counter
- prometheus.prometheus_target_scrapes_exceeded_sample_limit_total.counter
- prometheus.prometheus_target_scrapes_exemplar_out_of_order_total.counter
- prometheus.prometheus_target_scrapes_sample_duplicate_timestamp_total.counter
- prometheus.prometheus_target_scrapes_sample_out_of_bounds_total.counter
- prometheus.prometheus_target_scrapes_sample_out_of_order_total.counter
- prometheus.prometheus_target_sync_failed_total.counter
- prometheus.prometheus_target_sync_length_seconds_count.counter
- prometheus.prometheus_target_sync_length_seconds_sum.counter
- prometheus.prometheus_template_text_expansion_failures_total.counter
- prometheus.prometheus_template_text_expansions_total.counter
- prometheus.prometheus_treecache_zookeeper_failures_total.counter
- prometheus.prometheus_tsdb_checkpoint_creations_failed_total.counter
- prometheus.prometheus_tsdb_checkpoint_creations_total.counter
- prometheus.prometheus_tsdb_checkpoint_deletions_failed_total.counter
- prometheus.prometheus_tsdb_checkpoint_deletions_total.counter
- prometheus.prometheus_tsdb_compactions_failed_total.counter
- prometheus.prometheus_tsdb_compactions_skipped_total.counter
- prometheus.prometheus_tsdb_compactions_total.counter
- prometheus.prometheus_tsdb_compactions_triggered_total.counter
- prometheus.prometheus_tsdb_exemplar_exemplars_appended_total.counter
- prometheus.prometheus_tsdb_exemplar_out_of_order_exemplars_total.counter
- prometheus.prometheus_tsdb_head_chunks_created_total.counter
- prometheus.prometheus_tsdb_head_chunks_removed_total.counter
- prometheus.prometheus_tsdb_head_gc_duration_seconds_count.counter
- prometheus.prometheus_tsdb_head_gc_duration_seconds_sum.counter
- prometheus.prometheus_tsdb_head_samples_appended_total.counter
- prometheus.prometheus_tsdb_head_series_created_total.counter
- prometheus.prometheus_tsdb_head_series_not_found_total.counter
- prometheus.prometheus_tsdb_head_series_removed_total.counter
- prometheus.prometheus_tsdb_head_truncations_failed_total.counter
- prometheus.prometheus_tsdb_head_truncations_total.counter
- prometheus.prometheus_tsdb_mmap_chunk_corruptions_total.counter
- prometheus.prometheus_tsdb_out_of_bound_samples_total.counter
- prometheus.prometheus_tsdb_out_of_order_samples_total.counter
- prometheus.prometheus_tsdb_reloads_failures_total.counter
- prometheus.prometheus_tsdb_reloads_total.counter
- prometheus.prometheus_tsdb_size_retentions_total.counter
- prometheus.prometheus_tsdb_snapshot_replay_error_total.counter
- prometheus.prometheus_tsdb_time_retentions_total.counter
- prometheus.prometheus_tsdb_vertical_compactions_total.counter
- prometheus.prometheus_tsdb_wal_completed_pages_total.counter
- prometheus.prometheus_tsdb_wal_corruptions_total.counter
- prometheus.prometheus_tsdb_wal_fsync_duration_seconds_count.counter
- prometheus.prometheus_tsdb_wal_fsync_duration_seconds_sum.counter
- prometheus.prometheus_tsdb_wal_page_flushes_total.counter
- prometheus.prometheus_tsdb_wal_truncate_duration_seconds_count.counter
- prometheus.prometheus_tsdb_wal_truncate_duration_seconds_sum.counter
- prometheus.prometheus_tsdb_wal_truncations_failed_total.counter
- prometheus.prometheus_tsdb_wal_truncations_total.counter
- prometheus.prometheus_tsdb_wal_writes_failed_total.counter
- prometheus.prometheus_web_federation_errors_total.counter
- prometheus.prometheus_web_federation_warnings_total.counter
- prometheus.promhttp_metric_handler_requests_total.counter
- gauge (181 fields):
- prometheus.go_gc_duration_seconds.value
- prometheus.go_gc_duration_seconds_count.rate
- prometheus.go_gc_duration_seconds_sum.rate
- prometheus.go_goroutines.value
- prometheus.go_info.value
- prometheus.go_memstats_alloc_bytes.value
- prometheus.go_memstats_alloc_bytes_total.rate
- prometheus.go_memstats_buck_hash_sys_bytes.value
- prometheus.go_memstats_frees_total.rate
- prometheus.go_memstats_gc_sys_bytes.value
- prometheus.go_memstats_heap_alloc_bytes.value
- prometheus.go_memstats_heap_idle_bytes.value
- prometheus.go_memstats_heap_inuse_bytes.value
- prometheus.go_memstats_heap_objects.value
- prometheus.go_memstats_heap_released_bytes.value
- prometheus.go_memstats_heap_sys_bytes.value
- prometheus.go_memstats_last_gc_time_seconds.value
- prometheus.go_memstats_lookups_total.rate
- prometheus.go_memstats_mallocs_total.rate
- prometheus.go_memstats_mcache_inuse_bytes.value
- prometheus.go_memstats_mcache_sys_bytes.value
- prometheus.go_memstats_mspan_inuse_bytes.value
- prometheus.go_memstats_mspan_sys_bytes.value
- prometheus.go_memstats_next_gc_bytes.value
- prometheus.go_memstats_other_sys_bytes.value
- prometheus.go_memstats_stack_inuse_bytes.value
- prometheus.go_memstats_stack_sys_bytes.value
- prometheus.go_memstats_sys_bytes.value
- prometheus.go_threads.value
- prometheus.net_conntrack_dialer_conn_attempted_total.rate
- prometheus.net_conntrack_dialer_conn_closed_total.rate
- prometheus.net_conntrack_dialer_conn_established_total.rate
- prometheus.net_conntrack_dialer_conn_failed_total.rate
- prometheus.net_conntrack_listener_conn_accepted_total.rate
- prometheus.net_conntrack_listener_conn_closed_total.rate
- prometheus.process_cpu_seconds_total.rate
- prometheus.process_max_fds.value
- prometheus.process_open_fds.value
- prometheus.process_resident_memory_bytes.value
- prometheus.process_start_time_seconds.value
- prometheus.process_virtual_memory_bytes.value
- prometheus.process_virtual_memory_max_bytes.value
- prometheus.prometheus_api_remote_read_queries.value
- prometheus.prometheus_build_info.value
- prometheus.prometheus_config_last_reload_success_timestamp_seconds.value
- prometheus.prometheus_config_last_reload_successful.value
- prometheus.prometheus_engine_queries.value
- prometheus.prometheus_engine_queries_concurrent_max.value
- prometheus.prometheus_engine_query_duration_seconds_count.rate
- prometheus.prometheus_engine_query_duration_seconds_sum.rate
- prometheus.prometheus_engine_query_log_enabled.value
- prometheus.prometheus_engine_query_log_failures_total.rate
- prometheus.prometheus_http_requests_total.rate
- prometheus.prometheus_notifications_alertmanagers_discovered.value
- prometheus.prometheus_notifications_dropped_total.rate
- prometheus.prometheus_notifications_queue_capacity.value
- prometheus.prometheus_notifications_queue_length.value
- prometheus.prometheus_ready.value
- prometheus.prometheus_remote_storage_exemplars_in_total.rate
- prometheus.prometheus_remote_storage_highest_timestamp_in_seconds.value
- prometheus.prometheus_remote_storage_samples_in_total.rate
- prometheus.prometheus_remote_storage_string_interner_zero_reference_releases_total.rate
- prometheus.prometheus_rule_evaluation_duration_seconds_count.rate
- prometheus.prometheus_rule_evaluation_duration_seconds_sum.rate
- prometheus.prometheus_rule_group_duration_seconds_count.rate
- prometheus.prometheus_rule_group_duration_seconds_sum.rate
- prometheus.prometheus_sd_azure_failures_total.rate
- prometheus.prometheus_sd_consul_rpc_duration_seconds_count.rate
- prometheus.prometheus_sd_consul_rpc_duration_seconds_sum.rate
- prometheus.prometheus_sd_consul_rpc_failures_total.rate
- prometheus.prometheus_sd_discovered_targets.value
- prometheus.prometheus_sd_dns_lookup_failures_total.rate
- prometheus.prometheus_sd_dns_lookups_total.rate
- prometheus.prometheus_sd_failed_configs.value
- prometheus.prometheus_sd_file_read_errors_total.rate
- prometheus.prometheus_sd_file_scan_duration_seconds_count.rate
- prometheus.prometheus_sd_file_scan_duration_seconds_sum.rate
- prometheus.prometheus_sd_http_failures_total.rate
- prometheus.prometheus_sd_kubernetes_events_total.rate
- prometheus.prometheus_sd_kuma_fetch_duration_seconds_count.rate
- prometheus.prometheus_sd_kuma_fetch_duration_seconds_sum.rate
- prometheus.prometheus_sd_kuma_fetch_failures_total.rate
- prometheus.prometheus_sd_kuma_fetch_skipped_updates_total.rate
- prometheus.prometheus_sd_linode_failures_total.rate
- prometheus.prometheus_sd_received_updates_total.rate
- prometheus.prometheus_sd_updates_total.rate
- prometheus.prometheus_target_interval_length_seconds.value
- prometheus.prometheus_target_interval_length_seconds_count.rate
- prometheus.prometheus_target_interval_length_seconds_sum.rate
- prometheus.prometheus_target_metadata_cache_bytes.value
- prometheus.prometheus_target_metadata_cache_entries.value
- prometheus.prometheus_target_scrape_pool_exceeded_label_limits_total.rate
- prometheus.prometheus_target_scrape_pool_exceeded_target_limit_total.rate
- prometheus.prometheus_target_scrape_pool_reloads_failed_total.rate
- prometheus.prometheus_target_scrape_pool_reloads_total.rate
- prometheus.prometheus_target_scrape_pool_sync_total.rate
- prometheus.prometheus_target_scrape_pool_targets.value
- prometheus.prometheus_target_scrape_pools_failed_total.rate
- prometheus.prometheus_target_scrape_pools_total.rate
- prometheus.prometheus_target_scrapes_cache_flush_forced_total.rate
- prometheus.prometheus_target_scrapes_exceeded_body_size_limit_total.rate
- prometheus.prometheus_target_scrapes_exceeded_sample_limit_total.rate
- prometheus.prometheus_target_scrapes_exemplar_out_of_order_total.rate
- prometheus.prometheus_target_scrapes_sample_duplicate_timestamp_total.rate
- prometheus.prometheus_target_scrapes_sample_out_of_bounds_total.rate
- prometheus.prometheus_target_scrapes_sample_out_of_order_total.rate
- prometheus.prometheus_target_sync_failed_total.rate
- prometheus.prometheus_target_sync_length_seconds_count.rate
- prometheus.prometheus_target_sync_length_seconds_sum.rate
- prometheus.prometheus_template_text_expansion_failures_total.rate
- prometheus.prometheus_template_text_expansions_total.rate
- prometheus.prometheus_treecache_watcher_goroutines.value
- prometheus.prometheus_treecache_zookeeper_failures_total.rate
- prometheus.prometheus_tsdb_blocks_loaded.value
- prometheus.prometheus_tsdb_checkpoint_creations_failed_total.rate
- prometheus.prometheus_tsdb_checkpoint_creations_total.rate
- prometheus.prometheus_tsdb_checkpoint_deletions_failed_total.rate
- prometheus.prometheus_tsdb_checkpoint_deletions_total.rate
- prometheus.prometheus_tsdb_clean_start.value
- prometheus.prometheus_tsdb_compaction_populating_block.value
- prometheus.prometheus_tsdb_compactions_failed_total.rate
- prometheus.prometheus_tsdb_compactions_skipped_total.rate
- prometheus.prometheus_tsdb_compactions_total.rate
- prometheus.prometheus_tsdb_compactions_triggered_total.rate
- prometheus.prometheus_tsdb_data_replay_duration_seconds.value
- prometheus.prometheus_tsdb_exemplar_exemplars_appended_total.rate
- prometheus.prometheus_tsdb_exemplar_exemplars_in_storage.value
- prometheus.prometheus_tsdb_exemplar_last_exemplars_timestamp_seconds.value
- prometheus.prometheus_tsdb_exemplar_max_exemplars.value
- prometheus.prometheus_tsdb_exemplar_out_of_order_exemplars_total.rate
- prometheus.prometheus_tsdb_exemplar_series_with_exemplars_in_storage.value
- prometheus.prometheus_tsdb_head_active_appenders.value
- prometheus.prometheus_tsdb_head_chunks.value
- prometheus.prometheus_tsdb_head_chunks_created_total.rate
- prometheus.prometheus_tsdb_head_chunks_removed_total.rate
- prometheus.prometheus_tsdb_head_gc_duration_seconds_count.rate
- prometheus.prometheus_tsdb_head_gc_duration_seconds_sum.rate
- prometheus.prometheus_tsdb_head_max_time.value
- prometheus.prometheus_tsdb_head_max_time_seconds.value
- prometheus.prometheus_tsdb_head_min_time.value
- prometheus.prometheus_tsdb_head_min_time_seconds.value
- prometheus.prometheus_tsdb_head_samples_appended_total.rate
- prometheus.prometheus_tsdb_head_series.value
- prometheus.prometheus_tsdb_head_series_created_total.rate
- prometheus.prometheus_tsdb_head_series_not_found_total.rate
- prometheus.prometheus_tsdb_head_series_removed_total.rate
- prometheus.prometheus_tsdb_head_truncations_failed_total.rate
- prometheus.prometheus_tsdb_head_truncations_total.rate
- prometheus.prometheus_tsdb_isolation_high_watermark.value
- prometheus.prometheus_tsdb_isolation_low_watermark.value
- prometheus.prometheus_tsdb_lowest_timestamp.value
- prometheus.prometheus_tsdb_lowest_timestamp_seconds.value
- prometheus.prometheus_tsdb_mmap_chunk_corruptions_total.rate
- prometheus.prometheus_tsdb_out_of_bound_samples_total.rate
- prometheus.prometheus_tsdb_out_of_order_samples_total.rate
- prometheus.prometheus_tsdb_reloads_failures_total.rate
- prometheus.prometheus_tsdb_reloads_total.rate
- prometheus.prometheus_tsdb_retention_limit_bytes.value
- prometheus.prometheus_tsdb_size_retentions_total.rate
- prometheus.prometheus_tsdb_snapshot_replay_error_total.rate
- prometheus.prometheus_tsdb_storage_blocks_bytes.value
- prometheus.prometheus_tsdb_symbol_table_size_bytes.value
- prometheus.prometheus_tsdb_time_retentions_total.rate
- prometheus.prometheus_tsdb_vertical_compactions_total.rate
- prometheus.prometheus_tsdb_wal_completed_pages_total.rate
- prometheus.prometheus_tsdb_wal_corruptions_total.rate
- prometheus.prometheus_tsdb_wal_fsync_duration_seconds.value
- prometheus.prometheus_tsdb_wal_fsync_duration_seconds_count.rate
- prometheus.prometheus_tsdb_wal_fsync_duration_seconds_sum.rate
- prometheus.prometheus_tsdb_wal_page_flushes_total.rate
- prometheus.prometheus_tsdb_wal_segment_current.value
- prometheus.prometheus_tsdb_wal_truncate_duration_seconds_count.rate
- prometheus.prometheus_tsdb_wal_truncate_duration_seconds_sum.rate
- prometheus.prometheus_tsdb_wal_truncations_failed_total.rate
- prometheus.prometheus_tsdb_wal_truncations_total.rate
- prometheus.prometheus_tsdb_wal_writes_failed_total.rate
- prometheus.prometheus_web_federation_errors_total.rate
- prometheus.prometheus_web_federation_warnings_total.rate
- prometheus.promhttp_metric_handler_requests_in_flight.value
- prometheus.promhttp_metric_handler_requests_total.rate
- prometheus.up.value
- routing_path (30 fields):
- agent.id
- cloud.account.id
- cloud.availability_zone
- cloud.instance.id
- cloud.provider
- cloud.region
- container.id
- host.name
- prometheus.labels.branch
- prometheus.labels.call
- prometheus.labels.code
- prometheus.labels.config
- prometheus.labels.dialer_name
- prometheus.labels.endpoint
- prometheus.labels.event
- prometheus.labels.goversion
- prometheus.labels.handler
- prometheus.labels.instance
- prometheus.labels.interval
- prometheus.labels.job
- prometheus.labels.listener_name
- prometheus.labels.name
- prometheus.labels.quantile
- prometheus.labels.reason
- prometheus.labels.revision
- prometheus.labels.role
- prometheus.labels.scrape_job
- prometheus.labels.slice
- prometheus.labels.version
- service.address

Index tsdb-index-enabled successfully created.

Copying documents from .ds-metrics-prometheus.collector-default-2024.05.15-000001 to tsdb-index-enabled...
All 4729 documents taken from index .ds-metrics-prometheus.collector-default-2024.05.15-000001 were successfully placed to index tsdb-index-enabled.

description: Collect metrics from Prometheus servers with Elastic Agent.
type: integration
categories:
- observability
- monitoring
- containers
conditions:
kibana.version: "^8.12.1"
kibana.version: "^8.13.0"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need to update this version to 8.14.0? As in 8.13.0 kibana seems like with the TSDB, seems like the events are getting dropped!

@elasticmachine
Copy link

elasticmachine commented May 16, 2024

🚀 Benchmarks report

To see the full report comment with /test benchmark fullreport

@gpop63
Copy link
Contributor Author

gpop63 commented May 16, 2024

/test

1 similar comment
@gpop63
Copy link
Contributor Author

gpop63 commented May 16, 2024

/test

@gpop63
Copy link
Contributor Author

gpop63 commented May 16, 2024

After bumping to 8.14.0 for some reason kibana fails to boot up. This seems like a CI problem.

  Container elastic-package-stack-kibana-1  Waiting
  Container elastic-package-stack-elasticsearch-1  Waiting
  Container elastic-package-stack-kibana-1  Waiting
  Container elastic-package-stack-elasticsearch-1  Healthy
  Container elastic-package-stack-kibana-1  Error
  Container elastic-package-stack-kibana-1  Error
  dependency failed to start: container elastic-package-stack-kibana-1 is unhealthy

@gpop63 gpop63 force-pushed the tsdb_eliminate_prometheus_fingerprint branch from 0e95b3d to 25446ae Compare May 16, 2024 17:13
@gpop63
Copy link
Contributor Author

gpop63 commented May 17, 2024

@jsoriano do you have any idea why the kibana container just wont start? The only thing I did is bump kibana version to 8.14.0 from 8.13.0 (it was working with 8.13.0). Locally there is no error when booting the stack.

  Container elastic-package-stack-kibana-1  Waiting
  Container elastic-package-stack-elasticsearch-1  Waiting
  Container elastic-package-stack-kibana-1  Waiting
  Container elastic-package-stack-elasticsearch-1  Healthy
  Container elastic-package-stack-kibana-1  Error
  Container elastic-package-stack-kibana-1  Error
  dependency failed to start: container elastic-package-stack-kibana-1 is unhealthy

@jsoriano
Copy link
Member

@gpop63 there is an issue with current 8.14 snapshots, it will be fixed in next snapshots, probably today. More info in elastic/kibana#183334 (comment).

@gpop63
Copy link
Contributor Author

gpop63 commented May 20, 2024

/test

Copy link

Quality Gate passed Quality Gate passed

Issues
0 New issues
0 Fixed issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
No data about Duplication

See analysis details on SonarQube

agithomas
agithomas previously approved these changes May 21, 2024
Copy link
Contributor

@agithomas agithomas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, as no document drop reported as part of the included test results.

@@ -1,4 +1,9 @@
# newer versions go on top
- version: "1.15.3"
changes:
- description: Eliminate labels fingerprint for tsdb purposes and use keyword type instead.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think, Remove instead of Eliminate would be a better word.
Also, I wonder if it is correct/important to have the phrase - and use the keyword type instead.

Copy link
Contributor

@agithomas agithomas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Query regarding changelog entry added.

@agithomas agithomas dismissed their stale review May 21, 2024 12:32

Dismissing the review as certain clarity regarding field removal is needed.

Copy link
Contributor

@tetianakravchenko tetianakravchenko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@gpop63 gpop63 requested a review from agithomas June 25, 2024 21:43
@gpop63 gpop63 removed the request for review from gizas June 25, 2024 21:44
Copy link
Contributor

@agithomas agithomas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Copy link

Quality Gate passed Quality Gate passed

Issues
0 New issues
0 Fixed issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
No data about Duplication

See analysis details on SonarQube

@elasticmachine
Copy link

💚 Build Succeeded

History

cc @gpop63 @harnish-elastic

@gpop63 gpop63 merged commit 2d5a3ba into elastic:main Jun 27, 2024
5 checks passed
@elasticmachine
Copy link

Package prometheus - 1.17.0 containing this change is available at https://epr.elastic.co/search?package=prometheus

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Eliminate fingerprinting in Prometheus TSDB input for Elastic 8.13 and above
9 participants