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 TSDB enablement #5800

Closed
13 tasks done
tetianakravchenko opened this issue Apr 5, 2023 · 7 comments
Closed
13 tasks done

Prometheus TSDB enablement #5800

tetianakravchenko opened this issue Apr 5, 2023 · 7 comments
Assignees

Comments

@tetianakravchenko
Copy link
Contributor

tetianakravchenko commented Apr 5, 2023

Test Environment Setup

  • Creation of Prometheus Test Environment

Datastream : Collector

Verification and validation

  • Verification of data in visualisation after enabling TSDB flag in kibana
  • Verification of the count of documents (before & after TSDB enablement) in Discover Interface

Datastream : Query

Verification and validation

  • Verification of data in visualisation after enabling TSDB flag in kibana
  • Verification of the count of documents (before & after TSDB enablement) in Discover Interface

Datastream : Remote Write

⚠️ after migrating to TSDB (labels_id is added) I can see dropped documents - reason: metrics are not correctly grouped by the labels, seems like a bug in metricbeat

related issue - #7533

Verification and validation

  • Verification of data in visualisation after enabling TSDB flag in kibana
  • Verification of the count of documents (before & after TSDB enablement) in Discover Interface
@tetianakravchenko tetianakravchenko self-assigned this Apr 5, 2023
@tetianakravchenko
Copy link
Contributor Author

tetianakravchenko commented Apr 6, 2023

relevant documentation during the TSDB research phase:

some limitation on dimensions fields - https://github.com/elastic/elasticsearch-adrs/blob/master/analytics/tsdb/tsdb-design.md#constraints-on-dimension-fields

TSDB Dimensions proposal for ecs field - elastic/ecs#2172

@tetianakravchenko
Copy link
Contributor Author

tetianakravchenko commented Apr 12, 2023

Common

  1. For the prometheus integration labels should be used as an dimensions, since labels field is of type object and can exceed the existing limit of 16 fields on _tsid (7 ecs fields are marked as dimension, left only 9), I think it makes sense to introduce the fingerprint processor as mentioned in doc

For example, one of documents that I found has 10 label - together with ecs fields it is already 17 fields - that exceeds the default limit
Screenshot 2023-04-12 at 16 05 36

it is still possible to rewrite the default limit, but since the number of labels is dynamic I think it is better to use fingerprint processor

  1. Metric_type for fields with dynamic mapping does not work - [Fleet] TSDB: need metric_type mapping for dynamic templates kibana#155004
    Metric_type is a missing part for all 3 data_streams.

  2. Histograms are not supported - after enabling TSDB histogram format has changed:

Screenshot 2023-04-17 at 16 34 42

@tetianakravchenko
Copy link
Contributor Author

tetianakravchenko commented Apr 24, 2023

Dimensions

✅ Collector datastream - all works after merging fix PR ✅

  1. After enabling TSDB - 1 document is dropped. Fix - [Prometheus] Add up metric to the document with the same set of labels beats#35117
  2. Dashboard for Prometheus Server - some gaps, should be fixed by the mentioned above PR - [Prometheus] Add up metric to the document with the same set of labels beats#35117

Query

  1. Enabling TSDB - depending on list of queries, can see missing document
    One of 2 use case: using query that returns a single value - in this case no labels will be returned, but labels_id will be still calculated:

Screenshot 2023-04-24 at 16 24 48

  1. No dashboards for this data_stream

Remote_write

  1. after migrating to TSDB (labels_id is added) I can see dropped documents - reason: metrics are not correctly grouped by the labels, seems like a bug in metricbeat
  2. Dashboard is affected due to missing documents

@StephanErb
Copy link

@tetianakravchenko are you considering to support use_types and rate_counters here also? Or is use_types implicitly assumed anyway to differentiate between counters, gauges, and histograms?

@lalit-satapathy
Copy link
Collaborator

@tetianakravchenko, Can metric_type be now added since elastic/kibana#155004 is fixed?

@lalit-satapathy
Copy link
Collaborator

@tetianakravchenko, Can we update this issue/description, where we are wrt. prometheus TSDB migration and testing status?

@tetianakravchenko
Copy link
Contributor Author

@tetianakravchenko, Can we update this issue/description, where we are wrt. prometheus TSDB migration and testing status?

@lalit-satapathy I've updated description. going to run local tests for collector/query today

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

No branches or pull requests

3 participants