-
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
[Monitoring] Introducing Logs UI #31275
[Monitoring] Introducing Logs UI #31275
Conversation
Pinging @elastic/stack-monitoring |
Very cool to see this starting to come together! For the For the |
💔 Build Failed |
💔 Build Failed |
💔 Build Failed |
23250b1
to
08d4224
Compare
💔 Build Failed |
💔 Build Failed |
💔 Build Failed |
💔 Build Failed |
💔 Build Failed |
💚 Build Succeeded |
Good stuff! Some feedback on functionality, all pretty minor:
|
Thanks for the great feedback @ycombinator! Comments inline:
Done
Yup, good point. I made this change so the cluster log table shows the name name too.
Let's defer that for now. I don't want to add too much in this PR.
Agreed. Updated the text.
Nice find. I added an edge case where we not only search for
Good idea. I added this.
Yes thanks for the reminder.
I don't disagree here, but I'd rather defer this for a later PR, but happy to discuss if someone feels strongly about it. |
Bad rebase. Sorry for the ping folks |
9e221e5
to
b79fdba
Compare
Hey, i missed this original ask I think when I was on vacation.
I think in a perfect world you'd just USE the logs UI and link directly over to it. The same way that APM or Infra link over to it. And if the functionality doesn't match what you need, the ui there should be adjusted to be more flexible. Know that's a pretty loaded answer and likely you're way too far down a path already, but from a product perspective I think it makes sense to view logs, whatever they may be in one set of tooling so the user always has the same experience. Might be worth pinging @weltenwort |
Thanks for weighing in @snide! We're doing that, but we also want to provide some inline logs to help the user debug problems they are seeing in the monitoring graphs. It's meant to provide a quick glimpse while letting the user go the logs ui for a deeper dive. I think we want to provide this glimpse until we can fully integrate the logs viewer into the stack monitoring app itself |
💚 Build Succeeded |
@elastic/stack-monitoring WDYT about merging this before waiting for the outstanding blocker (#30792) simply because this only affect a CCS-related setup, which we aren't even recommending? |
💔 Build Failed |
💚 Build Succeeded |
👍 from me. |
@chrisronline Great job! Would it be possible to add a filter above the table to ease finding the log file one is looking for? |
@yaronp68 I think we're hoping to get this in and then take feature requests in follow-up PRs. If you'd like to file an issue with those requests, we can get them triaged and prioritized. Thanks! |
@yaronp68 Let's talk about follow ups here: https://github.com/elastic/stack-monitoring/issues/27 |
@chrisronline Text changes look good. |
@ycombinator @justinkambic I know you already LGTM the PR, but did you want to re-review with some recent text changes? Or do you still feel good about it? |
If the only changes after my last review were text changes, the PR still LGTM. |
* Initial implementation * More logs UI work * Remove unnecessary code * Add support to build a logs url based on the cluster and/or node uuid * Deep link directly * Update link * Use CCS to access remote filebeat data * Fix existing tests * Add log specific api integration tests * Localization * Adding more localization * Adding unit tests for logs ui * Client side unit tests, configuration for log fetch count, adding visual callout for why we can't detect logs * Remove debug * Fix localization issue * Update tests * PR feedback * Update import * Format the count to avoid a huge string of numbers * Use @timestamp instead * Handle scenario where the time period is not right but the type exists * Update jest tests * Update api tests * Text changes * Add periods * Update tests
* [Monitoring] Introducing Logs UI (#31275) * Initial implementation * More logs UI work * Remove unnecessary code * Add support to build a logs url based on the cluster and/or node uuid * Deep link directly * Update link * Use CCS to access remote filebeat data * Fix existing tests * Add log specific api integration tests * Localization * Adding more localization * Adding unit tests for logs ui * Client side unit tests, configuration for log fetch count, adding visual callout for why we can't detect logs * Remove debug * Fix localization issue * Update tests * PR feedback * Update import * Format the count to avoid a huge string of numbers * Use @timestamp instead * Handle scenario where the time period is not right but the type exists * Update jest tests * Update api tests * Text changes * Add periods * Update tests * Update jest snapshot (#35082)
Backport: |
💚 Build Succeeded |
Resolves https://github.com/elastic/stack-monitoring/issues/27
Summary
This is a short to mid term logging implementation within Stack Monitoring. The long term solution to embed the Logs UI components within Stack Monitoring directly; however, these are some blockers on this front (Links coming soon...)
This solution involves showing, at most, 10 logs in a table with a link off to the Logs UI if the user wants to dive deeper. The idea behind this is to try and show the user recent, relevant logs that might help them debug their problem easier. If that doesn't help them enough, give them a link to the Logs UI that will allow them to view all the logs.
We also added something on the overview cluster page that shows a list of the types of logs (server, deprecation, slowlog, etc) and a count of the logs for each level (debug, log, warn, etc) of that type
Blockers
Currently, we have a couple hard blockers on this approach:
[Infra UI] Allow for passing arbitrary KQL expressions in the entry urls #23316 - We need the ability to "deep link" into the Logs UI so we can only show the logs the user really cares aboutResolved by [Logs UI] Add link-to router for logs (without a node) #31653Allow the log viewer to fetch data from a monitoring cluster #31657 - The Logs UI needs to the ability to read from the Monitoring ES cluster (instead of the default one configured through Kibana)[Logs UI] Allow other Kibana apps to define and link to custom log sources #30792 - We decided to merge in spite of this work not done yet, see this comment The Logs UI needs to support CCS by default. This doesn't affect the code in this PR, but clicking on the Logs UI link won't work properly until this is resolved.
Screenshots
TODO
LocalizationAddedTestsAdded unit and api integration.Figure out ifThis defaults tosize: 10
should be a constant or configurable?10
, but is configured throughxpack.monitoring.elasticsearch.logFetchCount
to a max of50
Make theThis is a constant, but not configurable by users.filebeat-*
indices a constant (or maybe from config too?)Testing
Default
CCS