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

Validate Kubernetes Integration with TSDB #4618

Closed
24 tasks done
gizas opened this issue Nov 10, 2022 · 2 comments
Closed
24 tasks done

Validate Kubernetes Integration with TSDB #4618

gizas opened this issue Nov 10, 2022 · 2 comments
Assignees
Labels
Team:Cloudnative-Monitoring Label for the Cloud Native Monitoring team [elastic/obs-cloudnative-monitoring]

Comments

@gizas
Copy link
Contributor

gizas commented Nov 10, 2022

TSDB feature has been introduced since 8.5. Goal is to enable TSDB with latest Kubernetes Integration package and validate functionality of collection, ingestion and visualisation of Kubernetes resources.

Relevant information can be found here.

Goal*

Validate Kubernetes Integration functionality and UX with TSDB feature enabled

TSDB very simple example

Steps to reproduce the example
  1. Create TSDB index:
PUT /testing-timeseries-mode
{
  "settings": {
    "index": {
        "routing_path": [
          "dimension-1",
          "dimension-2"
        ],
        "mode": "time_series"
    }
  },
  "mappings": {
    "properties": {
      "counter-field": { 
        "type": "integer",
        "time_series_metric": "counter"
      },
      "dimension-1": { 
        "type": "keyword",
        "time_series_dimension": true
      },
      "dimension-2": { 
        "type": "keyword",
        "time_series_dimension": true
      }
    }
  }
}
  1. Try to add a document without any dimension (this is, no fields in the routing_path:
POST testing-timeseries-mode/_doc/
{
  "@timestamp": "2099-11-15T13:12:00",
  "counter-field": 123
}

It should fail:
image
3. Adding a document with a unique combination between timestamp and dimension should work:

POST testing-timeseries-mode/_doc/
{
  "@timestamp": "2099-11-15T13:12:00",
  "counter-field": 123,
  "dimension-1": "AA"
}
  1. If we try to POST a document with the same dimension and timestamp, but with a different counter-field value, then it will fail because the combination already exists:
POST testing-timeseries-mode/_doc/
{
  "@timestamp": "2099-11-15T13:12:00",
  "counter-field": 321,
  "dimension-1": "AA"
}
  1. If we still use the same dimension and timestamp, but use a new dimension, the new combination will be (timestamp, dimension1, dimension2) and that means it is still unique. It should work without any problems.
POST testing-timeseries-mode/_doc/
{
  "@timestamp": "2099-11-15T13:12:00",
  "counter-field": 321,
  "dimension-1": "AA",
  "dimension-2": "BB"
}

Outcomes:

Breaking the steps of the Story:

For the future:

  • If TSDB mode is the default, then update all Kubernetes Datastreams with index_mode: "time_series"
@lalit-satapathy
Copy link
Collaborator

@constanca-m,

Only few data streams have the sum aggregation issue which causes problem using the dashboard.

Our understanding is that, the remaining data streams of k8 package, work fine (both in dashboard and regular usage) with TSDB enabled, Please confirm.

@constanca-m
Copy link
Contributor

constanca-m commented Apr 25, 2023

I updated the description to include which data streams have the dashboards working @lalit-satapathy. I already opened a PR to fix 3 of the 5 that were broken. I will start working on trying to fix the other 2.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Team:Cloudnative-Monitoring Label for the Cloud Native Monitoring team [elastic/obs-cloudnative-monitoring]
Projects
None yet
Development

No branches or pull requests

3 participants