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

Fix panic: don't send events if client is nil #15568

Merged
merged 6 commits into from
Jan 20, 2020

Conversation

mtojek
Copy link
Contributor

@mtojek mtojek commented Jan 15, 2020

This PR fixes panic reported in https://travis-ci.org/elastic/beats/jobs/637053125?utm_medium=notification&utm_source=github_status

=== RUN   TestSendMultipleViaLogstashTLS
2020-01-14T20:25:29.189Z	DEBUG	[tls]	tlscommon/tls.go:155	successfully loaded CA certificate: ../../../testing/environments/docker/logstash/pki/tls/certs/logstash.crt
2020-01-14T20:25:29.189Z	DEBUG	[logstash]	logstash/async.go:111	connect
2020-01-14T20:25:30.363Z	INFO	elasticsearch/client.go:174	Elasticsearch url: http://elasticsearch:9200
2020-01-14T20:25:30.363Z	DEBUG	[elasticsearch]	elasticsearch/client.go:774	DELETE http://elasticsearch:9200/beat-logstash-int-multiple-tls-7756-2020.01.14  <nil>
2020-01-14T20:25:30.370Z	DEBUG	[elasticsearch]	elasticsearch/client.go:774	PUT http://elasticsearch:9200/beat-logstash-int-multiple-tls-7756-2020.01.14  {"settings":{"number_of_replicas":0,"number_of_shards":1}}
2020-01-14T20:25:30.679Z	DEBUG	[logstash]	logstash/async.go:159	1 events out of 1 events sent to logstash host logstash:5055. Continue sending
2020-01-14T20:25:30.680Z	DEBUG	[logstash]	logstash/async.go:159	1 events out of 1 events sent to logstash host logstash:5055. Continue sending
2020-01-14T20:25:53.276Z	DEBUG	[transport]	transport/client.go:218	handle error: read tcp 172.18.0.9:55626->172.18.0.8:5044: i/o timeout
2020-01-14T20:25:53.277Z	ERROR	logstash/async.go:256	Failed to publish events caused by: read tcp 172.18.0.9:55626->172.18.0.8:5044: i/o timeout
2020-01-14T20:25:53.277Z	DEBUG	[transport]	transport/client.go:131	closing
2020-01-14T20:25:57.470Z	DEBUG	[transport]	transport/client.go:218	handle error: read tcp 172.18.0.9:58642->172.18.0.8:5055: i/o timeout
2020-01-14T20:25:57.470Z	ERROR	logstash/async.go:256	Failed to publish events caused by: read tcp 172.18.0.9:58642->172.18.0.8:5055: i/o timeout
2020-01-14T20:25:57.470Z	DEBUG	[transport]	transport/client.go:131	closing
2020-01-14T20:25:58.733Z	DEBUG	[transport]	transport/client.go:218	handle error: read tcp 172.18.0.9:55676->172.18.0.8:5044: i/o timeout
2020-01-14T20:25:58.733Z	ERROR	logstash/async.go:256	Failed to publish events caused by: read tcp 172.18.0.9:55676->172.18.0.8:5044: i/o timeout
2020-01-14T20:25:58.734Z	DEBUG	[transport]	transport/client.go:131	closing
2020-01-14T20:26:00.682Z	DEBUG	[transport]	transport/client.go:218	handle error: read tcp 172.18.0.9:58688->172.18.0.8:5055: i/o timeout
2020-01-14T20:26:00.682Z	ERROR	logstash/async.go:256	Failed to publish events caused by: read tcp 172.18.0.9:58688->172.18.0.8:5055: i/o timeout
2020-01-14T20:26:00.682Z	DEBUG	[transport]	transport/client.go:131	closing
2020-01-14T20:26:00.682Z	ERROR	logstash/async.go:256	Failed to publish events caused by: read tcp 172.18.0.9:58688->172.18.0.8:5055: i/o timeout
2020-01-14T20:26:00.682Z	DEBUG	[logstash]	logstash/async.go:159	1 events out of 1 events sent to logstash host logstash:5055. Continue sending
2020-01-14T20:26:00.682Z	ERROR	logstash/async.go:256	Failed to publish events caused by: read tcp 172.18.0.9:58688->172.18.0.8:5055: i/o timeout
2020-01-14T20:26:00.683Z	DEBUG	[logstash]	logstash/async.go:159	1 events out of 1 events sent to logstash host logstash:5055. Continue sending
2020-01-14T20:26:00.683Z	DEBUG	[logstash]	logstash/async.go:116	close connection
2020-01-14T20:26:00.683Z	DEBUG	[logstash]	logstash/async.go:116	close connection
2020-01-14T20:26:00.683Z	ERROR	logstash/async.go:256	Failed to publish events caused by: client is not connected
2020-01-14T20:26:02.155Z	DEBUG	[elasticsearch]	elasticsearch/client.go:774	DELETE http://elasticsearch:9200/beat-logstash-int-multiple-tls-7756-2020.01.14  <nil>
--- FAIL: TestSendMultipleViaLogstashTLS (33.07s)
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
	panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0xb1b8b6]
goroutine 129 [running]:
testing.tRunner.func1(0xc0001af000)
	/usr/local/go/src/testing/testing.go:874 +0x3a3
panic(0xc99bc0, 0x1221e80)
	/usr/local/go/src/runtime/panic.go:679 +0x1b2
github.com/elastic/beats/vendor/github.com/elastic/go-lumber/client/v2.(*AsyncClient).Send(0x0, 0xc000030040, 0xc000030030, 0x1, 0x1, 0x6fc5fa, 0xc0000e1c01)
	/go/src/github.com/elastic/beats/vendor/github.com/elastic/go-lumber/client/v2/async.go:103 +0x26
github.com/elastic/beats/libbeat/outputs/logstash.(*asyncClient).sendEvents(0xc00013cb40, 0xc00017a600, 0xc00011c050, 0x1, 0x1, 0xc0000e1da0, 0xbdae62)
	/go/src/github.com/elastic/beats/libbeat/outputs/logstash/async.go:205 +0x119
github.com/elastic/beats/libbeat/outputs/logstash.(*asyncClient).Publish(0xc00013cb40, 0xe28820, 0xc000020140, 0x0, 0x0)
	/go/src/github.com/elastic/beats/libbeat/outputs/logstash/async.go:154 +0x46b
github.com/elastic/beats/libbeat/outputs.(*backoffClient).Publish(0xc00013ce40, 0xe28820, 0xc000020140, 0xc000020140, 0x7cc0e6a5061e3f7c)
	/go/src/github.com/elastic/beats/libbeat/outputs/backoff.go:60 +0x4b
github.com/elastic/beats/libbeat/outputs/logstash.(*testOutputer).PublishEvent(0xc00000e160, 0xbf7fa6d6894ae90a, 0x91b5bec13, 0x126b800, 0x0, 0xc0003620c0, 0x0, 0x0, 0x0)
	/go/src/github.com/elastic/beats/libbeat/outputs/logstash/logstash_integration_test.go:548 +0xb8
github.com/elastic/beats/libbeat/outputs/logstash.testSendMultipleViaLogstash(0xc0001af000, 0xd53915, 0xc, 0xe448268201)
	/go/src/github.com/elastic/beats/libbeat/outputs/logstash/logstash_integration_test.go:338 +0x155
github.com/elastic/beats/libbeat/outputs/logstash.TestSendMultipleViaLogstashTLS(0xc0001af000)
	/go/src/github.com/elastic/beats/libbeat/outputs/logstash/logstash_integration_test.go:323 +0x45
testing.tRunner(0xc0001af000, 0xd73ac8)
	/usr/local/go/src/testing/testing.go:909 +0xc9
created by testing.(*T).Run
	/usr/local/go/src/testing/testing.go:960 +0x350
FAIL	github.com/elastic/beats/libbeat/outputs/logstash	39.240s
?   	github.com/elastic/beats/libbeat/outputs/outest	[no test files]

The panic occurs if the client connection has been closed, but there is a need to send some more events.

@mtojek mtojek added libbeat flaky-test Unstable or unreliable test cases. labels Jan 15, 2020
@mtojek mtojek requested review from urso and a team January 15, 2020 09:28
@mtojek mtojek self-assigned this Jan 15, 2020
@@ -197,6 +198,9 @@ func (c *asyncClient) publishWindowed(
}

func (c *asyncClient) sendEvents(ref *msgRef, events []publisher.Event) error {
if c.client == nil {
return errors.New("connection closed")
}
Copy link

Choose a reason for hiding this comment

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

The Close method can be called from another thread. Better use an atomic pointer or mutex to load c.client into a local variable. The v2.AsyncClient should be thread safe (just uses net.Conn.Close() to close the underlying connection/FD).

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fixed.

@mtojek mtojek requested a review from urso January 16, 2020 06:31
@urso
Copy link

urso commented Jan 16, 2020

Let's add a changelog entry. Although the issue occurs only in a test here, it has a potential to show up on config reloading (config change in fleet) or even during beats shutdown.

@mtojek
Copy link
Contributor Author

mtojek commented Jan 16, 2020

Let's add a changelog entry. Although the issue occurs only in a test here, it has a potential to show up on config reloading (config change in fleet) or even during beats shutdown.

Done.

@@ -152,6 +152,7 @@ https://github.com/elastic/beats/compare/v7.0.0-alpha2...master[Check the HEAD d
- Fix spooling to disk blocking infinitely if the lock file can not be acquired. {pull}15338[15338]
- Fix `metricbeat test output` with an ipv6 ES host in the output.hosts. {pull}15368[15368]
- Fix `convert` processor conversion of string to integer with leading zeros. {issue}15513[15513] {pull}15557[15557]
- Fix panic while trying to send events but the connection is closed {pull}15568[15568]
Copy link

Choose a reason for hiding this comment

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

Let's add some info where the panic occurs.

'Fix panic in the Logstash output when trying to send events to closed connection'

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Entry renamed.

@urso
Copy link

urso commented Jan 16, 2020

Can you check the CI failures? Both travis and beats-ci seemed to timeout in the same test.

@mtojek
Copy link
Contributor Author

mtojek commented Jan 17, 2020

CI failures are caused by a different issue. This PR adjusts the client code not panic while that issue happens. I can take a look at that one later one, just wanted to note that it's not a regression.

Another build from master with timeout and panic reported.
https://api.travis-ci.org/v3/job/638141125/log.txt

EDIT:

I'm checking if this change is relevant: elastic/logstash#11492

@mtojek mtojek requested a review from urso January 17, 2020 08:12
@mtojek
Copy link
Contributor Author

mtojek commented Jan 20, 2020

@urso
I can confirm that libbeat tests (45156.11) pass with downgraded logstash container image. I will collect some data and reach out to the Logstash team (or at least open an issue for the project).

@@ -17,7 +17,7 @@ services:
- "indices.id_field_data.enabled=true"

logstash:
image: docker.elastic.co/logstash/logstash:8.0.0-SNAPSHOT
Copy link

Choose a reason for hiding this comment

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

The image is normally maintained by RE. @mikemadden42 please create a follow up PR restoring 8.0.0-SNAPSHOT. We can retrigger CI every now and then.

@mtojek mtojek merged commit 3e39fdf into elastic:master Jan 20, 2020
mtojek added a commit to mtojek/beats that referenced this pull request Jan 20, 2020
* 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

(cherry picked from commit 3e39fdf)
@mtojek mtojek added the v7.7.0 label Jan 20, 2020
mtojek added a commit that referenced this pull request Jan 20, 2020
…nil (#15677)

* 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

(cherry picked from commit 3e39fdf)

* Fix CHANGELOG
mtojek added a commit that referenced this pull request Jan 31, 2020
* [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 <[email protected]>

Co-authored-by: Sophia Xu <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>
Co-authored-by: DeDe Morton <[email protected]>
Co-authored-by: Sophia Xu <[email protected]>
Co-authored-by: Brandon Morelli <[email protected]>
Co-authored-by: kaiyan-sheng <[email protected]>
Co-authored-by: Blake Rouse <[email protected]>
Co-authored-by: Noémi Ványi <[email protected]>
Co-authored-by: Manuel de la Peña <[email protected]>
Co-authored-by: Chris Mark <[email protected]>
Co-authored-by: Michael Madden <[email protected]>
Co-authored-by: Shaunak Kashyap <[email protected]>
Co-authored-by: Pablo Mercado <[email protected]>
Co-authored-by: Ivan Fernandez Calvo <[email protected]>
Co-authored-by: Mariana Dima <[email protected]>
Co-authored-by: Jaime Soriano Pastor <[email protected]>
Co-authored-by: Alex K. <[email protected]>
Co-authored-by: Przemyslaw Gomulka <[email protected]>
Co-authored-by: Amanda H. L. de Andrade Katz <[email protected]>
Co-authored-by: Andrew Cholakian <[email protected]>
mtojek added a commit that referenced this pull request Feb 12, 2020
* 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 <[email protected]>

Co-authored-by: Sophia Xu <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>
Co-authored-by: DeDe Morton <[email protected]>
Co-authored-by: Sophia Xu <[email protected]>
Co-authored-by: Brandon Morelli <[email protected]>
Co-authored-by: kaiyan-sheng <[email protected]>
Co-authored-by: Blake Rouse <[email protected]>
Co-authored-by: Noémi Ványi <[email protected]>
Co-authored-by: Manuel de la Peña <[email protected]>
Co-authored-by: Chris Mark <[email protected]>
Co-authored-by: Michael Madden <[email protected]>
Co-authored-by: Shaunak Kashyap <[email protected]>
Co-authored-by: Pablo Mercado <[email protected]>
Co-authored-by: Ivan Fernandez Calvo <[email protected]>
Co-authored-by: Mariana Dima <[email protected]>
Co-authored-by: Jaime Soriano Pastor <[email protected]>
Co-authored-by: Alex K. <[email protected]>
Co-authored-by: Przemyslaw Gomulka <[email protected]>
Co-authored-by: Amanda H. L. de Andrade Katz <[email protected]>
Co-authored-by: Andrew Cholakian <[email protected]>

* [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 <[email protected]>
Co-authored-by: Adrian Serrano <[email protected]>
Co-authored-by: DeDe Morton <[email protected]>
Co-authored-by: Sophia Xu <[email protected]>
Co-authored-by: Brandon Morelli <[email protected]>
Co-authored-by: kaiyan-sheng <[email protected]>
Co-authored-by: Blake Rouse <[email protected]>
Co-authored-by: Noémi Ványi <[email protected]>
Co-authored-by: Manuel de la Peña <[email protected]>
Co-authored-by: Chris Mark <[email protected]>
Co-authored-by: Michael Madden <[email protected]>
Co-authored-by: Shaunak Kashyap <[email protected]>
Co-authored-by: Pablo Mercado <[email protected]>
Co-authored-by: Ivan Fernandez Calvo <[email protected]>
Co-authored-by: Mariana Dima <[email protected]>
Co-authored-by: Jaime Soriano Pastor <[email protected]>
Co-authored-by: Alex K. <[email protected]>
Co-authored-by: Przemyslaw Gomulka <[email protected]>
Co-authored-by: Amanda H. L. de Andrade Katz <[email protected]>
Co-authored-by: Andrew Cholakian <[email protected]>
mtojek added a commit to mtojek/beats that referenced this pull request Feb 12, 2020
* 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 <[email protected]>

Co-authored-by: Sophia Xu <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>
Co-authored-by: DeDe Morton <[email protected]>
Co-authored-by: Sophia Xu <[email protected]>
Co-authored-by: Brandon Morelli <[email protected]>
Co-authored-by: kaiyan-sheng <[email protected]>
Co-authored-by: Blake Rouse <[email protected]>
Co-authored-by: Noémi Ványi <[email protected]>
Co-authored-by: Manuel de la Peña <[email protected]>
Co-authored-by: Chris Mark <[email protected]>
Co-authored-by: Michael Madden <[email protected]>
Co-authored-by: Shaunak Kashyap <[email protected]>
Co-authored-by: Pablo Mercado <[email protected]>
Co-authored-by: Ivan Fernandez Calvo <[email protected]>
Co-authored-by: Mariana Dima <[email protected]>
Co-authored-by: Jaime Soriano Pastor <[email protected]>
Co-authored-by: Alex K. <[email protected]>
Co-authored-by: Przemyslaw Gomulka <[email protected]>
Co-authored-by: Amanda H. L. de Andrade Katz <[email protected]>
Co-authored-by: Andrew Cholakian <[email protected]>

* [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 <[email protected]>
Co-authored-by: Adrian Serrano <[email protected]>
Co-authored-by: DeDe Morton <[email protected]>
Co-authored-by: Sophia Xu <[email protected]>
Co-authored-by: Brandon Morelli <[email protected]>
Co-authored-by: kaiyan-sheng <[email protected]>
Co-authored-by: Blake Rouse <[email protected]>
Co-authored-by: Noémi Ványi <[email protected]>
Co-authored-by: Manuel de la Peña <[email protected]>
Co-authored-by: Chris Mark <[email protected]>
Co-authored-by: Michael Madden <[email protected]>
Co-authored-by: Shaunak Kashyap <[email protected]>
Co-authored-by: Pablo Mercado <[email protected]>
Co-authored-by: Ivan Fernandez Calvo <[email protected]>
Co-authored-by: Mariana Dima <[email protected]>
Co-authored-by: Jaime Soriano Pastor <[email protected]>
Co-authored-by: Alex K. <[email protected]>
Co-authored-by: Przemyslaw Gomulka <[email protected]>
Co-authored-by: Amanda H. L. de Andrade Katz <[email protected]>
Co-authored-by: Andrew Cholakian <[email protected]>
(cherry picked from commit 56c93e5)
mtojek added a commit that referenced this pull request Feb 12, 2020
…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 <[email protected]>

Co-authored-by: Sophia Xu <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>
Co-authored-by: DeDe Morton <[email protected]>
Co-authored-by: Sophia Xu <[email protected]>
Co-authored-by: Brandon Morelli <[email protected]>
Co-authored-by: kaiyan-sheng <[email protected]>
Co-authored-by: Blake Rouse <[email protected]>
Co-authored-by: Noémi Ványi <[email protected]>
Co-authored-by: Manuel de la Peña <[email protected]>
Co-authored-by: Chris Mark <[email protected]>
Co-authored-by: Michael Madden <[email protected]>
Co-authored-by: Shaunak Kashyap <[email protected]>
Co-authored-by: Pablo Mercado <[email protected]>
Co-authored-by: Ivan Fernandez Calvo <[email protected]>
Co-authored-by: Mariana Dima <[email protected]>
Co-authored-by: Jaime Soriano Pastor <[email protected]>
Co-authored-by: Alex K. <[email protected]>
Co-authored-by: Przemyslaw Gomulka <[email protected]>
Co-authored-by: Amanda H. L. de Andrade Katz <[email protected]>
Co-authored-by: Andrew Cholakian <[email protected]>

* [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 <[email protected]>
Co-authored-by: Adrian Serrano <[email protected]>
Co-authored-by: DeDe Morton <[email protected]>
Co-authored-by: Sophia Xu <[email protected]>
Co-authored-by: Brandon Morelli <[email protected]>
Co-authored-by: kaiyan-sheng <[email protected]>
Co-authored-by: Blake Rouse <[email protected]>
Co-authored-by: Noémi Ványi <[email protected]>
Co-authored-by: Manuel de la Peña <[email protected]>
Co-authored-by: Chris Mark <[email protected]>
Co-authored-by: Michael Madden <[email protected]>
Co-authored-by: Shaunak Kashyap <[email protected]>
Co-authored-by: Pablo Mercado <[email protected]>
Co-authored-by: Ivan Fernandez Calvo <[email protected]>
Co-authored-by: Mariana Dima <[email protected]>
Co-authored-by: Jaime Soriano Pastor <[email protected]>
Co-authored-by: Alex K. <[email protected]>
Co-authored-by: Przemyslaw Gomulka <[email protected]>
Co-authored-by: Amanda H. L. de Andrade Katz <[email protected]>
Co-authored-by: Andrew Cholakian <[email protected]>
(cherry picked from commit 56c93e5)

* Update CHANGELOG
kvch added a commit to kvch/beats that referenced this pull request Feb 20, 2020
* 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 <[email protected]>

Co-authored-by: Sophia Xu <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>
Co-authored-by: DeDe Morton <[email protected]>
Co-authored-by: Sophia Xu <[email protected]>
Co-authored-by: Brandon Morelli <[email protected]>
Co-authored-by: kaiyan-sheng <[email protected]>
Co-authored-by: Blake Rouse <[email protected]>
Co-authored-by: Noémi Ványi <[email protected]>
Co-authored-by: Manuel de la Peña <[email protected]>
Co-authored-by: Chris Mark <[email protected]>
Co-authored-by: Michael Madden <[email protected]>
Co-authored-by: Shaunak Kashyap <[email protected]>
Co-authored-by: Pablo Mercado <[email protected]>
Co-authored-by: Ivan Fernandez Calvo <[email protected]>
Co-authored-by: Mariana Dima <[email protected]>
Co-authored-by: Jaime Soriano Pastor <[email protected]>
Co-authored-by: Alex K. <[email protected]>
Co-authored-by: Przemyslaw Gomulka <[email protected]>
Co-authored-by: Amanda H. L. de Andrade Katz <[email protected]>
Co-authored-by: Andrew Cholakian <[email protected]>

* [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 <[email protected]>
Co-authored-by: Adrian Serrano <[email protected]>
Co-authored-by: DeDe Morton <[email protected]>
Co-authored-by: Sophia Xu <[email protected]>
Co-authored-by: Brandon Morelli <[email protected]>
Co-authored-by: kaiyan-sheng <[email protected]>
Co-authored-by: Blake Rouse <[email protected]>
Co-authored-by: Noémi Ványi <[email protected]>
Co-authored-by: Manuel de la Peña <[email protected]>
Co-authored-by: Chris Mark <[email protected]>
Co-authored-by: Michael Madden <[email protected]>
Co-authored-by: Shaunak Kashyap <[email protected]>
Co-authored-by: Pablo Mercado <[email protected]>
Co-authored-by: Ivan Fernandez Calvo <[email protected]>
Co-authored-by: Mariana Dima <[email protected]>
Co-authored-by: Jaime Soriano Pastor <[email protected]>
Co-authored-by: Alex K. <[email protected]>
Co-authored-by: Przemyslaw Gomulka <[email protected]>
Co-authored-by: Amanda H. L. de Andrade Katz <[email protected]>
Co-authored-by: Andrew Cholakian <[email protected]>
ruflin added a commit to ruflin/beats that referenced this pull request Mar 9, 2022
In elastic#15568 the testing of Logstash was changed to a specific hash because of some temporary issues with Logstash. Instead testing should happen against the SNAPSHOT releases like for Elasticsearch and Kibana.
ruflin added a commit that referenced this pull request Mar 9, 2022
In #15568 the testing of Logstash was changed to a specific hash because of some temporary issues with Logstash. Instead testing should happen against the SNAPSHOT releases like for Elasticsearch and Kibana.
leweafan pushed a commit to leweafan/beats that referenced this pull request Apr 28, 2023
* [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 <[email protected]>

Co-authored-by: Sophia Xu <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>
Co-authored-by: DeDe Morton <[email protected]>
Co-authored-by: Sophia Xu <[email protected]>
Co-authored-by: Brandon Morelli <[email protected]>
Co-authored-by: kaiyan-sheng <[email protected]>
Co-authored-by: Blake Rouse <[email protected]>
Co-authored-by: Noémi Ványi <[email protected]>
Co-authored-by: Manuel de la Peña <[email protected]>
Co-authored-by: Chris Mark <[email protected]>
Co-authored-by: Michael Madden <[email protected]>
Co-authored-by: Shaunak Kashyap <[email protected]>
Co-authored-by: Pablo Mercado <[email protected]>
Co-authored-by: Ivan Fernandez Calvo <[email protected]>
Co-authored-by: Mariana Dima <[email protected]>
Co-authored-by: Jaime Soriano Pastor <[email protected]>
Co-authored-by: Alex K. <[email protected]>
Co-authored-by: Przemyslaw Gomulka <[email protected]>
Co-authored-by: Amanda H. L. de Andrade Katz <[email protected]>
Co-authored-by: Andrew Cholakian <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
flaky-test Unstable or unreliable test cases. libbeat skip-test-plan v7.7.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants