-
Notifications
You must be signed in to change notification settings - Fork 8.2k
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
[Fleet] Update agent details page #84434
[Fleet] Update agent details page #84434
Conversation
f2a9100
to
e3ea6a9
Compare
e3ea6a9
to
4bdf9fa
Compare
Pinging @elastic/ingest-management (Team:Ingest Management) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The screenshot in the description looks great!
I tried to run locally but had some unrelated difficulty running a snapshot agent. I left some comments but it looks good overall
...t/sections/agents/agent_details_page/components/agent_details/agent_details_integrations.tsx
Show resolved
Hide resolved
...fleet/sections/agents/agent_details_page/components/agent_details/agent_details_overview.tsx
Outdated
Show resolved
Hide resolved
x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/index.tsx
Outdated
Show resolved
Hide resolved
const StyledCollapsablePanel = styled(EuiPanel).attrs((props) => ({ | ||
paddingSize: 'none', | ||
}))` | ||
.euiAccordion__triggerWrapper { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we do this without targeting EUI internal classes? If the solution isn't obvious, mind opening a ticket/discussion with the EUI team for a suggestion or fix?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I do not think it's possible to do it without custom css here, I know @hbharding implemented it the same way for the overview panel,
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey @nchaulet , It looks like what you're actually building is a table within the contents of the accordion body. I would explicitly use the EuiBasicTable component so that all the right associations are made between cells. Then you'll just need to remove the padding from the accordion but pass a custom padding and class to the button portion of the accordion. Here's an example CodeSandox https://codesandbox.io/s/thirsty-river-hmfd2?file=/index.js
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a lot I just updated to use a buttonClass in EuiAccordion works perfectly :)
...t/sections/agents/agent_details_page/components/agent_details/agent_details_integrations.tsx
Outdated
Show resolved
Hide resolved
} from '../agent_logs/constants'; | ||
|
||
export function displayInputType(inputType: string): string { | ||
if (inputType === 'logfile') { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we have TS types for any of these input types? Should we? Seems like we have a limited set of acceptable values, or at least a few known ones, and we could add some type safety to them.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We do not have, and only logfile and endpoint
are fix for metrics it's something like */metrics
...ugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/index.ts
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for all iterations and changes!
💚 Build SucceededMetrics [docs]Module Count
Async chunks
Page load bundle
History
To update your PR or re-run it, just comment with: |
* master: (63 commits) Revert the Revert of "[Alerting] renames Resolved action group to Recovered (elastic#84123)" (elastic#84662) declare kbn/monaco dependency on kbn/i18n explicitly (elastic#84660) Remove unscripted fields from sample data index-pattern saved objects (elastic#84659) [ML] Fix unnecessary trigger of wildcard field type search for ML plugin routes. (elastic#84605) Update create.asciidoc (elastic#84046) [Security Solution][Detections] Fix labels and issue with mandatory fields (elastic#84525) Fix flaky test suite (elastic#84602) [Security Solution] [Detections] Create a 'partial failure' status for rules (elastic#84293) Revert "[Alerting] renames Resolved action group to Recovered (elastic#84123)" Update code-comments describing babel plugins (elastic#84622) [Security Solution] [Cases] Cypress for case connector selector options (elastic#80745) [Discover] Unskip doc table tests (elastic#84564) [Lens] (Accessibility) Improve landmarks in Lens (elastic#84511) [Lens] (Accessibility) Focus mistakenly stops on righthand form (elastic#84519) Return early when parallel install process detected (elastic#84190) [Security Solution][Detections] Support arrays in event fields for Severity/Risk overrides (elastic#83723) [Security Solution][Detections] Fix grammatical error in validation message for threshold field in "Create new rule" -> "Define rule" (elastic#84490) [Fleet] Update agent details page (elastic#84434) adding documentation of use of NODE_EXTRA_CA_CERTS env var (elastic#84578) [Search] Integrate "Send to background" UI with session service (elastic#83073) ...
Hi Eric We have reviewed and created following 05 testcases for this ticket under Agent Details section:- |
Hi @EricDavisX We have created 07 testcases and executed 12 testcases under [Fleet] Update agent details page Test Run on 8.0.0-SNAPSHOT Kibana cloud environment.
Query: |
I don't know, good question. Can you open the question to the larger Fleet group in chat or in the testing-ticket (which is open for us to use for testing) please? And if we don't get a good or feasible / easy answer we can skip that manual assessment and rely on automation work the team should do. |
Hi Eric Thank you for sharing the feedback We have added the query on corresponding testing ticket #84962 |
Description
Implements the design defined here #81872
Implement new design for agent details page, this design prepare for having per integration status.
Details from the original issue:
Use
EuiBadge
to indicate agent status in the page's header areaAdds "last activity" in the header area. This is the same information we present in the previous page in the agent table.
Agent metadata is now wrapped inside a panel called "Overview". Some new information we'll be adding here include:
EuiBadge
with the integration's icon on the left side. This information is somewhat duplicative of what is shown on the right half of this page, but it provides a scannable representation. If an agent has multiple instances of the same integration (for example, Uptime/Synthetics monitors), it will only be shown once in the "Overview" panel, whereas the information on the right hand side will list all instances of an integration which could become quite long in the event of there being many instances.info
,warn
,debug
, orerror
). In a separate issue, we will add the ability for a user to set the log level for a single agent. [Fleet] Allow to config Agent log level #83330 (comment)On the right half of the page, we will list individual instances of an integration. Users can click the integration's name which will take them to the "edit page" for that integration. Users can also click the expand icon to view which inputs are configured for the integration. Once expanded, users can click the "view logs" icon which will take the user to the logs tab with a filter applied to only show logs that correspond with that process. I.e. the "logs" input will show the "elastic_agent.filebeat" dataset
UI Change
Update the details agent page to have two section: Overview and Integration.
The integration section is per default closed, and should show the different inputs when it's visible
UI change details
Status
We now use
EuiBadge
to display agent status and we usehealthy
,unhealthy
,offline
,updating
as status, the agent listing page will be updated in a follow up PRIntegration Badges
I updated the
AgentPolicyPackages
components to only show integration once.