-
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
[Stack Monitoring] Viewing monitoring data in Cloud production cluster #128959
Comments
Pinging @elastic/infra-monitoring-ui (Team:Infra Monitoring UI) |
Put a note here as it's important:
Per guided by @neptunian, So this workaround is eligible only if
|
Another update for future refrence:
Per discuss further with @neptunian, if user has multiple prod cluster with 1 central monitoring cluster, doing the above is going to give the person on that particular production cluster access to all the data in the monitoring cluster regardless of which production cluster they are on. Since Stack Monitoring today is configured to query all configured remote clusters for monitoring data (an index pattern like This ticket may need to wait on #120384. |
I know I've discussed this before (I think with @jasonrhodes) but maybe I never opened an issue so thanks for opening this one. Automatically adding CSS remotes seems like the kind of thing that could catch a user off-guard. Especially after seeing how the default But an option I've had on my mind is having the orchestration layer (cloud, eck, etc) provide info about which deployment is handling monitoring for the currently viewed deployment. Then we could at least provide something in the UI like:
|
Thanks @matschaffer !! ❤️
That's what I proposed in an internal ticket, we should be at least guided if the cluster is using remote monitoring. |
So I think there are two ideas here but I just want to make sure I'm tracking. Given the following setup:
Idea 1: Local
|
Thanks @jasonrhodes for the comment!
Yes, you are right, we had several rounds of discussion internally and it came out that using CCS is much simpler than local duplication, in terms of the complexity aspect (, while local duplication idea, self-monitoring itself isn't really an issue, i.e. self-monitoring can block monitoring visibility).
Sorry but can you share some more insights about how to edit the AC please? |
@kunisen I changed the name of Idea 1 to "Local Mirroring" instead of "Local Duplication" to be more clear. This ticket is not about the specific problem you mention in your SDH, but the more general problem of "User visits Stack Monitoring UI in a Kibana instance that is being monitored via a separate dedicated monitoring cluster". We agree that seeing a "no monitoring data" screen there is confusing, and we'd like to fix it. The two ideas are either to read back in via CCS or to provide a link to the monitoring cluster. I do however see now that providing that link could be problematic if the user doesn't have access to that central monitoring cluster, and/or isn't supposed to visit there because it would provide that user with access to all the monitoring data that is collected there, so I don't think we've quite found a good solution yet. |
Thanks @jasonrhodes for the clarification and detailed explanation!
[1]100% agree that simply providing the link could be problematic as by doing that user may have more visibility than expected. [2]Previously @matschaffer and I had a zoom session, and we came up with a potential workaround, not on our table yet, but can help address things in such a situation. [Workaround] Sending prod cluster's monitoring data to monitoring cluster, production cluster accesses monitoring data via CCS, with kibana configuration to control visibilitygraph LR
subgraph team 1
ProdKibana["Kibana"]
ProdElasticsearch["Elasticsearch"]
ProdKibana-.->|"monitoring:.monitoring-* & configuration filter"|ProdElasticsearch
Metricbeat-.->|Poll|ProdElasticsearch
EndUser1([EndUser])-.->|Monitoring UI|ProdKibana
end
subgraph admin team
Admin([Admin])-.->|Monitoring UI|MonitoringElasticsearch
MonitoringElasticsearch["Elasticsearch"]
end
Metricbeat-->|monitoring data|MonitoringElasticsearch
ProdElasticsearch-.->|CCS|MonitoringElasticsearch
We can use a kibana configuration to simply filter visibility. For example: monitoring.ui.visible_cluster_uuids:
- (prod cluster 1 uuid) This avoids the cost of storing the monitoring data in both places. The production clusters would still be capable of directly querying all monitoring data via CCS, but the UI would only show the configured cluster. This would require changes to stack monitoring UI code, and there may be unforeseen issues trying to apply global filtering to all queries in both the UI and possibly alerting rules. Moreover, for things on ESS, this setting can have the default value to its own cluster, and can be handled by the orchestration layer but not exposed to user. The above [1] should be very simple but it cannot address the real problem. |
Yes, we came to this same conclusion this morning! We're going to move ahead with a very, very simple change of mentioning remote monitoring in the message for all users, but in the future we may also check to see if remote monitoring is enabled and change the message based on that fact. cc: @miltonhultgren |
In cloud after the user sets up a production cluster to ship monitoring data to a separate cluster, some expect to view the monitoring data in the production cluster or have a more obvious way of knowing that they need to open Kibana in the monitoring deployment to view monitoring data. Another case is users simply want to be able to view monitoring data in their production cluster along with their production data. If not on cloud we document this scenario telling users to use the setting
monitoring.ui.elasticsearch.hosts
to point to your monitoring cluster, but this is not supported in Cloud. I was able to achieve this in Cloud by adding the monitoring cluster as a remote in the production cluster, but users may not be aware of it.A support engineer suggested this behavior should be default (view monitoring data in the production cluster). Could we add the monitoring cluster as a remote by default? Stack monitoring already has CCS enabled by default.
If not, perhaps we should update the UI to make this more obvious or at least the docs to address this scenario.
Stack Monitoring from the production cluster when shipping data to another cluster:
https://www.elastic.co/guide/en/kibana/current/monitoring-data.html
https://www.elastic.co/guide/en/cloud/current/ec-enable-logging-and-monitoring.html#ec-access-kibana-monitoring
@ravikesarwani
The text was updated successfully, but these errors were encountered: