Skip to content
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

[elasticsearch] Verify logs mappings and pipelines #4046

Closed
Tracked by #137112
klacabane opened this issue Aug 22, 2022 · 7 comments · Fixed by #4033
Closed
Tracked by #137112

[elasticsearch] Verify logs mappings and pipelines #4046

klacabane opened this issue Aug 22, 2022 · 7 comments · Fixed by #4033
Assignees
Labels
Integration:elasticsearch Elasticsearch Team:Infra Monitoring UI - DEPRECATED Label for the Infrastructure Monitoring UI team. - DEPRECATED - Use Team:obs-ux-infra_services Team:Obs-InfraObs Label for the Observability Infrastructure Monitoring team [elastic/obs-infraobs-integrations] v8.5.0

Comments

@klacabane
Copy link
Contributor

klacabane commented Aug 22, 2022

Summary

Let's verify that every elasticsearch log types is properly ingested when running the elasticsearch package. The package should only support log formats from versions >= 8.0.

Note

  • if a log type is failing to ingest, we should look at the corresponding filebeat implementation and verify both pipelines and mappings are aligned.
  • if the logs are generated with an ecs format, we should look at simplifying the pipeline like the platform-observability package
@klacabane klacabane added Integration:elasticsearch Elasticsearch v8.5.0 Team:Infra Monitoring UI - DEPRECATED Label for the Infrastructure Monitoring UI team. - DEPRECATED - Use Team:obs-ux-infra_services labels Aug 22, 2022
@klacabane
Copy link
Contributor Author

klacabane commented Aug 22, 2022

Questions for @elastic/es-core-infra

  • the deprecation logs have a data_stream.dataset property set to deprecation.elasticsearch when one would expect the reverse like the other type of logs (eg elasticsearch.server). Is there any reason for this naming pattern and should we take the opportunity to fix it ?

  • our documentation recommends to use json logs when running version >= 7.0, since we're releasing this package exclusively for versions >= 8.5, should we still support plain text logs ? If we only support json then we won't have to port over the plain text pipelines

    If you’re running against Elasticsearch >= 7.0.0, configure the var.paths setting to point to JSON logs. Otherwise, configure it to point to plain text logs.

@klacabane klacabane added the Team:Obs-InfraObs Label for the Observability Infrastructure Monitoring team [elastic/obs-infraobs-integrations] label Aug 22, 2022
@klacabane klacabane self-assigned this Aug 22, 2022
@klacabane klacabane changed the title [elasticsearch] Verify package mappings and pipelines [elasticsearch] Verify logs mappings and pipelines Aug 22, 2022
@dakrone
Copy link
Member

dakrone commented Aug 22, 2022

@klacabane using @elastic/elasticsearch-team pings 115 people, so it's probably not the best as there may be a lot of bystander effect for it.

I think these questions might make the most sense for the @elastic/es-core-infra team to answer as they own the logging infrastructure as well as the deprecation logger.

@pgomulka
Copy link

@klacabane we are looking into fixing this. I raised an issue a while back elastic/elasticsearch#83251
however this is a breaking change and is still being discussed

@klacabane
Copy link
Contributor Author

Thanks @pgomulka - any thoughts on the second bullet point ? If we don't remove plaintext logs support we should at least remove the default configuration paths to only point to json

@pgomulka
Copy link

@klacabane by plaintext logs support you mean emitting them in ES or support to parse them?
in 8.x plaintext is only remaining for server logs and is intended for the "visual investigation" by admin/developer. It won't contain all the information (additional fields like x-opaque-id, traceparent etc)
If _server.json is already shipped I don't think we need to ship .log file. In fact it would be confusing to see both ingested later into logs cluster.

@klacabane
Copy link
Contributor Author

I meant support to parse them

If _server.json is already shipped I don't think we need to ship .log file. In fact it would be confusing to see both ingested later into logs cluster.

Yes, we don't have control over that on the ingestion side however. If user configures both plaintext and json paths and the ingestion supports these two formats we'll end up with duplication. Now given we recommend using json format logs for versions >= 7.0 and that the plaintext logs are incomplete, I'm wondering if we should drop support for ingesting plaintext and remove the corresponding pipelines (only in the Integration, not filebeat). This will prevent duplication and clean the integration

@pgomulka
Copy link

if we should drop support for ingesting plaintext and remove the corresponding pipelines (only in the Integration, not filebeat).

sounds good to me

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Integration:elasticsearch Elasticsearch Team:Infra Monitoring UI - DEPRECATED Label for the Infrastructure Monitoring UI team. - DEPRECATED - Use Team:obs-ux-infra_services Team:Obs-InfraObs Label for the Observability Infrastructure Monitoring team [elastic/obs-infraobs-integrations] v8.5.0
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants