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

[Usage collection] kibana config usage report arrays of objects #97609

Open
Bamieh opened this issue Apr 20, 2021 · 5 comments
Open

[Usage collection] kibana config usage report arrays of objects #97609

Bamieh opened this issue Apr 20, 2021 · 5 comments
Labels
enhancement New value added to drive a business result Feature:Telemetry impact:low Addressing this issue will have a low level of impact on the quality/strength of our product. loe:large Large Level of Effort Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc

Comments

@Bamieh
Copy link
Member

Bamieh commented Apr 20, 2021

We have a very few configs schemas with arrays of objects. Such as:

map:
  regionmap:
    layers:
      - name: "Australian States"
        url: "http://localhost:8000/aus_state.geojson"
        attribution: "https://exploratory.io/maps"
        fields:
            - name: "STATE_NAME"
              description: "State Name"

Currently we are reporting [redacted] if the arrayOf<object> config is set by the user.

map.regionmap.layers: '[redacted]'

We opted in for this behavior as it is unclear how we'd be indexing/searching these arrays of objects.
Kibana and ES do not make it easy to aggregate and visualize arrays of objects.

To improve the current status for these configs we have a few options:

  1. Keep reporting as [redacted]. Advise teams to manually expose these configs in their collectors rather than relying on the automatic kibana_config_usage collector if they need extra intel.

  2. report each property in the config as an array of keys

map.regionmap.layers.name: ['Australian States']
map.regionmap.layers.url: ['[redacted]']
map.regionmap.layers.attribution: ['[redacted]']
map.regionmap.layers.fields.name: ['STATE_NAME']
map.regionmap.layers.fields.description: ['State Name']
  1. Report config as a flattened array
map.regionmap.layers.0.name: ['Australian States']
map.regionmap.layers.0.url: ['[redacted]']
map.regionmap.layers.0.attribution: ['[redacted]']
map.regionmap.layers.0.fields.0.name: ['STATE_NAME']
map.regionmap.layers.0.fields.0.description: ['State Name']
  1. Report the config as is
map.regionmap.layers: [{
   name: 'Australian States',
   url: '[redacted]',
   attribution: '[redacted]',
   fields: [
      { name: 'STATE_NAME', description: 'State Name' },
   ]
}

For options 2-4 we need to check how these data shapes would affect aggregations and visualizations.

Teams affected by this (cc @elastic/kibana-security @elastic/kibana-gis )

@Bamieh Bamieh added Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc Team:KibanaTelemetry labels Apr 20, 2021
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-core (Team:Core)

@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-telemetry (Team:KibanaTelemetry)

@Bamieh Bamieh added the discuss label Apr 20, 2021
@legrego
Copy link
Member

legrego commented Apr 21, 2021

@elastic/kibana-security is already providing a more understandable report of our array-based settings, so from our perspective it's safe to omit these altogether from the generic usage report (option 1 as outlined above)

@Bamieh
Copy link
Member Author

Bamieh commented Sep 23, 2021

@chrisronline can you please list the array of objects configurations you want to report the value of. Is it possible to add those to a usage collector for now similar to how kibana-security is doing?

@chrisronline
Copy link
Contributor

Sure.

xpack.actions.customHostSettings.tls.rejectUnauthorized is deprecated in favor of xpack.actions.customHostSettings.tls.verificationMode. We need to collect telemetry on it's usage to know when we can remove it but since the field is an array, we can't automatically hook into the usage counter telemetry. We could tack it onto our normal telemetry but it'd be nice if all deprecated configs existed in the part of the telemetry document to make it easier to visualize

@exalate-issue-sync exalate-issue-sync bot added impact:low Addressing this issue will have a low level of impact on the quality/strength of our product. loe:small Small Level of Effort labels Nov 4, 2021
@lukeelmers lukeelmers added enhancement New value added to drive a business result and removed discuss labels Jan 11, 2022
@exalate-issue-sync exalate-issue-sync bot added loe:large Large Level of Effort and removed loe:small Small Level of Effort labels Jan 11, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New value added to drive a business result Feature:Telemetry impact:low Addressing this issue will have a low level of impact on the quality/strength of our product. loe:large Large Level of Effort Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc
Projects
None yet
Development

No branches or pull requests

5 participants