Skip to content

libbeat/publisher/pipeline: expand monitoring#24700

Merged
axw merged 4 commits intoelastic:masterfrom
axw:libbeat-pipeline-monitoring
Apr 13, 2021
Merged

libbeat/publisher/pipeline: expand monitoring#24700
axw merged 4 commits intoelastic:masterfrom
axw:libbeat-pipeline-monitoring

Conversation

@axw
Copy link
Copy Markdown
Member

@axw axw commented Mar 23, 2021

What does this PR do?

Expand monitoring to report:

  • pipeline.queue.max_events (queue capacity)
  • output.batch_size (e.g. ES bulk_max_size)
  • output.clients (e.g. number of ES hosts * workers)

Queue capacity is recorded in stats rather than state so it can be used along with queue size to calculate saturation.

Note to reviewer, I introduced the metricsObserverVars type to avoid having awkward variable names just to avoid clashing with the method names.

Why is it important?

In APM Server we recommend users tune queue.mem.events, output.elasticsearch.bulk_max_size, and output.elasticsearch.worker according to their scale. It would be helpful to be able to observe the current value in effect.

Checklist

  • My code follows the style guidelines of this project
  • I have commented my code, particularly in hard-to-understand areas
    - [ ] I have made corresponding changes to the documentation
    - [ ] I have made corresponding change to the default configuration files
  • I have added tests that prove my fix is effective or that my feature works
  • I have added an entry in CHANGELOG.next.asciidoc or CHANGELOG-developer.next.asciidoc.

How to test this PR locally

Run a beat with the Elasticsearch output and monitoring enabled, and check the values of pipeline.queue.max_events, output.batch_size, and output.clients match the configuration.

Related issues

Closes #22215

@axw axw added enhancement Team:Services (Deprecated) Label for the former Integrations-Services team labels Mar 23, 2021
@botelastic botelastic bot added needs_team Indicates that the issue/PR needs a Team:* label and removed needs_team Indicates that the issue/PR needs a Team:* label labels Mar 23, 2021
@botelastic
Copy link
Copy Markdown

botelastic bot commented Mar 23, 2021

This pull request doesn't have a Team:<team> label.

Expand monitoring to report:

 - pipeline.queue.max_events (queue capacity)
 - output.batch_size (e.g. ES bulk_max_size)
 - output.clients (e.g. number of ES hosts * workers)

Queue capacity is recorded in stats rather than state
so it can be used along with queue size to calculate
saturation.
@axw axw force-pushed the libbeat-pipeline-monitoring branch from 651cb6e to e3e4c55 Compare March 23, 2021 08:12
@axw axw marked this pull request as ready for review March 23, 2021 08:12
@elasticmachine
Copy link
Copy Markdown
Contributor

Pinging @elastic/integrations-services (Team:Services)

@elasticmachine
Copy link
Copy Markdown
Contributor

elasticmachine commented Mar 23, 2021

💚 Build Succeeded

the below badges are clickable and redirect to their specific view in the CI or DOCS
Pipeline View Test View Changes Artifacts preview

Expand to view the summary

Build stats

  • Build Cause: axw commented: /test

  • Start Time: 2021-04-13T03:12:57.305+0000

  • Duration: 8 min 9 sec

  • Commit: 80a1b8b

Trends 🧪

Image of Build Times

❕ Flaky test report

No test was executed to be analysed.

@mergify
Copy link
Copy Markdown
Contributor

mergify bot commented Apr 7, 2021

This pull request is now in conflicts. Could you fix it? 🙏
To fixup this pull request, you can check out it locally. See documentation: https://help.github.com/articles/checking-out-pull-requests-locally/

git fetch upstream
git checkout -b libbeat-pipeline-monitoring upstream/libbeat-pipeline-monitoring
git merge upstream/master
git push upstream libbeat-pipeline-monitoring

@axw axw added backport-v7.13.0 Automated backport with mergify v7.13.0 labels Apr 12, 2021
@andresrc andresrc added Team:Elastic-Agent Label for the Agent team and removed Team:Services (Deprecated) Label for the former Integrations-Services team labels Apr 12, 2021
@elasticmachine
Copy link
Copy Markdown
Contributor

Pinging @elastic/agent (Team:Agent)

Copy link
Copy Markdown
Contributor

@blakerouse blakerouse left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me.

@urso
Copy link
Copy Markdown

urso commented Apr 12, 2021

/test

1 similar comment
@axw
Copy link
Copy Markdown
Member Author

axw commented Apr 13, 2021

/test

@axw
Copy link
Copy Markdown
Member Author

axw commented Apr 13, 2021

Seems to be an issue with reporting Jenkins success, packetbeat-windows-7-32-windows-7-32-bit shows as failed but it has succeeded in the most recent build: https://beats-ci.elastic.co/blue/organizations/jenkins/Beats%2Fbeats/detail/PR-24700/7/pipeline

@axw axw merged commit c24fb8e into elastic:master Apr 13, 2021
@axw axw deleted the libbeat-pipeline-monitoring branch April 13, 2021 03:25
mergify bot pushed a commit that referenced this pull request Apr 13, 2021
* libbeat/publisher/pipeline: expand monitoring

Expand monitoring to report:

 - pipeline.queue.max_events (queue capacity)
 - output.batch_size (e.g. ES bulk_max_size)
 - output.clients (e.g. number of ES hosts * workers)

Queue capacity is recorded in stats rather than state
so it can be used along with queue size to calculate
saturation.

* Move changelog entry to the right section

(cherry picked from commit c24fb8e)
axw added a commit that referenced this pull request Apr 14, 2021
* libbeat/publisher/pipeline: expand monitoring

Expand monitoring to report:

 - pipeline.queue.max_events (queue capacity)
 - output.batch_size (e.g. ES bulk_max_size)
 - output.clients (e.g. number of ES hosts * workers)

Queue capacity is recorded in stats rather than state
so it can be used along with queue size to calculate
saturation.

* Move changelog entry to the right section

(cherry picked from commit c24fb8e)

Co-authored-by: Andrew Wilkins <axw@elastic.co>
v1v added a commit to v1v/beats that referenced this pull request Apr 14, 2021
* upstream/master: (308 commits)
  [winlogbeat] Add support for sysmon v13 events 24 and 25 (elastic#24945)
  mergify: add backport label (elastic#25050)
  Add pod.ip in k8s metadata (elastic#25037)
  [elastic-agent] Use fleet.url for container cmd (elastic#25026)
  disable TestXPackEnabled flaky test in logstash metricbeat module (elastic#25034)
  Leverege leader election in agent  k8s manifests (elastic#25016)
  libbeat/publisher/pipeline: expand monitoring (elastic#24700)
  libbeat: fix decode_json_fields config validation (elastic#24862)
  Remove make docs-preview instructions (elastic#25001)
  [Filebeat] Fix IPtables pipeline (elastic#24928)
  [DOCS] cd into correct directory before invoking mage. (elastic#17679)
  Add -buildmode=pie for supported platform (elastic#24964)
  Add agent's direcotry in k8s manifest generator (elastic#24987)
  [mergify] assign the original author (elastic#25007)
  Fix AWS module flaky tests (elastic#24852)
  [filebeat] Use fail_on_template_error on google_workspace and okta pagination (elastic#24967)
  Updated config to match defaults (elastic#25004)
  [Filebeat] Fix hardcoded amazonaws.com endpoint (elastic#24861)
  Add cloud.service.name to add_cloud_metadata (elastic#24993)
  [Ingest Manager] Expose processes and their metrics (elastic#24788)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport-v7.13.0 Automated backport with mergify enhancement Team:Elastic-Agent Label for the Agent team v7.13.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

monitoring: report configured queue.mem.*, output.elasticsearch.workers, output.elasticsearch.bulk_max_size

6 participants