-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
[Metricbeat] Implement IBM MQ module #15301
Conversation
variable: | ||
|
||
`MQ_ENABLE_METRICS` - Set this to `true` to generate Prometheus metrics for the Queue Manager. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we know which versions of MQ provide the exporter? Do we know how to enable it when not using the Docker image? I'm thinking on how feasible / easy is to go this route in real world deployments (/cc @felix-lessoer @exekias )
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for the questions, @andresrc . Let me respond to these:
Do we know how to enable it when not using the Docker image?
The exporter is available only if you're using the image. It's part of the runmqserver
, an application supported running in containerized environments.
The description of the internals is available here: https://github.com/ibm-messaging/mq-container/blob/master/docs/internals.md
Source (main.go) of runmqserver
: https://github.com/ibm-messaging/mq-container/blob/master/cmd/runmqserver/main.go
Do we know which versions of MQ provide the exporter?
Not specifically MQ, but the containerized distribution of it. According to the sources, the metrics exporter has been enabled in the release version 9.1.0.
Source code: https://github.com/ibm-messaging/mq-container/tree/9.1.0/internal/metrics
PR: https://github.com/ibm-messaging/mq-container/pull/81/files
I'm thinking on how feasible / easy is to go this route in real world deployments
I think that we can leave a message here that Metricbeat only supports deployments of the official containerized distribution of the MQ. Currently it's the only way to go if we don't want to link the proprietary code.
6120995
to
06d95c2
Compare
"job": "ibmmq" | ||
}, | ||
"metrics": { | ||
"go_gc_duration_seconds_count": 4, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we really want to store all these fields?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ChrsMark Could you please elaborate on that? Are you afraid of too many metrics being collected?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeap, excuse my brevity. What I mean is that I'm not sure if we have to store metrics like go_gc_duration_seconds_count
. There are many of this kind in all prometheus exporters. My personal point of view is that we should not collect them here and stick to only the IBM specific ones. Wondering if we could achieve that since the implementation is with a light module 🤔
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well, I like this idea, but... not really sure if it should be in scope of this task. What do you think about creating an issue for that and solving as a separate feature?
EDIT:
on the other hand this is still part of the product, so why don't collect these metrics as well :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yeap it is for sure, but I think we should be very opinionated when we store fields to avoid having ES filled with not-so-important data. +1 on raising this concern in a different issue.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
AFAIK an ingest pipeline can be used to filter/process log data with grok expressions (field oriented). I'm not sure if we want to hack it to reject metrics...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
remove-processor=> removes fields. No hack. Very easy. The only thing I don't know is weather pipeline creation via beat setup only works with Filebeat.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"Remove fields" requires to provide a defined list of fields, no regular expressions.With next releases of IBM MQ, we may have some fields sneaked.
I'm thinking rather about a script processor to reject all metrics without "ibmmq_" prefix.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey @mtojek!
- drop_event.when.has_fields: ['prometheus.labels.le'] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have just pushed a basic filtering using Javascript processor. It filters prometheus metrics based on metrics name prefix.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also we may need to populate x-pack/metricbeat/module/ibmmq/status/_meta/data.json
file for the docs?
I have a couple of MQ related dashboards in the up and running in my demo environment. This is based on the original metricbeat module but its a good start. |
@felix-lessoer Actually I had in mind to reach out to you before proceeding with dashboards. Thanks! |
739daa3
to
f99f447
Compare
Fixed. Populated with some dummy event. |
f99f447
to
3ca3169
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
3ca3169
to
f8b43e9
Compare
ed90f51
to
2c31db9
Compare
FYI I decided to include dashboards in this PR. It will shorten total merging time. |
Kibana tutorial: elastic/kibana#54900 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall lgtm, thanks for adding dashboards (and tutorial) too!
I just left some minors
# the options for this metricset are also available here. | ||
metrics_path: /metrics | ||
|
||
processors: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe a short comment/description here of why we decided to use js processor here could be of worth
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added!
* Modify cockroachdb source * Define testdata * Do not publish ports * Update docs * mage fmt update * Describe containerized environment * Update CHANGELOG.next.asciidoc Co-Authored-By: Chris Mark <chrismarkou92@gmail.com> * Update data.json * Rename image * Update source after review * Filter ibmmq_ metrics * mage check * Fix: mage check * Don't expose port * Rename status to qmgr * Add subscriptions overview dashboard for IBM MQ module * Add calls, messages overview dashboard for IBM MQ module * Add screenshots * Fix: mage check * Fix: CHANGELOG * Add explanation * Fix: mage check Co-authored-by: Chris Mark <chrismarkou92@gmail.com> (cherry picked from commit 2ed633b)
* [Metricbeat] Implement IBM MQ module (#15301) * Modify cockroachdb source * Define testdata * Do not publish ports * Update docs * mage fmt update * Describe containerized environment * Update CHANGELOG.next.asciidoc Co-Authored-By: Chris Mark <chrismarkou92@gmail.com> * Update data.json * Rename image * Update source after review * Filter ibmmq_ metrics * mage check * Fix: mage check * Don't expose port * Rename status to qmgr * Add subscriptions overview dashboard for IBM MQ module * Add calls, messages overview dashboard for IBM MQ module * Add screenshots * Fix: mage check * Fix: CHANGELOG * Add explanation * Fix: mage check Co-authored-by: Chris Mark <chrismarkou92@gmail.com> (cherry picked from commit 2ed633b) * Fix: link * Bug
* [Filebeat] Fixes for NetFlow v9 devices from various vendors (#15449) - Allow for zero scope fields in options template NetFlow v9 spec allows for options templates that contain no scope fields. The netflow input was treating this case as an error and discarding the template, but that is only applicable to IPFIX. - Use additional fields to populate bytes/pkt counters Some devices out there (Cisco NSEL) use fields 231/232 as bytes counters, when those are supposed to be layer 4 payload counters. This updates the ECS fields populator to use those fields when the expected ones are not found. - Support a classId of 32 bits While the spec mandates a classId of 8 bits, some Cisco ASA devices actually use a 32 bit version of this field. This patches the field to allow up to 32-bit integers and updates the index pattern to use `long` for the `netflow.class_id` field. - Add more fields from v9 Cisco devices Fixes #14212 * update settings for `decode_csv_fields` (#15249) (#15550) Co-authored-by: DeDe Morton <dede.morton@elastic.co> Co-authored-by: Sophia Xu <sophia.xu@elastic.co> * docs: updates to output config (#15272) * [Filebeat] Handle error message in handleS3Objects function (#15545) * Handle error message in handleS3Objects function * remove s3Context.Fail and use setError and done instead * Add changelog * Fix use of wrong fields in Cisco ASA dashboard (#15553) This dashboard wasn't updated after a couple of fields were renamed. Fixes: #15420 * Add test for publisher spool encode and decode. (#15534) * Add test for publisher queue encode and decode. * Run mage fmt. * Fixes from code review. * Fix convert processor conversion of string with leading zeros to integer (#15557) The conversion failed when for strings with leading zeroes and a decimal digit 8 or 9, as the underlying runtime function would try to parse that as an octal number. This is fixed by only allowing decimal and hex, which in turns makes the processor more aligned to its Elasticsearch counterpart. Fixes #15513 * New mage target: generate pkg file to test the manager (#15580) This PR adds a new mage target to Functionbeat named `buildPkgForFunction`. It generates the folder `pkg` with the functions to make testing the manager more comfortable during development. * Packetbeat TLS: Replace array fields with keyword (#15597) Use of `type: array` in some fields (which was inconsistent) causes those fields to be excluded from the template. This prevents pointing aliases to those fields, which we need in 7.6+. Setting those fields to `keyword` explicitly so that they are included in the template. Fixes #15588 * Add a pull request template providing valuable information when reviewing a PR (#15388) * Add a PR template that provides valuable information when reviewing a PR * Add CLA check * Fix typo * Address comments during review * SF: Fix typo * Add deprecation as PR type * Make it clear how to strike through in markdown * Add default configuration files to the checklist * [Metricbeat] Implement IBM MQ module (#15301) * Modify cockroachdb source * Define testdata * Do not publish ports * Update docs * mage fmt update * Describe containerized environment * Update CHANGELOG.next.asciidoc Co-Authored-By: Chris Mark <chrismarkou92@gmail.com> * Update data.json * Rename image * Update source after review * Filter ibmmq_ metrics * mage check * Fix: mage check * Don't expose port * Rename status to qmgr * Add subscriptions overview dashboard for IBM MQ module * Add calls, messages overview dashboard for IBM MQ module * Add screenshots * Fix: mage check * Fix: CHANGELOG * Add explanation * Fix: mage check Co-authored-by: Chris Mark <chrismarkou92@gmail.com> * Cleanup changelogs for master (#15617) * Cleanup changelogs for master * Remove extra header in CHANGELOG.asciidoc * [Metricbeat] Add lambda metricset in aws module (#15260) * Add lambda metricset * Adds missing imports (#15624) * [docs] Clarify privileges required for the writer role (#15604) * Mask password discovered via module autodiscover hint (#15616) * Mask password is string representation of config * Rename method * Adding unit test * Use const for module config password setting name * Using common.DebugString * Simplifying * Removing now-invalid unit test * Removing now-unnecessary const * Refactoring: moving debug-related var and func to common file * Refactoring: rename from black list to mask list * Implement fmt.Formatter for common.MapStr * Reintroduce debug statement * Make MarshalLogObject always filter MapStr object for logging purposes * Refactoring: renaming to be bit more generic * Forgot to add license header to new file * Fixing verb syntax * Update KQL to get estimated cost without dimension ServiceName (#15640) * Adding monitoring.cloud.* settings to reference files (#15648) * Adding monitoring.cloud.* settings to reference files * Missed winlogbeat somehow * Missed x-pack/winlogbeat * remove lablels (#15644) * Fix panic: don't send events if client is nil (#15568) * Fix panic: don't send events if client is nil * Use mutex * Add CHANGELOG entry * Rename changelog entry * Fix: changelog * Temporarily use specific logstash release * [Metricbeat] Add Istio mesh metricset (#15535) * [Metricbeat] Fix changelog (#15681) * Fix changelog * ci: use APM pipeline library (#15636) it uses APM pipeline library configured in the instance * AWS Lambda: downgrade Kibana dashboard (#15682) * AWS Lambda: downgrade Kibana dashboard * Downgrade other AWS dashboards * Log command error if setup dashboards fails * Another downgrade * Use github.com/godror/godror instead of goracle.v2 (#15683) From the README of goracle: > Goracle is deprecated because of naming (trademark) issues. From now on we are using github.com/godror/godror instead. * Move pdh query to shared location in order for new modules/metricsets to reuse (#15503) * Move pdh query to shared location * Update changelog * Fix make update * mage fmt * fix changelog * Remove datasource option from SQL module and add tests (#15686) Remove datasource option from SQL module. This option was intended to set the DSN of a database connection, and we were ignoring the hosts setting. In other SQL modules we are using the values in hosts as DSNs, do here the same for consistency. Host is redacted when we cannot parse it as it can contain passwords. StandardizeEvent is exposed in mbtest.Fetcher interface so we can more easily check contents of events in tests. Add integration tests of the module with MySQL and PostgreSQL. Add real data.json with data from MySQL and PostgreSQL. * [metricbeat] add service metricset to reference documentation (#15643) * add service metricset to ref docs * update xpack docs * [metricbeat] Add divide by zero check to docker/diskio (#15649) * add NaN check to docker/diskio * return 0 * Change joda style pattern to java style (#15695) since 7.0 elasticsearch is using java.time style patterns. YYYY becomes yyyy * [DOCS] Add missing config options to shared file (#15136) * [DOCS] Add missing config options to shared file * Add fixes from review * Run mage fmt update to fix build error * [Heartbeat] Support for multiple status codes #13595 (#15587) Allow for multiple status codes in config. Fixes #13595 * Add missing changelog entry for #15587 (#15721) * Update github.com/godror/godror to v0.10.4 (#15737) ## What does this PR do? This PR updates the dependency `github.com/godror/godror` to v0.10.4. ## Why is it important? Packaging of Metricbeat fails due to the issue in the `godror` version we are currently using. See more about the problem: godror/godror#8 * Collect normalized CPU percentages by default (#15729) * Collect normalized CPU percentages by default * Adding CHANGELOG entry * Updating x-pack/metricbeat * Fix: mage check * Detect Eclipse Public License Co-authored-by: Adrian Serrano <adrisr83@gmail.com> Co-authored-by: DeDe Morton <dede.morton@elastic.co> Co-authored-by: Sophia Xu <sophia.xu@elastic.co> Co-authored-by: Brandon Morelli <bmorelli25@gmail.com> Co-authored-by: kaiyan-sheng <kaiyan.sheng@elastic.co> Co-authored-by: Blake Rouse <blake.rouse@elastic.co> Co-authored-by: Noémi Ványi <kvch@users.noreply.github.com> Co-authored-by: Manuel de la Peña <social.mdelapenya@gmail.com> Co-authored-by: Chris Mark <chrismarkou92@gmail.com> Co-authored-by: Michael Madden <mikemadden42@users.noreply.github.com> Co-authored-by: Shaunak Kashyap <ycombinator@gmail.com> Co-authored-by: Pablo Mercado <pablo.mercado@elastic.co> Co-authored-by: Ivan Fernandez Calvo <kuisathaverat@users.noreply.github.com> Co-authored-by: Mariana Dima <mariana@elastic.co> Co-authored-by: Jaime Soriano Pastor <jaime.soriano@elastic.co> Co-authored-by: Alex K. <8418476+fearful-symmetry@users.noreply.github.com> Co-authored-by: Przemyslaw Gomulka <przemyslaw.gomulka@elastic.co> Co-authored-by: Amanda H. L. de Andrade Katz <amanda.andrade@serpro.gov.br> Co-authored-by: Andrew Cholakian <andrew@andrewvc.com>
* Add MQTT input to Filebeat (#15287) * Inital commit for MQTT input * Improved naming and error handling * Improved naming and connection procedure * Merge "master" branch into "feature-mqtt-input" (#15745) * [Filebeat] Fixes for NetFlow v9 devices from various vendors (#15449) - Allow for zero scope fields in options template NetFlow v9 spec allows for options templates that contain no scope fields. The netflow input was treating this case as an error and discarding the template, but that is only applicable to IPFIX. - Use additional fields to populate bytes/pkt counters Some devices out there (Cisco NSEL) use fields 231/232 as bytes counters, when those are supposed to be layer 4 payload counters. This updates the ECS fields populator to use those fields when the expected ones are not found. - Support a classId of 32 bits While the spec mandates a classId of 8 bits, some Cisco ASA devices actually use a 32 bit version of this field. This patches the field to allow up to 32-bit integers and updates the index pattern to use `long` for the `netflow.class_id` field. - Add more fields from v9 Cisco devices Fixes #14212 * update settings for `decode_csv_fields` (#15249) (#15550) Co-authored-by: DeDe Morton <dede.morton@elastic.co> Co-authored-by: Sophia Xu <sophia.xu@elastic.co> * docs: updates to output config (#15272) * [Filebeat] Handle error message in handleS3Objects function (#15545) * Handle error message in handleS3Objects function * remove s3Context.Fail and use setError and done instead * Add changelog * Fix use of wrong fields in Cisco ASA dashboard (#15553) This dashboard wasn't updated after a couple of fields were renamed. Fixes: #15420 * Add test for publisher spool encode and decode. (#15534) * Add test for publisher queue encode and decode. * Run mage fmt. * Fixes from code review. * Fix convert processor conversion of string with leading zeros to integer (#15557) The conversion failed when for strings with leading zeroes and a decimal digit 8 or 9, as the underlying runtime function would try to parse that as an octal number. This is fixed by only allowing decimal and hex, which in turns makes the processor more aligned to its Elasticsearch counterpart. Fixes #15513 * New mage target: generate pkg file to test the manager (#15580) This PR adds a new mage target to Functionbeat named `buildPkgForFunction`. It generates the folder `pkg` with the functions to make testing the manager more comfortable during development. * Packetbeat TLS: Replace array fields with keyword (#15597) Use of `type: array` in some fields (which was inconsistent) causes those fields to be excluded from the template. This prevents pointing aliases to those fields, which we need in 7.6+. Setting those fields to `keyword` explicitly so that they are included in the template. Fixes #15588 * Add a pull request template providing valuable information when reviewing a PR (#15388) * Add a PR template that provides valuable information when reviewing a PR * Add CLA check * Fix typo * Address comments during review * SF: Fix typo * Add deprecation as PR type * Make it clear how to strike through in markdown * Add default configuration files to the checklist * [Metricbeat] Implement IBM MQ module (#15301) * Modify cockroachdb source * Define testdata * Do not publish ports * Update docs * mage fmt update * Describe containerized environment * Update CHANGELOG.next.asciidoc Co-Authored-By: Chris Mark <chrismarkou92@gmail.com> * Update data.json * Rename image * Update source after review * Filter ibmmq_ metrics * mage check * Fix: mage check * Don't expose port * Rename status to qmgr * Add subscriptions overview dashboard for IBM MQ module * Add calls, messages overview dashboard for IBM MQ module * Add screenshots * Fix: mage check * Fix: CHANGELOG * Add explanation * Fix: mage check Co-authored-by: Chris Mark <chrismarkou92@gmail.com> * Cleanup changelogs for master (#15617) * Cleanup changelogs for master * Remove extra header in CHANGELOG.asciidoc * [Metricbeat] Add lambda metricset in aws module (#15260) * Add lambda metricset * Adds missing imports (#15624) * [docs] Clarify privileges required for the writer role (#15604) * Mask password discovered via module autodiscover hint (#15616) * Mask password is string representation of config * Rename method * Adding unit test * Use const for module config password setting name * Using common.DebugString * Simplifying * Removing now-invalid unit test * Removing now-unnecessary const * Refactoring: moving debug-related var and func to common file * Refactoring: rename from black list to mask list * Implement fmt.Formatter for common.MapStr * Reintroduce debug statement * Make MarshalLogObject always filter MapStr object for logging purposes * Refactoring: renaming to be bit more generic * Forgot to add license header to new file * Fixing verb syntax * Update KQL to get estimated cost without dimension ServiceName (#15640) * Adding monitoring.cloud.* settings to reference files (#15648) * Adding monitoring.cloud.* settings to reference files * Missed winlogbeat somehow * Missed x-pack/winlogbeat * remove lablels (#15644) * Fix panic: don't send events if client is nil (#15568) * Fix panic: don't send events if client is nil * Use mutex * Add CHANGELOG entry * Rename changelog entry * Fix: changelog * Temporarily use specific logstash release * [Metricbeat] Add Istio mesh metricset (#15535) * [Metricbeat] Fix changelog (#15681) * Fix changelog * ci: use APM pipeline library (#15636) it uses APM pipeline library configured in the instance * AWS Lambda: downgrade Kibana dashboard (#15682) * AWS Lambda: downgrade Kibana dashboard * Downgrade other AWS dashboards * Log command error if setup dashboards fails * Another downgrade * Use github.com/godror/godror instead of goracle.v2 (#15683) From the README of goracle: > Goracle is deprecated because of naming (trademark) issues. From now on we are using github.com/godror/godror instead. * Move pdh query to shared location in order for new modules/metricsets to reuse (#15503) * Move pdh query to shared location * Update changelog * Fix make update * mage fmt * fix changelog * Remove datasource option from SQL module and add tests (#15686) Remove datasource option from SQL module. This option was intended to set the DSN of a database connection, and we were ignoring the hosts setting. In other SQL modules we are using the values in hosts as DSNs, do here the same for consistency. Host is redacted when we cannot parse it as it can contain passwords. StandardizeEvent is exposed in mbtest.Fetcher interface so we can more easily check contents of events in tests. Add integration tests of the module with MySQL and PostgreSQL. Add real data.json with data from MySQL and PostgreSQL. * [metricbeat] add service metricset to reference documentation (#15643) * add service metricset to ref docs * update xpack docs * [metricbeat] Add divide by zero check to docker/diskio (#15649) * add NaN check to docker/diskio * return 0 * Change joda style pattern to java style (#15695) since 7.0 elasticsearch is using java.time style patterns. YYYY becomes yyyy * [DOCS] Add missing config options to shared file (#15136) * [DOCS] Add missing config options to shared file * Add fixes from review * Run mage fmt update to fix build error * [Heartbeat] Support for multiple status codes #13595 (#15587) Allow for multiple status codes in config. Fixes #13595 * Add missing changelog entry for #15587 (#15721) * Update github.com/godror/godror to v0.10.4 (#15737) ## What does this PR do? This PR updates the dependency `github.com/godror/godror` to v0.10.4. ## Why is it important? Packaging of Metricbeat fails due to the issue in the `godror` version we are currently using. See more about the problem: godror/godror#8 * Collect normalized CPU percentages by default (#15729) * Collect normalized CPU percentages by default * Adding CHANGELOG entry * Updating x-pack/metricbeat * Fix: mage check * Detect Eclipse Public License Co-authored-by: Adrian Serrano <adrisr83@gmail.com> Co-authored-by: DeDe Morton <dede.morton@elastic.co> Co-authored-by: Sophia Xu <sophia.xu@elastic.co> Co-authored-by: Brandon Morelli <bmorelli25@gmail.com> Co-authored-by: kaiyan-sheng <kaiyan.sheng@elastic.co> Co-authored-by: Blake Rouse <blake.rouse@elastic.co> Co-authored-by: Noémi Ványi <kvch@users.noreply.github.com> Co-authored-by: Manuel de la Peña <social.mdelapenya@gmail.com> Co-authored-by: Chris Mark <chrismarkou92@gmail.com> Co-authored-by: Michael Madden <mikemadden42@users.noreply.github.com> Co-authored-by: Shaunak Kashyap <ycombinator@gmail.com> Co-authored-by: Pablo Mercado <pablo.mercado@elastic.co> Co-authored-by: Ivan Fernandez Calvo <kuisathaverat@users.noreply.github.com> Co-authored-by: Mariana Dima <mariana@elastic.co> Co-authored-by: Jaime Soriano Pastor <jaime.soriano@elastic.co> Co-authored-by: Alex K. <8418476+fearful-symmetry@users.noreply.github.com> Co-authored-by: Przemyslaw Gomulka <przemyslaw.gomulka@elastic.co> Co-authored-by: Amanda H. L. de Andrade Katz <amanda.andrade@serpro.gov.br> Co-authored-by: Andrew Cholakian <andrew@andrewvc.com> * [Filebeat] Refactor mqtt input (#16014) * Refactor mqtt input * Fix: comment * Add unit tests * Test: input run * Fix Test: run and stop * Test: backoff * Adjust code after review * MQTT: update docs (#16152) * MQTT: add integration test (#16143) * Create mosquitto image * MQTT input: add integration test * Fix * Verify connectivity * Fix * Fix: mage check * Fix * Fix * Fix: remove global var * Update changelog * Fix: regenerate notice file * Remove unused dependency * Fix: zero qos * Wait asynchronously for client being disconnected Co-authored-by: Felix <felix.roessel@elastic.co> Co-authored-by: Adrian Serrano <adrisr83@gmail.com> Co-authored-by: DeDe Morton <dede.morton@elastic.co> Co-authored-by: Sophia Xu <sophia.xu@elastic.co> Co-authored-by: Brandon Morelli <bmorelli25@gmail.com> Co-authored-by: kaiyan-sheng <kaiyan.sheng@elastic.co> Co-authored-by: Blake Rouse <blake.rouse@elastic.co> Co-authored-by: Noémi Ványi <kvch@users.noreply.github.com> Co-authored-by: Manuel de la Peña <social.mdelapenya@gmail.com> Co-authored-by: Chris Mark <chrismarkou92@gmail.com> Co-authored-by: Michael Madden <mikemadden42@users.noreply.github.com> Co-authored-by: Shaunak Kashyap <ycombinator@gmail.com> Co-authored-by: Pablo Mercado <pablo.mercado@elastic.co> Co-authored-by: Ivan Fernandez Calvo <kuisathaverat@users.noreply.github.com> Co-authored-by: Mariana Dima <mariana@elastic.co> Co-authored-by: Jaime Soriano Pastor <jaime.soriano@elastic.co> Co-authored-by: Alex K. <8418476+fearful-symmetry@users.noreply.github.com> Co-authored-by: Przemyslaw Gomulka <przemyslaw.gomulka@elastic.co> Co-authored-by: Amanda H. L. de Andrade Katz <amanda.andrade@serpro.gov.br> Co-authored-by: Andrew Cholakian <andrew@andrewvc.com>
* Add MQTT input to Filebeat (elastic#15287) * Inital commit for MQTT input * Improved naming and error handling * Improved naming and connection procedure * Merge "master" branch into "feature-mqtt-input" (elastic#15745) * [Filebeat] Fixes for NetFlow v9 devices from various vendors (elastic#15449) - Allow for zero scope fields in options template NetFlow v9 spec allows for options templates that contain no scope fields. The netflow input was treating this case as an error and discarding the template, but that is only applicable to IPFIX. - Use additional fields to populate bytes/pkt counters Some devices out there (Cisco NSEL) use fields 231/232 as bytes counters, when those are supposed to be layer 4 payload counters. This updates the ECS fields populator to use those fields when the expected ones are not found. - Support a classId of 32 bits While the spec mandates a classId of 8 bits, some Cisco ASA devices actually use a 32 bit version of this field. This patches the field to allow up to 32-bit integers and updates the index pattern to use `long` for the `netflow.class_id` field. - Add more fields from v9 Cisco devices Fixes elastic#14212 * update settings for `decode_csv_fields` (elastic#15249) (elastic#15550) Co-authored-by: DeDe Morton <dede.morton@elastic.co> Co-authored-by: Sophia Xu <sophia.xu@elastic.co> * docs: updates to output config (elastic#15272) * [Filebeat] Handle error message in handleS3Objects function (elastic#15545) * Handle error message in handleS3Objects function * remove s3Context.Fail and use setError and done instead * Add changelog * Fix use of wrong fields in Cisco ASA dashboard (elastic#15553) This dashboard wasn't updated after a couple of fields were renamed. Fixes: elastic#15420 * Add test for publisher spool encode and decode. (elastic#15534) * Add test for publisher queue encode and decode. * Run mage fmt. * Fixes from code review. * Fix convert processor conversion of string with leading zeros to integer (elastic#15557) The conversion failed when for strings with leading zeroes and a decimal digit 8 or 9, as the underlying runtime function would try to parse that as an octal number. This is fixed by only allowing decimal and hex, which in turns makes the processor more aligned to its Elasticsearch counterpart. Fixes elastic#15513 * New mage target: generate pkg file to test the manager (elastic#15580) This PR adds a new mage target to Functionbeat named `buildPkgForFunction`. It generates the folder `pkg` with the functions to make testing the manager more comfortable during development. * Packetbeat TLS: Replace array fields with keyword (elastic#15597) Use of `type: array` in some fields (which was inconsistent) causes those fields to be excluded from the template. This prevents pointing aliases to those fields, which we need in 7.6+. Setting those fields to `keyword` explicitly so that they are included in the template. Fixes elastic#15588 * Add a pull request template providing valuable information when reviewing a PR (elastic#15388) * Add a PR template that provides valuable information when reviewing a PR * Add CLA check * Fix typo * Address comments during review * SF: Fix typo * Add deprecation as PR type * Make it clear how to strike through in markdown * Add default configuration files to the checklist * [Metricbeat] Implement IBM MQ module (elastic#15301) * Modify cockroachdb source * Define testdata * Do not publish ports * Update docs * mage fmt update * Describe containerized environment * Update CHANGELOG.next.asciidoc Co-Authored-By: Chris Mark <chrismarkou92@gmail.com> * Update data.json * Rename image * Update source after review * Filter ibmmq_ metrics * mage check * Fix: mage check * Don't expose port * Rename status to qmgr * Add subscriptions overview dashboard for IBM MQ module * Add calls, messages overview dashboard for IBM MQ module * Add screenshots * Fix: mage check * Fix: CHANGELOG * Add explanation * Fix: mage check Co-authored-by: Chris Mark <chrismarkou92@gmail.com> * Cleanup changelogs for master (elastic#15617) * Cleanup changelogs for master * Remove extra header in CHANGELOG.asciidoc * [Metricbeat] Add lambda metricset in aws module (elastic#15260) * Add lambda metricset * Adds missing imports (elastic#15624) * [docs] Clarify privileges required for the writer role (elastic#15604) * Mask password discovered via module autodiscover hint (elastic#15616) * Mask password is string representation of config * Rename method * Adding unit test * Use const for module config password setting name * Using common.DebugString * Simplifying * Removing now-invalid unit test * Removing now-unnecessary const * Refactoring: moving debug-related var and func to common file * Refactoring: rename from black list to mask list * Implement fmt.Formatter for common.MapStr * Reintroduce debug statement * Make MarshalLogObject always filter MapStr object for logging purposes * Refactoring: renaming to be bit more generic * Forgot to add license header to new file * Fixing verb syntax * Update KQL to get estimated cost without dimension ServiceName (elastic#15640) * Adding monitoring.cloud.* settings to reference files (elastic#15648) * Adding monitoring.cloud.* settings to reference files * Missed winlogbeat somehow * Missed x-pack/winlogbeat * remove lablels (elastic#15644) * Fix panic: don't send events if client is nil (elastic#15568) * Fix panic: don't send events if client is nil * Use mutex * Add CHANGELOG entry * Rename changelog entry * Fix: changelog * Temporarily use specific logstash release * [Metricbeat] Add Istio mesh metricset (elastic#15535) * [Metricbeat] Fix changelog (elastic#15681) * Fix changelog * ci: use APM pipeline library (elastic#15636) it uses APM pipeline library configured in the instance * AWS Lambda: downgrade Kibana dashboard (elastic#15682) * AWS Lambda: downgrade Kibana dashboard * Downgrade other AWS dashboards * Log command error if setup dashboards fails * Another downgrade * Use github.com/godror/godror instead of goracle.v2 (elastic#15683) From the README of goracle: > Goracle is deprecated because of naming (trademark) issues. From now on we are using github.com/godror/godror instead. * Move pdh query to shared location in order for new modules/metricsets to reuse (elastic#15503) * Move pdh query to shared location * Update changelog * Fix make update * mage fmt * fix changelog * Remove datasource option from SQL module and add tests (elastic#15686) Remove datasource option from SQL module. This option was intended to set the DSN of a database connection, and we were ignoring the hosts setting. In other SQL modules we are using the values in hosts as DSNs, do here the same for consistency. Host is redacted when we cannot parse it as it can contain passwords. StandardizeEvent is exposed in mbtest.Fetcher interface so we can more easily check contents of events in tests. Add integration tests of the module with MySQL and PostgreSQL. Add real data.json with data from MySQL and PostgreSQL. * [metricbeat] add service metricset to reference documentation (elastic#15643) * add service metricset to ref docs * update xpack docs * [metricbeat] Add divide by zero check to docker/diskio (elastic#15649) * add NaN check to docker/diskio * return 0 * Change joda style pattern to java style (elastic#15695) since 7.0 elasticsearch is using java.time style patterns. YYYY becomes yyyy * [DOCS] Add missing config options to shared file (elastic#15136) * [DOCS] Add missing config options to shared file * Add fixes from review * Run mage fmt update to fix build error * [Heartbeat] Support for multiple status codes elastic#13595 (elastic#15587) Allow for multiple status codes in config. Fixes elastic#13595 * Add missing changelog entry for elastic#15587 (elastic#15721) * Update github.com/godror/godror to v0.10.4 (elastic#15737) ## What does this PR do? This PR updates the dependency `github.com/godror/godror` to v0.10.4. ## Why is it important? Packaging of Metricbeat fails due to the issue in the `godror` version we are currently using. See more about the problem: godror/godror#8 * Collect normalized CPU percentages by default (elastic#15729) * Collect normalized CPU percentages by default * Adding CHANGELOG entry * Updating x-pack/metricbeat * Fix: mage check * Detect Eclipse Public License Co-authored-by: Adrian Serrano <adrisr83@gmail.com> Co-authored-by: DeDe Morton <dede.morton@elastic.co> Co-authored-by: Sophia Xu <sophia.xu@elastic.co> Co-authored-by: Brandon Morelli <bmorelli25@gmail.com> Co-authored-by: kaiyan-sheng <kaiyan.sheng@elastic.co> Co-authored-by: Blake Rouse <blake.rouse@elastic.co> Co-authored-by: Noémi Ványi <kvch@users.noreply.github.com> Co-authored-by: Manuel de la Peña <social.mdelapenya@gmail.com> Co-authored-by: Chris Mark <chrismarkou92@gmail.com> Co-authored-by: Michael Madden <mikemadden42@users.noreply.github.com> Co-authored-by: Shaunak Kashyap <ycombinator@gmail.com> Co-authored-by: Pablo Mercado <pablo.mercado@elastic.co> Co-authored-by: Ivan Fernandez Calvo <kuisathaverat@users.noreply.github.com> Co-authored-by: Mariana Dima <mariana@elastic.co> Co-authored-by: Jaime Soriano Pastor <jaime.soriano@elastic.co> Co-authored-by: Alex K. <8418476+fearful-symmetry@users.noreply.github.com> Co-authored-by: Przemyslaw Gomulka <przemyslaw.gomulka@elastic.co> Co-authored-by: Amanda H. L. de Andrade Katz <amanda.andrade@serpro.gov.br> Co-authored-by: Andrew Cholakian <andrew@andrewvc.com> * [Filebeat] Refactor mqtt input (elastic#16014) * Refactor mqtt input * Fix: comment * Add unit tests * Test: input run * Fix Test: run and stop * Test: backoff * Adjust code after review * MQTT: update docs (elastic#16152) * MQTT: add integration test (elastic#16143) * Create mosquitto image * MQTT input: add integration test * Fix * Verify connectivity * Fix * Fix: mage check * Fix * Fix * Fix: remove global var * Update changelog * Fix: regenerate notice file * Remove unused dependency * Fix: zero qos * Wait asynchronously for client being disconnected Co-authored-by: Felix <felix.roessel@elastic.co> Co-authored-by: Adrian Serrano <adrisr83@gmail.com> Co-authored-by: DeDe Morton <dede.morton@elastic.co> Co-authored-by: Sophia Xu <sophia.xu@elastic.co> Co-authored-by: Brandon Morelli <bmorelli25@gmail.com> Co-authored-by: kaiyan-sheng <kaiyan.sheng@elastic.co> Co-authored-by: Blake Rouse <blake.rouse@elastic.co> Co-authored-by: Noémi Ványi <kvch@users.noreply.github.com> Co-authored-by: Manuel de la Peña <social.mdelapenya@gmail.com> Co-authored-by: Chris Mark <chrismarkou92@gmail.com> Co-authored-by: Michael Madden <mikemadden42@users.noreply.github.com> Co-authored-by: Shaunak Kashyap <ycombinator@gmail.com> Co-authored-by: Pablo Mercado <pablo.mercado@elastic.co> Co-authored-by: Ivan Fernandez Calvo <kuisathaverat@users.noreply.github.com> Co-authored-by: Mariana Dima <mariana@elastic.co> Co-authored-by: Jaime Soriano Pastor <jaime.soriano@elastic.co> Co-authored-by: Alex K. <8418476+fearful-symmetry@users.noreply.github.com> Co-authored-by: Przemyslaw Gomulka <przemyslaw.gomulka@elastic.co> Co-authored-by: Amanda H. L. de Andrade Katz <amanda.andrade@serpro.gov.br> Co-authored-by: Andrew Cholakian <andrew@andrewvc.com> (cherry picked from commit 56c93e5)
…6284) * Filebeat: Merge "mqtt" input to master (#16204) * Add MQTT input to Filebeat (#15287) * Inital commit for MQTT input * Improved naming and error handling * Improved naming and connection procedure * Merge "master" branch into "feature-mqtt-input" (#15745) * [Filebeat] Fixes for NetFlow v9 devices from various vendors (#15449) - Allow for zero scope fields in options template NetFlow v9 spec allows for options templates that contain no scope fields. The netflow input was treating this case as an error and discarding the template, but that is only applicable to IPFIX. - Use additional fields to populate bytes/pkt counters Some devices out there (Cisco NSEL) use fields 231/232 as bytes counters, when those are supposed to be layer 4 payload counters. This updates the ECS fields populator to use those fields when the expected ones are not found. - Support a classId of 32 bits While the spec mandates a classId of 8 bits, some Cisco ASA devices actually use a 32 bit version of this field. This patches the field to allow up to 32-bit integers and updates the index pattern to use `long` for the `netflow.class_id` field. - Add more fields from v9 Cisco devices Fixes #14212 * update settings for `decode_csv_fields` (#15249) (#15550) Co-authored-by: DeDe Morton <dede.morton@elastic.co> Co-authored-by: Sophia Xu <sophia.xu@elastic.co> * docs: updates to output config (#15272) * [Filebeat] Handle error message in handleS3Objects function (#15545) * Handle error message in handleS3Objects function * remove s3Context.Fail and use setError and done instead * Add changelog * Fix use of wrong fields in Cisco ASA dashboard (#15553) This dashboard wasn't updated after a couple of fields were renamed. Fixes: #15420 * Add test for publisher spool encode and decode. (#15534) * Add test for publisher queue encode and decode. * Run mage fmt. * Fixes from code review. * Fix convert processor conversion of string with leading zeros to integer (#15557) The conversion failed when for strings with leading zeroes and a decimal digit 8 or 9, as the underlying runtime function would try to parse that as an octal number. This is fixed by only allowing decimal and hex, which in turns makes the processor more aligned to its Elasticsearch counterpart. Fixes #15513 * New mage target: generate pkg file to test the manager (#15580) This PR adds a new mage target to Functionbeat named `buildPkgForFunction`. It generates the folder `pkg` with the functions to make testing the manager more comfortable during development. * Packetbeat TLS: Replace array fields with keyword (#15597) Use of `type: array` in some fields (which was inconsistent) causes those fields to be excluded from the template. This prevents pointing aliases to those fields, which we need in 7.6+. Setting those fields to `keyword` explicitly so that they are included in the template. Fixes #15588 * Add a pull request template providing valuable information when reviewing a PR (#15388) * Add a PR template that provides valuable information when reviewing a PR * Add CLA check * Fix typo * Address comments during review * SF: Fix typo * Add deprecation as PR type * Make it clear how to strike through in markdown * Add default configuration files to the checklist * [Metricbeat] Implement IBM MQ module (#15301) * Modify cockroachdb source * Define testdata * Do not publish ports * Update docs * mage fmt update * Describe containerized environment * Update CHANGELOG.next.asciidoc Co-Authored-By: Chris Mark <chrismarkou92@gmail.com> * Update data.json * Rename image * Update source after review * Filter ibmmq_ metrics * mage check * Fix: mage check * Don't expose port * Rename status to qmgr * Add subscriptions overview dashboard for IBM MQ module * Add calls, messages overview dashboard for IBM MQ module * Add screenshots * Fix: mage check * Fix: CHANGELOG * Add explanation * Fix: mage check Co-authored-by: Chris Mark <chrismarkou92@gmail.com> * Cleanup changelogs for master (#15617) * Cleanup changelogs for master * Remove extra header in CHANGELOG.asciidoc * [Metricbeat] Add lambda metricset in aws module (#15260) * Add lambda metricset * Adds missing imports (#15624) * [docs] Clarify privileges required for the writer role (#15604) * Mask password discovered via module autodiscover hint (#15616) * Mask password is string representation of config * Rename method * Adding unit test * Use const for module config password setting name * Using common.DebugString * Simplifying * Removing now-invalid unit test * Removing now-unnecessary const * Refactoring: moving debug-related var and func to common file * Refactoring: rename from black list to mask list * Implement fmt.Formatter for common.MapStr * Reintroduce debug statement * Make MarshalLogObject always filter MapStr object for logging purposes * Refactoring: renaming to be bit more generic * Forgot to add license header to new file * Fixing verb syntax * Update KQL to get estimated cost without dimension ServiceName (#15640) * Adding monitoring.cloud.* settings to reference files (#15648) * Adding monitoring.cloud.* settings to reference files * Missed winlogbeat somehow * Missed x-pack/winlogbeat * remove lablels (#15644) * Fix panic: don't send events if client is nil (#15568) * Fix panic: don't send events if client is nil * Use mutex * Add CHANGELOG entry * Rename changelog entry * Fix: changelog * Temporarily use specific logstash release * [Metricbeat] Add Istio mesh metricset (#15535) * [Metricbeat] Fix changelog (#15681) * Fix changelog * ci: use APM pipeline library (#15636) it uses APM pipeline library configured in the instance * AWS Lambda: downgrade Kibana dashboard (#15682) * AWS Lambda: downgrade Kibana dashboard * Downgrade other AWS dashboards * Log command error if setup dashboards fails * Another downgrade * Use github.com/godror/godror instead of goracle.v2 (#15683) From the README of goracle: > Goracle is deprecated because of naming (trademark) issues. From now on we are using github.com/godror/godror instead. * Move pdh query to shared location in order for new modules/metricsets to reuse (#15503) * Move pdh query to shared location * Update changelog * Fix make update * mage fmt * fix changelog * Remove datasource option from SQL module and add tests (#15686) Remove datasource option from SQL module. This option was intended to set the DSN of a database connection, and we were ignoring the hosts setting. In other SQL modules we are using the values in hosts as DSNs, do here the same for consistency. Host is redacted when we cannot parse it as it can contain passwords. StandardizeEvent is exposed in mbtest.Fetcher interface so we can more easily check contents of events in tests. Add integration tests of the module with MySQL and PostgreSQL. Add real data.json with data from MySQL and PostgreSQL. * [metricbeat] add service metricset to reference documentation (#15643) * add service metricset to ref docs * update xpack docs * [metricbeat] Add divide by zero check to docker/diskio (#15649) * add NaN check to docker/diskio * return 0 * Change joda style pattern to java style (#15695) since 7.0 elasticsearch is using java.time style patterns. YYYY becomes yyyy * [DOCS] Add missing config options to shared file (#15136) * [DOCS] Add missing config options to shared file * Add fixes from review * Run mage fmt update to fix build error * [Heartbeat] Support for multiple status codes #13595 (#15587) Allow for multiple status codes in config. Fixes #13595 * Add missing changelog entry for #15587 (#15721) * Update github.com/godror/godror to v0.10.4 (#15737) ## What does this PR do? This PR updates the dependency `github.com/godror/godror` to v0.10.4. ## Why is it important? Packaging of Metricbeat fails due to the issue in the `godror` version we are currently using. See more about the problem: godror/godror#8 * Collect normalized CPU percentages by default (#15729) * Collect normalized CPU percentages by default * Adding CHANGELOG entry * Updating x-pack/metricbeat * Fix: mage check * Detect Eclipse Public License Co-authored-by: Adrian Serrano <adrisr83@gmail.com> Co-authored-by: DeDe Morton <dede.morton@elastic.co> Co-authored-by: Sophia Xu <sophia.xu@elastic.co> Co-authored-by: Brandon Morelli <bmorelli25@gmail.com> Co-authored-by: kaiyan-sheng <kaiyan.sheng@elastic.co> Co-authored-by: Blake Rouse <blake.rouse@elastic.co> Co-authored-by: Noémi Ványi <kvch@users.noreply.github.com> Co-authored-by: Manuel de la Peña <social.mdelapenya@gmail.com> Co-authored-by: Chris Mark <chrismarkou92@gmail.com> Co-authored-by: Michael Madden <mikemadden42@users.noreply.github.com> Co-authored-by: Shaunak Kashyap <ycombinator@gmail.com> Co-authored-by: Pablo Mercado <pablo.mercado@elastic.co> Co-authored-by: Ivan Fernandez Calvo <kuisathaverat@users.noreply.github.com> Co-authored-by: Mariana Dima <mariana@elastic.co> Co-authored-by: Jaime Soriano Pastor <jaime.soriano@elastic.co> Co-authored-by: Alex K. <8418476+fearful-symmetry@users.noreply.github.com> Co-authored-by: Przemyslaw Gomulka <przemyslaw.gomulka@elastic.co> Co-authored-by: Amanda H. L. de Andrade Katz <amanda.andrade@serpro.gov.br> Co-authored-by: Andrew Cholakian <andrew@andrewvc.com> * [Filebeat] Refactor mqtt input (#16014) * Refactor mqtt input * Fix: comment * Add unit tests * Test: input run * Fix Test: run and stop * Test: backoff * Adjust code after review * MQTT: update docs (#16152) * MQTT: add integration test (#16143) * Create mosquitto image * MQTT input: add integration test * Fix * Verify connectivity * Fix * Fix: mage check * Fix * Fix * Fix: remove global var * Update changelog * Fix: regenerate notice file * Remove unused dependency * Fix: zero qos * Wait asynchronously for client being disconnected Co-authored-by: Felix <felix.roessel@elastic.co> Co-authored-by: Adrian Serrano <adrisr83@gmail.com> Co-authored-by: DeDe Morton <dede.morton@elastic.co> Co-authored-by: Sophia Xu <sophia.xu@elastic.co> Co-authored-by: Brandon Morelli <bmorelli25@gmail.com> Co-authored-by: kaiyan-sheng <kaiyan.sheng@elastic.co> Co-authored-by: Blake Rouse <blake.rouse@elastic.co> Co-authored-by: Noémi Ványi <kvch@users.noreply.github.com> Co-authored-by: Manuel de la Peña <social.mdelapenya@gmail.com> Co-authored-by: Chris Mark <chrismarkou92@gmail.com> Co-authored-by: Michael Madden <mikemadden42@users.noreply.github.com> Co-authored-by: Shaunak Kashyap <ycombinator@gmail.com> Co-authored-by: Pablo Mercado <pablo.mercado@elastic.co> Co-authored-by: Ivan Fernandez Calvo <kuisathaverat@users.noreply.github.com> Co-authored-by: Mariana Dima <mariana@elastic.co> Co-authored-by: Jaime Soriano Pastor <jaime.soriano@elastic.co> Co-authored-by: Alex K. <8418476+fearful-symmetry@users.noreply.github.com> Co-authored-by: Przemyslaw Gomulka <przemyslaw.gomulka@elastic.co> Co-authored-by: Amanda H. L. de Andrade Katz <amanda.andrade@serpro.gov.br> Co-authored-by: Andrew Cholakian <andrew@andrewvc.com> (cherry picked from commit 56c93e5) * Update CHANGELOG
* Add MQTT input to Filebeat (elastic#15287) * Inital commit for MQTT input * Improved naming and error handling * Improved naming and connection procedure * Merge "master" branch into "feature-mqtt-input" (elastic#15745) * [Filebeat] Fixes for NetFlow v9 devices from various vendors (elastic#15449) - Allow for zero scope fields in options template NetFlow v9 spec allows for options templates that contain no scope fields. The netflow input was treating this case as an error and discarding the template, but that is only applicable to IPFIX. - Use additional fields to populate bytes/pkt counters Some devices out there (Cisco NSEL) use fields 231/232 as bytes counters, when those are supposed to be layer 4 payload counters. This updates the ECS fields populator to use those fields when the expected ones are not found. - Support a classId of 32 bits While the spec mandates a classId of 8 bits, some Cisco ASA devices actually use a 32 bit version of this field. This patches the field to allow up to 32-bit integers and updates the index pattern to use `long` for the `netflow.class_id` field. - Add more fields from v9 Cisco devices Fixes elastic#14212 * update settings for `decode_csv_fields` (elastic#15249) (elastic#15550) Co-authored-by: DeDe Morton <dede.morton@elastic.co> Co-authored-by: Sophia Xu <sophia.xu@elastic.co> * docs: updates to output config (elastic#15272) * [Filebeat] Handle error message in handleS3Objects function (elastic#15545) * Handle error message in handleS3Objects function * remove s3Context.Fail and use setError and done instead * Add changelog * Fix use of wrong fields in Cisco ASA dashboard (elastic#15553) This dashboard wasn't updated after a couple of fields were renamed. Fixes: elastic#15420 * Add test for publisher spool encode and decode. (elastic#15534) * Add test for publisher queue encode and decode. * Run mage fmt. * Fixes from code review. * Fix convert processor conversion of string with leading zeros to integer (elastic#15557) The conversion failed when for strings with leading zeroes and a decimal digit 8 or 9, as the underlying runtime function would try to parse that as an octal number. This is fixed by only allowing decimal and hex, which in turns makes the processor more aligned to its Elasticsearch counterpart. Fixes elastic#15513 * New mage target: generate pkg file to test the manager (elastic#15580) This PR adds a new mage target to Functionbeat named `buildPkgForFunction`. It generates the folder `pkg` with the functions to make testing the manager more comfortable during development. * Packetbeat TLS: Replace array fields with keyword (elastic#15597) Use of `type: array` in some fields (which was inconsistent) causes those fields to be excluded from the template. This prevents pointing aliases to those fields, which we need in 7.6+. Setting those fields to `keyword` explicitly so that they are included in the template. Fixes elastic#15588 * Add a pull request template providing valuable information when reviewing a PR (elastic#15388) * Add a PR template that provides valuable information when reviewing a PR * Add CLA check * Fix typo * Address comments during review * SF: Fix typo * Add deprecation as PR type * Make it clear how to strike through in markdown * Add default configuration files to the checklist * [Metricbeat] Implement IBM MQ module (elastic#15301) * Modify cockroachdb source * Define testdata * Do not publish ports * Update docs * mage fmt update * Describe containerized environment * Update CHANGELOG.next.asciidoc Co-Authored-By: Chris Mark <chrismarkou92@gmail.com> * Update data.json * Rename image * Update source after review * Filter ibmmq_ metrics * mage check * Fix: mage check * Don't expose port * Rename status to qmgr * Add subscriptions overview dashboard for IBM MQ module * Add calls, messages overview dashboard for IBM MQ module * Add screenshots * Fix: mage check * Fix: CHANGELOG * Add explanation * Fix: mage check Co-authored-by: Chris Mark <chrismarkou92@gmail.com> * Cleanup changelogs for master (elastic#15617) * Cleanup changelogs for master * Remove extra header in CHANGELOG.asciidoc * [Metricbeat] Add lambda metricset in aws module (elastic#15260) * Add lambda metricset * Adds missing imports (elastic#15624) * [docs] Clarify privileges required for the writer role (elastic#15604) * Mask password discovered via module autodiscover hint (elastic#15616) * Mask password is string representation of config * Rename method * Adding unit test * Use const for module config password setting name * Using common.DebugString * Simplifying * Removing now-invalid unit test * Removing now-unnecessary const * Refactoring: moving debug-related var and func to common file * Refactoring: rename from black list to mask list * Implement fmt.Formatter for common.MapStr * Reintroduce debug statement * Make MarshalLogObject always filter MapStr object for logging purposes * Refactoring: renaming to be bit more generic * Forgot to add license header to new file * Fixing verb syntax * Update KQL to get estimated cost without dimension ServiceName (elastic#15640) * Adding monitoring.cloud.* settings to reference files (elastic#15648) * Adding monitoring.cloud.* settings to reference files * Missed winlogbeat somehow * Missed x-pack/winlogbeat * remove lablels (elastic#15644) * Fix panic: don't send events if client is nil (elastic#15568) * Fix panic: don't send events if client is nil * Use mutex * Add CHANGELOG entry * Rename changelog entry * Fix: changelog * Temporarily use specific logstash release * [Metricbeat] Add Istio mesh metricset (elastic#15535) * [Metricbeat] Fix changelog (elastic#15681) * Fix changelog * ci: use APM pipeline library (elastic#15636) it uses APM pipeline library configured in the instance * AWS Lambda: downgrade Kibana dashboard (elastic#15682) * AWS Lambda: downgrade Kibana dashboard * Downgrade other AWS dashboards * Log command error if setup dashboards fails * Another downgrade * Use github.com/godror/godror instead of goracle.v2 (elastic#15683) From the README of goracle: > Goracle is deprecated because of naming (trademark) issues. From now on we are using github.com/godror/godror instead. * Move pdh query to shared location in order for new modules/metricsets to reuse (elastic#15503) * Move pdh query to shared location * Update changelog * Fix make update * mage fmt * fix changelog * Remove datasource option from SQL module and add tests (elastic#15686) Remove datasource option from SQL module. This option was intended to set the DSN of a database connection, and we were ignoring the hosts setting. In other SQL modules we are using the values in hosts as DSNs, do here the same for consistency. Host is redacted when we cannot parse it as it can contain passwords. StandardizeEvent is exposed in mbtest.Fetcher interface so we can more easily check contents of events in tests. Add integration tests of the module with MySQL and PostgreSQL. Add real data.json with data from MySQL and PostgreSQL. * [metricbeat] add service metricset to reference documentation (elastic#15643) * add service metricset to ref docs * update xpack docs * [metricbeat] Add divide by zero check to docker/diskio (elastic#15649) * add NaN check to docker/diskio * return 0 * Change joda style pattern to java style (elastic#15695) since 7.0 elasticsearch is using java.time style patterns. YYYY becomes yyyy * [DOCS] Add missing config options to shared file (elastic#15136) * [DOCS] Add missing config options to shared file * Add fixes from review * Run mage fmt update to fix build error * [Heartbeat] Support for multiple status codes elastic#13595 (elastic#15587) Allow for multiple status codes in config. Fixes elastic#13595 * Add missing changelog entry for elastic#15587 (elastic#15721) * Update github.com/godror/godror to v0.10.4 (elastic#15737) ## What does this PR do? This PR updates the dependency `github.com/godror/godror` to v0.10.4. ## Why is it important? Packaging of Metricbeat fails due to the issue in the `godror` version we are currently using. See more about the problem: godror/godror#8 * Collect normalized CPU percentages by default (elastic#15729) * Collect normalized CPU percentages by default * Adding CHANGELOG entry * Updating x-pack/metricbeat * Fix: mage check * Detect Eclipse Public License Co-authored-by: Adrian Serrano <adrisr83@gmail.com> Co-authored-by: DeDe Morton <dede.morton@elastic.co> Co-authored-by: Sophia Xu <sophia.xu@elastic.co> Co-authored-by: Brandon Morelli <bmorelli25@gmail.com> Co-authored-by: kaiyan-sheng <kaiyan.sheng@elastic.co> Co-authored-by: Blake Rouse <blake.rouse@elastic.co> Co-authored-by: Noémi Ványi <kvch@users.noreply.github.com> Co-authored-by: Manuel de la Peña <social.mdelapenya@gmail.com> Co-authored-by: Chris Mark <chrismarkou92@gmail.com> Co-authored-by: Michael Madden <mikemadden42@users.noreply.github.com> Co-authored-by: Shaunak Kashyap <ycombinator@gmail.com> Co-authored-by: Pablo Mercado <pablo.mercado@elastic.co> Co-authored-by: Ivan Fernandez Calvo <kuisathaverat@users.noreply.github.com> Co-authored-by: Mariana Dima <mariana@elastic.co> Co-authored-by: Jaime Soriano Pastor <jaime.soriano@elastic.co> Co-authored-by: Alex K. <8418476+fearful-symmetry@users.noreply.github.com> Co-authored-by: Przemyslaw Gomulka <przemyslaw.gomulka@elastic.co> Co-authored-by: Amanda H. L. de Andrade Katz <amanda.andrade@serpro.gov.br> Co-authored-by: Andrew Cholakian <andrew@andrewvc.com> * [Filebeat] Refactor mqtt input (elastic#16014) * Refactor mqtt input * Fix: comment * Add unit tests * Test: input run * Fix Test: run and stop * Test: backoff * Adjust code after review * MQTT: update docs (elastic#16152) * MQTT: add integration test (elastic#16143) * Create mosquitto image * MQTT input: add integration test * Fix * Verify connectivity * Fix * Fix: mage check * Fix * Fix * Fix: remove global var * Update changelog * Fix: regenerate notice file * Remove unused dependency * Fix: zero qos * Wait asynchronously for client being disconnected Co-authored-by: Felix <felix.roessel@elastic.co> Co-authored-by: Adrian Serrano <adrisr83@gmail.com> Co-authored-by: DeDe Morton <dede.morton@elastic.co> Co-authored-by: Sophia Xu <sophia.xu@elastic.co> Co-authored-by: Brandon Morelli <bmorelli25@gmail.com> Co-authored-by: kaiyan-sheng <kaiyan.sheng@elastic.co> Co-authored-by: Blake Rouse <blake.rouse@elastic.co> Co-authored-by: Noémi Ványi <kvch@users.noreply.github.com> Co-authored-by: Manuel de la Peña <social.mdelapenya@gmail.com> Co-authored-by: Chris Mark <chrismarkou92@gmail.com> Co-authored-by: Michael Madden <mikemadden42@users.noreply.github.com> Co-authored-by: Shaunak Kashyap <ycombinator@gmail.com> Co-authored-by: Pablo Mercado <pablo.mercado@elastic.co> Co-authored-by: Ivan Fernandez Calvo <kuisathaverat@users.noreply.github.com> Co-authored-by: Mariana Dima <mariana@elastic.co> Co-authored-by: Jaime Soriano Pastor <jaime.soriano@elastic.co> Co-authored-by: Alex K. <8418476+fearful-symmetry@users.noreply.github.com> Co-authored-by: Przemyslaw Gomulka <przemyslaw.gomulka@elastic.co> Co-authored-by: Amanda H. L. de Andrade Katz <amanda.andrade@serpro.gov.br> Co-authored-by: Andrew Cholakian <andrew@andrewvc.com>
Pinging @elastic/integrations-services (Team:Services) |
* [Filebeat] Fixes for NetFlow v9 devices from various vendors (elastic#15449) - Allow for zero scope fields in options template NetFlow v9 spec allows for options templates that contain no scope fields. The netflow input was treating this case as an error and discarding the template, but that is only applicable to IPFIX. - Use additional fields to populate bytes/pkt counters Some devices out there (Cisco NSEL) use fields 231/232 as bytes counters, when those are supposed to be layer 4 payload counters. This updates the ECS fields populator to use those fields when the expected ones are not found. - Support a classId of 32 bits While the spec mandates a classId of 8 bits, some Cisco ASA devices actually use a 32 bit version of this field. This patches the field to allow up to 32-bit integers and updates the index pattern to use `long` for the `netflow.class_id` field. - Add more fields from v9 Cisco devices Fixes elastic#14212 * update settings for `decode_csv_fields` (elastic#15249) (elastic#15550) Co-authored-by: DeDe Morton <dede.morton@elastic.co> Co-authored-by: Sophia Xu <sophia.xu@elastic.co> * docs: updates to output config (elastic#15272) * [Filebeat] Handle error message in handleS3Objects function (elastic#15545) * Handle error message in handleS3Objects function * remove s3Context.Fail and use setError and done instead * Add changelog * Fix use of wrong fields in Cisco ASA dashboard (elastic#15553) This dashboard wasn't updated after a couple of fields were renamed. Fixes: elastic#15420 * Add test for publisher spool encode and decode. (elastic#15534) * Add test for publisher queue encode and decode. * Run mage fmt. * Fixes from code review. * Fix convert processor conversion of string with leading zeros to integer (elastic#15557) The conversion failed when for strings with leading zeroes and a decimal digit 8 or 9, as the underlying runtime function would try to parse that as an octal number. This is fixed by only allowing decimal and hex, which in turns makes the processor more aligned to its Elasticsearch counterpart. Fixes elastic#15513 * New mage target: generate pkg file to test the manager (elastic#15580) This PR adds a new mage target to Functionbeat named `buildPkgForFunction`. It generates the folder `pkg` with the functions to make testing the manager more comfortable during development. * Packetbeat TLS: Replace array fields with keyword (elastic#15597) Use of `type: array` in some fields (which was inconsistent) causes those fields to be excluded from the template. This prevents pointing aliases to those fields, which we need in 7.6+. Setting those fields to `keyword` explicitly so that they are included in the template. Fixes elastic#15588 * Add a pull request template providing valuable information when reviewing a PR (elastic#15388) * Add a PR template that provides valuable information when reviewing a PR * Add CLA check * Fix typo * Address comments during review * SF: Fix typo * Add deprecation as PR type * Make it clear how to strike through in markdown * Add default configuration files to the checklist * [Metricbeat] Implement IBM MQ module (elastic#15301) * Modify cockroachdb source * Define testdata * Do not publish ports * Update docs * mage fmt update * Describe containerized environment * Update CHANGELOG.next.asciidoc Co-Authored-By: Chris Mark <chrismarkou92@gmail.com> * Update data.json * Rename image * Update source after review * Filter ibmmq_ metrics * mage check * Fix: mage check * Don't expose port * Rename status to qmgr * Add subscriptions overview dashboard for IBM MQ module * Add calls, messages overview dashboard for IBM MQ module * Add screenshots * Fix: mage check * Fix: CHANGELOG * Add explanation * Fix: mage check Co-authored-by: Chris Mark <chrismarkou92@gmail.com> * Cleanup changelogs for master (elastic#15617) * Cleanup changelogs for master * Remove extra header in CHANGELOG.asciidoc * [Metricbeat] Add lambda metricset in aws module (elastic#15260) * Add lambda metricset * Adds missing imports (elastic#15624) * [docs] Clarify privileges required for the writer role (elastic#15604) * Mask password discovered via module autodiscover hint (elastic#15616) * Mask password is string representation of config * Rename method * Adding unit test * Use const for module config password setting name * Using common.DebugString * Simplifying * Removing now-invalid unit test * Removing now-unnecessary const * Refactoring: moving debug-related var and func to common file * Refactoring: rename from black list to mask list * Implement fmt.Formatter for common.MapStr * Reintroduce debug statement * Make MarshalLogObject always filter MapStr object for logging purposes * Refactoring: renaming to be bit more generic * Forgot to add license header to new file * Fixing verb syntax * Update KQL to get estimated cost without dimension ServiceName (elastic#15640) * Adding monitoring.cloud.* settings to reference files (elastic#15648) * Adding monitoring.cloud.* settings to reference files * Missed winlogbeat somehow * Missed x-pack/winlogbeat * remove lablels (elastic#15644) * Fix panic: don't send events if client is nil (elastic#15568) * Fix panic: don't send events if client is nil * Use mutex * Add CHANGELOG entry * Rename changelog entry * Fix: changelog * Temporarily use specific logstash release * [Metricbeat] Add Istio mesh metricset (elastic#15535) * [Metricbeat] Fix changelog (elastic#15681) * Fix changelog * ci: use APM pipeline library (elastic#15636) it uses APM pipeline library configured in the instance * AWS Lambda: downgrade Kibana dashboard (elastic#15682) * AWS Lambda: downgrade Kibana dashboard * Downgrade other AWS dashboards * Log command error if setup dashboards fails * Another downgrade * Use github.com/godror/godror instead of goracle.v2 (elastic#15683) From the README of goracle: > Goracle is deprecated because of naming (trademark) issues. From now on we are using github.com/godror/godror instead. * Move pdh query to shared location in order for new modules/metricsets to reuse (elastic#15503) * Move pdh query to shared location * Update changelog * Fix make update * mage fmt * fix changelog * Remove datasource option from SQL module and add tests (elastic#15686) Remove datasource option from SQL module. This option was intended to set the DSN of a database connection, and we were ignoring the hosts setting. In other SQL modules we are using the values in hosts as DSNs, do here the same for consistency. Host is redacted when we cannot parse it as it can contain passwords. StandardizeEvent is exposed in mbtest.Fetcher interface so we can more easily check contents of events in tests. Add integration tests of the module with MySQL and PostgreSQL. Add real data.json with data from MySQL and PostgreSQL. * [metricbeat] add service metricset to reference documentation (elastic#15643) * add service metricset to ref docs * update xpack docs * [metricbeat] Add divide by zero check to docker/diskio (elastic#15649) * add NaN check to docker/diskio * return 0 * Change joda style pattern to java style (elastic#15695) since 7.0 elasticsearch is using java.time style patterns. YYYY becomes yyyy * [DOCS] Add missing config options to shared file (elastic#15136) * [DOCS] Add missing config options to shared file * Add fixes from review * Run mage fmt update to fix build error * [Heartbeat] Support for multiple status codes elastic#13595 (elastic#15587) Allow for multiple status codes in config. Fixes elastic#13595 * Add missing changelog entry for elastic#15587 (elastic#15721) * Update github.com/godror/godror to v0.10.4 (elastic#15737) ## What does this PR do? This PR updates the dependency `github.com/godror/godror` to v0.10.4. ## Why is it important? Packaging of Metricbeat fails due to the issue in the `godror` version we are currently using. See more about the problem: godror/godror#8 * Collect normalized CPU percentages by default (elastic#15729) * Collect normalized CPU percentages by default * Adding CHANGELOG entry * Updating x-pack/metricbeat * Fix: mage check * Detect Eclipse Public License Co-authored-by: Adrian Serrano <adrisr83@gmail.com> Co-authored-by: DeDe Morton <dede.morton@elastic.co> Co-authored-by: Sophia Xu <sophia.xu@elastic.co> Co-authored-by: Brandon Morelli <bmorelli25@gmail.com> Co-authored-by: kaiyan-sheng <kaiyan.sheng@elastic.co> Co-authored-by: Blake Rouse <blake.rouse@elastic.co> Co-authored-by: Noémi Ványi <kvch@users.noreply.github.com> Co-authored-by: Manuel de la Peña <social.mdelapenya@gmail.com> Co-authored-by: Chris Mark <chrismarkou92@gmail.com> Co-authored-by: Michael Madden <mikemadden42@users.noreply.github.com> Co-authored-by: Shaunak Kashyap <ycombinator@gmail.com> Co-authored-by: Pablo Mercado <pablo.mercado@elastic.co> Co-authored-by: Ivan Fernandez Calvo <kuisathaverat@users.noreply.github.com> Co-authored-by: Mariana Dima <mariana@elastic.co> Co-authored-by: Jaime Soriano Pastor <jaime.soriano@elastic.co> Co-authored-by: Alex K. <8418476+fearful-symmetry@users.noreply.github.com> Co-authored-by: Przemyslaw Gomulka <przemyslaw.gomulka@elastic.co> Co-authored-by: Amanda H. L. de Andrade Katz <amanda.andrade@serpro.gov.br> Co-authored-by: Andrew Cholakian <andrew@andrewvc.com>
This PR introduces new Metricbeat module for IBM MQ.
Issue: #13508
FYI Dashboard will be prepared in the next PR.How to test this PR locally
docker-compose up
to boot up IBM MQ module. The portlocalhost:9157
should be exposed.ibmmq
metricbeat (x-pack) module.metricbeat
with-e -d processors
and observe events flow.Dashboards: