-
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
[7.7] [Monitoring] Collection changes #52639
Comments
Pinging @elastic/stack-monitoring (Team:Monitoring) |
One potential hiccup here. If we want to maintain configuration parity with the other stack products, we should use It's worth verifying this functionality with the platform folks, and perhaps understanding if this is also true in new platform. A couple options come to mind of how to handle this:
|
@chrisronline Good find! I wasn't aware of that limitation. I'd really like it if we could maintain consistency across the products. Any recommendations of who we can talk to on the platform side who might be able to help? @tylersmalley can you help point us in the right direction here? |
@joshdover is the @cachedout have the other teams removed the prefix for all "X-Pack" plugins? Or just a handful? I am all for consistency among the stack, but we should also have consistency within Kibana. So if we do this, we should do it in 8.0 across the board as a breaking change. |
@tylersmalley I can't speak to whether or not teams have convention of an |
I can give some history for why we added Historically, Beats has had the When we decided to implement sending the monitoring data directly from the Beat to the monitoring cluster, we needed a different set of elasticsearch settings (hosts, auth, TLS, etc.) to indicate to the user that this is the monitoring cluster to which monitoring data for the Beat instance would be sent. So we decided to introduce This new class of settings was introduced in 7.2.0. We kept FWIW, a similar change (adding a new configuration setting for shipping directly to the monitoring cluster) is being proposed for Logstash as well: elastic/logstash#11403. |
It also occurs to me that in Kibana's case, there already is a setting to indicate the monitoring Elasticsearch cluster and it is... Not saying that necessarily changes anything about the discussion of introducing a |
The changes for Kibana are a little bit different than Beats/Logstash. Like Beats/Logstash, Kibana has configuration like Just like Beats/Logstash, Kibana needs to know where to send its monitoring data, but there are no exclusive configurations for this purpose - we simply reuse the connection established with the So, currently, we do not have any Kibana configuration that allows users to say "write my monitoring data to this cluster". This ticket is about adding that configuration, for feature parity with Beats/Logstash (PR pending) and as a way to ease the necessary migration of using Metricbeat as the collector/shipper of monitoring data. It's not a breaking change - nothing is changing with the current configuration. |
I don't think there's anything we need to do here. |
Monitoring changes in 7.x
From 7.7 through the end of the 7.x series in 7.9, components in the Elastic stack that use internal collection should introduce some changes which will ease the migration path for users when they are connecting a 7.7-7.9 cluster to a 8.x monitoring cluster. Those changes are described below.
Enhancement request to internal collection
Endpoint switch
The first change which needs to happen is to have internal collection in Kibana ship directly to the
_bulk/monitoring
endpoint.Configuration option
Introduce config options to write directly to _bulk/monitoring.
These configuration options should follow the standard introduced by the Beats project. Namely, we should introduce settings prefixed by
monitoring.elasticsearch
and begin to issue deprecation warnings for the existingxpack.monitoring
class of settings ifmonitoring.elasticsearch
settings are not set.Discussion points:
Document reshaping
As described above, a monitoring cluster with Elasticsearch currently exposes a plugin which reshapes the document before it is written. With this change, incoming data will no longer be routed through that plugin and as a result, Kibana itself will need to send data which is shaped in a manner consistent with what's being done by the monitoring plugin today.
Below are documents which describe this change. (Thank you to @jakelandis for insight into this process):
Original sent by Kibana
I got this by sniffing traffic traffic and looking for HTTP POSTs to
_monitoring/bulk
. Below is one example.Same document after being reshaped by Elasticsearch
One can compare this to a document after it is indexed by Elasticsearch. Below is an example of an indexed document:
(Just to note, these aren't the same requests. In any comparison, be sure to account for any difference in field values.)
_type
, and the index name will need to exclude the dot.There is additional discussion on these points in a corresponding Logstash issue.
Stack co-ordination
This is a change that we would like to have happen in 7.7 across a variety of stack components. We would like to ask if all teams could have their corresponding PRs ready to be merged by March 1st, 2020 so that we can ensure that all changes are ready and there is not any inconsistency between stack components.
It is imperative that these changes not be merged into 7.6, however, because we may not be ready for them on the Stack Monitoring Kibana application end. (I will update this issue if that changes.)
The text was updated successfully, but these errors were encountered: