elastic / kibana

Your window into the Elastic Stack
https://www.elastic.co/products/kibana
Other
19.69k stars 8.24k forks source link

[Reporting] Document steps of monitoring Reporting #107675

Open tsullivan opened 3 years ago

tsullivan commented 3 years ago

Report jobs are queued in an Elasticsearch so they are executed one at a time. If there are other reports in the queue when a new report is requested, it will have to wait until the other jobs process.

What to monitor? What logs do we need?

Monitoring Reporting:

  1. Use Metricbeat to view the memory consumption of all the processes on the server.

  2. Enable verbose logs for Reporting to understand the steps that happen from requesting a report and completing the report, and how much time each of those steps takes:

    logging:
     loggers:
        - name: plugins.reporting
          appenders: [console]
          level: debug
        - name: plugins.screenshotting
          appenders: [console]
          level: debug
  3. Using Filebeat, you can ingest the logs from above and find ECS-compliant logs with data about the Reporting queue and Screenshotting performance.

elasticmachine commented 3 years ago

Pinging @elastic/kibana-app-services (Team:AppServices)

elasticmachine commented 3 years ago

Pinging @elastic/kibana-reporting-services (Team:Reporting Services)

tsullivan commented 2 years ago

This should depend on https://github.com/elastic/kibana/issues/29281. The documentation should give examples of bad performance vs good performance. The examples will be illustrated with results that the user can find in the new Monitoring of Reporting area

tsullivan commented 2 years ago

Closing this, no one is asking for it

tsullivan commented 1 year ago

Reopening to help with https://github.com/elastic/kibana/issues/147914

elasticmachine commented 1 year ago

Pinging @elastic/appex-sharedux (Team:SharedUX)

tsullivan commented 11 months ago

I have rewritten this issue to make it less broad, and focus on how to monitor reporting.

Previous text was:

Report jobs are queued in an Elasticsearch so they are executed one at a time. If there are other reports in the queue when a new report is requested, it will have to wait until the other jobs process.

What can we do to improve report generation time?

What to monitor? What logs do we need?

More advice:

  1. Use Metricbeat to view the memory consumption of all the processes on the server.

  2. Enable verbose logs for Reporting to understand the steps that happen from requesting a report and completing the report, and how much time each of those steps takes:

    logging:
     loggers:
        - name: plugins.reporting
          appenders: [console]
          level: debug
        - name: plugins.screenshotting
          appenders: [console]
          level: debug
  3. Using Filebeat, you can ingest the logs from above and find ECS-compliant logs with data about the Reporting queue and Screenshotting performance.