-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
[Dataset quality] States for missing permissions #179638
Comments
@mdbirnstiehl, additionally we should document the permission model needed to access dataset quality feature, I was thinking in something similar on how it's done for security Data quality dashboard, wdyt? |
lets also keep in mind when deciding on the acceptance criteria to handle pasting urls where the flyout state is set to open for example |
Pinging @elastic/unified-observability (Team:Observability) |
Pinging @elastic/obs-ux-logs-team (Team:obs-ux-logs) |
What part of the table needs the stats call? As we are able to show a summary, I assume we could also show some info for each dataset, just not all columns? |
As of now we are relying in the dataStreamStats api for most of the table columns, without that call we might be able to show, with some changes, rawName of the dataset (no integration information or human-readable name), namespace and degraded Docs column. |
@yngrdyn will the the metering API for serverless provide all the information we need eventually? Or are there gaps we won't be able to close this way? |
We'll miss information to correlate to an integration. I think we could flip it around eventually and get the correlation from fleet, where we could know which datasets should belong to a certain integration, but in any case we would need certain level of permissions to get that information. |
The list of integrations and datasets in the data source selector can be displayed with the |
@ruflin has a point. If there's already something we could show, then we shouldn't preclude it to the user. We could also dedicate a column to quality (now it's just communicated as part of the degraded docs column), so it will remain in the version with less privileges as well. This column could also be filterable if users only want to see poor quality datasets, for example. See below the full access example: Another thing to consider is: should we completely remove the "active datasets" and "estimated data" box from the summary, or should we invest in an empty state? Can users eventually request access? Should we propose them with any available documentation? See below a very quick mock I wonder in the case of restricted permissions, if it still makes sense to keep the flyout... |
+1 for empty states where it makes sense, to make it easier for users to see what's missing and request the necessary permissions from their admins, we could display the missing privileges in the tooltip. |
will have a closer look on how can we get this information, we might be getting this info using an internal user rather than current user (?)
They will be able to see, for example, the evolution of the degradation, but without permissions they probably wouldn't be able to act on any future recommendation/action proposed by us. If we can get Integration info they could also be able to navigate to them from there |
…0560) Relates to #179638. ## 📝 Summary This PR is all about decoupling `integrations` from `DataStreamStats` request. This change is needed in order to render dataset quality table from only `DegradedDocsStats` or `DataStreamStats`, this will allow us to show the users the information as soon as it arrives, also will help us to introduce soonish states according to user privileges. ### Changes - New internal endpoint `GET /internal/dataset_quality/integrations` that will return all the installed integrations that are of a specific type, e.g. `logs`. - Generating datasets when integrations request has finished, so we render the integration information correctly and show the information available: dataStreamStats and/or degradedDocs. ### App statechart <img width="949" alt="image" src="https://github.com/elastic/kibana/assets/1313018/3548d3e8-f99c-4d79-86af-4926dfec7b5e"> ### Demos #### dataStreamStats taking longer to resolve https://github.com/elastic/kibana/assets/1313018/c1127ec2-2cfe-4796-a331-47a3ef718e98 #### degradedDocs taking longer to resolve https://github.com/elastic/kibana/assets/1313018/b6f9954f-8e2b-445f-89a5-b6d213abe4b1 #### dataStreamStats and degradedDocs loading https://github.com/elastic/kibana/assets/1313018/e7987657-41cd-4cfc-b24e-6ad47aed0df1 #### Integration request failed but we still show information related to datasets https://github.com/elastic/kibana/assets/1313018/965558f3-4660-47e9-a7a1-068491e08a8a
📓 Summary
When users have
viewer
role, they are able to see onlyDatasets Quality
summaryIf they use a direct url for accessing dataset details (flyout opened), this is what they see
Errors
Error from the endpoint
dataset_quality/data_streams/stats?type=logs
Error form endpoint
dataset_quality/data_streams/estimated_data?type=logs&start=2024-03-27T14%3A51%3A17.556Z&end=2024-03-28T14%3A51%3A17.556Z
Error from endpoint ``
Adding a role with index
monitor
privileges overlogs-*-*
fixes the failures in the aforementioned endpoints and the user is able to see all the informationSince we still can fetch information about degraded Docs we should present the users with this information, and point them to documentation on how to fix their permissions problems instead of just failing the page when the requests have fall because of permissions problems. For doing that Isa has proposed the following mock up
For achieving this new state I propose the following tasks
Tasks
✔️ Acceptance criteria
When users don't have the required privileges to have all the information we show in dataset quality, they should be able to see a reduced version of the page:
Dataset name
with integration information related (icon),Namespace
,Degraded Docs
,Actions
.Active datasets
andEstimated data
replaced byYou don't have the necessary privileges to see this information. Learn more.
and a link to the dataset quality page documentation where they can check the required permission for the full version of the page.Dataset details
information with the message about the missing privileges as wellThe text was updated successfully, but these errors were encountered: