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: Prevent concurrent map writes to c.UnusedFields #11311

Merged
merged 3 commits into from
Jun 16, 2022

Conversation

sspaink
Copy link
Contributor

@sspaink sspaink commented Jun 15, 2022

resolve: #11308

Telegraf is panicking reporting the error "fatal error: concurrent map writes" because maps in Go are not safe for concurrent use. The method missingTomlField was writing to the map c.UnusedFields concurrently so this pull request wraps the write with a mutex to allow the map to be updated safely. This panic is easily reproducible with a config defining multiple similar inputs that have the data_format set as "csv". I think this bug was a side effect from removing csv from the switch case to migrate it to the new parser. The function missingTomlField gets called "when the decoder encounters a key for which no matching struct field exists" , so I don't think this has anything to do with the parser restructure itself but just helped identify this issue because this could happen by just providing an invalid config.

I tested this by using the following configuration (Click to expand!)
[[inputs.file]]
  files =[ "test.csv" ]

  data_format = "csv"
  csv_header_row_count = 1
  csv_column_names = [ "usage_user_env","usage_user_server","usage_user_start_dt","usage_user_count" ]
  csv_tag_columns = [ "usage_user_env" ]
  csv_measurement_column = "usage_user_count"
  csv_timestamp_column = "usage_user_start_dt"
  csv_timestamp_ormat = "Monday, 02-01-06 15:04:05 MST"

[[inputs.file]]
    files =[ "test.csv" ]
    data_format = "csv"
    csv_header_row_count = 0
    csv_column_names = ["Backup_Type","Backup_Slug","Backup_State","Backup_Owner","Backup_Failed","Backup_Size","Backup_Duration","Backup_TimeStamp"]
    csv_tag_columns = [ "Backup_Type","Backup_Slug","Backup_State","Backup_Owner" ]
    csv_measurement_column = "Backup_Failed,Backup_Size,Backup_Duration"
     csv_timestamp_column = "Backup_TimeStamp"
    csv_timestamp_ormat = "Monday, 02-01-06 15:04:05 MST"

[[inputs.file]]
    files =[ "test.csv" ]
    data_format = "csv"
    csv_header_row_count = 1
    csv_column_names = [ "usage_user_env","usage_user_server","usage_user_start_dt","usage_user_count" ]
    csv_tag_columns = [ "usage_user_env" ]
    csv_measurement_column = "usage_user_count"
    csv_timestamp_column = "usage_user_start_dt"
    csv_timestamp_format = "Monday, 02-01-06 15:04:05 MST"

[[inputs.file]]
    files =[ "test.csv" ]
    data_format = "csv"
    csv_header_row_count = 1
    csv_column_names = [ "usage_process_env","usage_process_server","usage_process_start_dt","usage_process_count" ]
    csv_tag_columns = [ "usage_process_env" ]
    csv_measurement_column = "usage_process_count"
    csv_timestamp_column = "usage_process_start_dt"
    csv_timestamp_format = "Monday, 02-01-06 15:04:05 MST"

[[outputs.file]]
    files = ["stdout"]

@telegraf-tiger telegraf-tiger bot added the fix pr to fix corresponding bug label Jun 15, 2022
@sspaink sspaink added the ready for final review This pull request has been reviewed and/or tested by multiple users and is ready for a final review. label Jun 15, 2022
@srebhan
Copy link
Member

srebhan commented Jun 15, 2022

@sspaink while the fix looks good, I wonder how this is called concurrently at all. Can you outline the call-sequence? Furthermore, in the reported bug, the error happens after the config phase, at a point where addInput (the only user of missingTomlFields should not be active anymore...

@srebhan srebhan self-assigned this Jun 15, 2022
@sspaink
Copy link
Contributor Author

sspaink commented Jun 15, 2022

I was also confused why it was happening after the config phase, looking at it closer, the file input plugin (http and tail plugins seem to do it as well) both end up calling the method missingTomlField during their Gather methods and these Gather methods are run in goroutines.

This method is called because the file input plugin calls parser, err := f.parserFunc() during it's Gather loop https://github.com/influxdata/telegraf/blob/master/plugins/inputs/file/file.go#L98. And the parserFunc() calls c.addParser(name, table) when a parser is set (relevant code: https://github.com/influxdata/telegraf/blob/master/config/config.go#L1314-L1322). This call to addParser will lead to the calling of missingTomlField because that function is assigned to the Configs MissingField function here: https://github.com/influxdata/telegraf/blob/master/config/config.go#L1866-L1868. And this MissingField method of Config is called by the TOML package when decoding the config.

Snippet from stack-trace that shows example of this behavior:

github.com/influxdata/telegraf/config.(*Config).addParser(0xc000455320, {0xc0005f6370, 0x4}, 0xc0005c6d70)
	/go/src/github.com/influxdata/telegraf/config/config.go:1127 +0x216 fp=0xc0010f5d98 sp=0xc0010f5cf8 pc=0xae62b6
github.com/influxdata/telegraf/config.(*Config).addInput.func1()
	/go/src/github.com/influxdata/telegraf/config/config.go:1325 +0x29 fp=0xc0010f5dd0 sp=0xc0010f5d98 pc=0xae81e9
github.com/influxdata/telegraf/plugins/inputs/file.(*File).readMetric(0xc0000711a0, {0xc001374a40, 0x40})
	/go/src/github.com/influxdata/telegraf/plugins/inputs/file/file.go:125 +0x32f fp=0xc0010f5ec8 sp=0xc0010f5dd0 pc=0x16792ef
	github.com/influxdata/telegraf/plugins/inputs/file.(*File).Gather(0xc0000711a0, {0x5dbdc10, 0xc0004c8640})
/go/src/github.com/influxdata/telegraf/plugins/inputs/file/file.go:76 +0xaa fp=0xc0010f5f50 sp=0xc0010f5ec8 pc=0x1678b2a

To summarize, when the Gather method for File gets called, it ends up calling addParser so that the plugin can get the parser. Now that I see what's happening, I wonder if we should instead update this function https://github.com/influxdata/telegraf/blob/master/config/config.go#L1314-L1322 to instead of calling addParser inside SetParserFunc, it should call it before and then SetParserFunc will just return the *models.RunningParser. I guess then we can get rid of this mutex. @srebhan thoughts?

instead of initializing parser, it becomes a closure
@sspaink
Copy link
Contributor Author

sspaink commented Jun 15, 2022

@powersj and @srebhan as my comment before, I went ahead and posted the change I was suggesting instead of using a mutex because it seems to work locally. Now the config unmarhsalling logic for parsers isn't propagated to the plugins. Let me know what you think.

@srebhan
Copy link
Member

srebhan commented Jun 15, 2022

No this is not the right fix. We need a copy of the parser as otherwise we run into trouble with stateful parsers. So keeping the original fix was better as we now get side-effects between the files all using the CSV parser. One of the side effects is that all column names get mixed for example, have fun with SkipRows, HeaderRowCount and friends...

@sspaink
Copy link
Contributor Author

sspaink commented Jun 15, 2022

Argh darn stateful parsers getting me again, okay good catch I'll revert the fix back to using the mutex's then.

@telegraf-tiger
Copy link
Contributor

@sspaink sspaink merged commit 478edd3 into master Jun 16, 2022
@sspaink sspaink deleted the fixconcurrentmapwrites branch June 16, 2022 12:04
jotavalenciano added a commit to dgkanatsios/telegraf that referenced this pull request Jul 1, 2022
* fix: update go.opentelemetry.io/collector/pdata from v0.48.0 to v0.49.0 (influxdata#10984)

* docs: add missing slash in mongodb readme (influxdata#10994)

* chore: update pull request with master when running CI (influxdata#10993)

* chore: add readme linter (influxdata#10916)

* fix: correctly parse various numeric forms (influxdata#10923)

* fix: add mariadb_dialect to address the MariaDB differences in INNODB_METRICS (influxdata#10486)

* docs: correct influx parser type setting in README (influxdata#11004)

* fix: use correct auth token with consul_agent (influxdata#11001)

* docs: add openstack metadata external plugin (influxdata#10999)

* fix: use sprint to cast to strings in gnmi (influxdata#11010)

* chore: Fix readme linter errors for output plugins (influxdata#10951)

* fix: allow Makefile to work on Windows (influxdata#11015)

* fix(cmd): Also allow 0 outputs when using test-wait parameter (influxdata#11013)

* fix: add mutex to gnmi lookup map (influxdata#11008)

* fix: bump github.com/aws/aws-sdk-go-v2/config from 1.13.1 to 1.15.3 (influxdata#10998)

* Update changelog

(cherry picked from commit 234a448)

* fix: remove duplicate influxdb listener writes (influxdata#10976)

* fix: use external xpath parser for gnmi (influxdata#11024)

* chore: Adding influx's semantic commit and PR message checker, so we … (influxdata#11009)

* chore: Adding influx's semantic commit and PR message checker, so we can deprecate semantic-pull-requests

* feat: change commit history for semantic validation to 1 (last commit)

* chore: remove influxdata/validate-semantic-github-messages github workflow (influxdata#11036)

* feat: create and push nightly docker images to quay.io (influxdata#11000)

* fix: reduce log level in disk plugin (influxdata#10925)

* chore: increase timeout for darwin packaging (influxdata#11041)

* chore: enable linting of shell scripts (influxdata#11031)

* feat(outputs.http): Support configuration of `MaxIdleConns` and `MaxIdleConnsPerHost` (influxdata#10954)

* fix: datadog count metrics (influxdata#10979)

* Update changelog

(cherry picked from commit 53863d2)

* style: align plugin renaming (influxdata#10868)

* chore(inputs/disk): add deprecation notice to legacy mountpoints setting (influxdata#10948)

* fix: have telegraf service wait for network up (influxdata#11042)

* feat: add influx semantic commits checker, checks only last commit. (influxdata#11037)

* fix: re-init azure monitor http client on context deadline error (influxdata#11030)

* fix: do not error when closing statsd network connection (influxdata#11043)

* fix: deprecate useless database config option (influxdata#11044)

* fix(inputs.couchbase): Don't assume metrics will all be of the same length (influxdata#11045)

* fix(inputs.couchbase): Don't assume metrics will all be of the same length

* fix: move to one line

* feat(exec, execd): add an option to pass a custom environment to their child process (influxdata#11049)

* refactor: replace strings.Replace with strings.ReplaceAll (influxdata#11079)

* docs: correct copy-and-paste of udp to tcp (influxdata#11080)

* chore: update opentelemetry plugins (influxdata#11085)

* fix(outputs.Wavefront): If no "host" tag is provided, do not add "telegraf.host" tag (influxdata#11078)

Co-authored-by: ffaroo1 <svc-registry-github@intuit.com>

* fix: bump github.com/showwin/speedtest-go from 1.1.4 to 1.1.5 (influxdata#10722)

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: MyaLongmire <myalongmire05@gmail.com>

* docs: note about listsnapshots cause zfs parse failures (influxdata#11091)

* feat(inputs.vsphere): Collect resource pools metrics and add resource pool tag in VM metrics (influxdata#10574)

* Collect Resource Pool metrics; Add rpname tag on VM metrics

* Update vSphere readme file

* Update vSphere readme file

* Correct typo in vSphere Readme

* Correct Markdown of metrics.md

* Fix metrics file

* Fix code in endpoint (filter); add some tests

* Update plugins/inputs/vsphere/endpoint.go

That's true I commit this suggestion

Co-authored-by: Sebastian Spaink <3441183+sspaink@users.noreply.github.com>

* Removed Context and Endpoint from getResourcePoolName func

Co-authored-by: Simon LAMBERT <silambert@cirilgroup.com>
Co-authored-by: Sebastian Spaink <3441183+sspaink@users.noreply.github.com>

* feat: add mount option filtering to disk plugin (influxdata#11039)

* Update changelog

(cherry picked from commit c07868f)

* fix: Output erroneous namespace and continue instead of error out (influxdata#11069)

* fix: check net.Listen() error in tests (influxdata#11093)

* docs: fix socket_writer output format link (influxdata#11101)

* feat: Artifactory Webhook Receiver (influxdata#10918)

* test: add test for mysql gatherGlobalVariables using sql-mock (influxdata#10987)

* chore(inputs/file): More clear error messages (influxdata#11104)

* fix: Update gopsutil from v3.22.3 to v3.22.4 to allow for HOST_PROC_MOUNTINFO. (influxdata#11107)

* fix: bump github.com/wavefronthq/wavefront-sdk-go from 0.9.10 to 0.9.11 (influxdata#10970)

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix: log instance name in skip warnings (influxdata#10995)

* feat(parsers/logfmt): Add tag support (influxdata#11060)

* feat: allow other fluentd metrics apart from retry_count, buffer_queu… (influxdata#11056)

* fix(parsers/nagios): metrics will always return a supported status co… (influxdata#11062)

Co-authored-by: Morten Urban <morten.urban@sectornord.de>

* test: remove unused riemann from docker-compose (influxdata#11118)

* fix: elasticsearch output float handling test (influxdata#11120)

* test: remove unecessary flag in sql input (influxdata#11115)

* test: use supported version of elasticsearch (influxdata#11111)

* chore(processors): migrate sample configs into separate files (influxdata#11125)

* chore(aggregators): migrate sample configs into separate files (influxdata#11130)

* chore(outputs): migrate sample configs into separate files (influxdata#11131)

* chore(inputs_m-z): migrate sample configs into separate files (influxdata#11133)

* chore(inputs_a-l): migrate sample configs into separate files (influxdata#11132)

* fix: use readers over closers in http input (influxdata#11083)

* feat: add slab metrics input plugin (influxdata#11075)

Co-authored-by: reimda <reimda@users.noreply.github.com>
Co-authored-by: Joshua Powers <powersj@fastmail.com>

* feat: do not error if no nodes found for current config with xpath parser (influxdata#11102)

* feat: [inputs/burrow] fill more http transport parameters (influxdata#6948)

Co-authored-by: Sven Rebhan <36194019+srebhan@users.noreply.github.com>

* fix: avoid calling sadc with invalid 0 interval (influxdata#11140)

* fix(inputs.burrow): Move Dialer to variable and run `make fmt` (influxdata#11149)

* fix: doc interval setting for internet speed plugin (influxdata#11150)

* test: switch internet speed to enable file download (influxdata#11146)

* test: update mongodb output to use test containers (influxdata#11137)

* test: force elasticsearch to index batch data (influxdata#11153)

* docs: update review docs (influxdata#11147)

* fix: Improve slab testing without sudo. (influxdata#11151)

* feat: add external huebridge input plugin (influxdata#11159)

* test: add generic test-container code for re-use, migrate mysql (influxdata#11157)

* fix: bump github.com/aws/aws-sdk-go-v2/config from 1.15.3 to 1.15.7 (influxdata#11166)

* test: avoid data race in tcp-listener test (influxdata#11144)

* feat(intel_powerstat): add Max Turbo Frequency and introduce improvements (influxdata#11035)

* chore: add readme linter to CI (influxdata#11020)

* feat(inputs.cpu): Add tags with core id or physical id to cpus (influxdata#11141)

* fix: Remove any content type from prometheus accept header (influxdata#11082)

In influxdata#6745, the prometheus accept header was changed to accept any media
type. However, our prometheus plugin only accepts text. With the release
of newer versions of prometheus, the OpenMetrics type is now available
and could potentially be setup as the exclusive response type. As this
new content type is not supported, Telegraf should not accept it.

The original issue, influxdata#6523, was filed around getting a 406. The issue had
comments from the rabbit-mq maintainers who made changes to their code
to be less regid resolving the issue. The change to telegraf was made
afterwards anyway.

fixes: influxdata#10248

* fix: search services file in /etc/services and fall back to /usr/etc/services (influxdata#11179)

* chore: Embed sample configurations into README for inputs (influxdata#11136)

* test: migrate crate to test-containers code (influxdata#11165)

* test: migrate nats to test-containers (influxdata#11170)

* test: migrate mqtt to test containers (influxdata#11172)

* test: migrate redis to test-containers (influxdata#11174)

* test: migrate memcached to test-containers (influxdata#11176)

* fix: Convert slab plugin to new sample.conf. (influxdata#11181)

* test: migrate aerospike to test-containers (influxdata#11177)

* feat: add field key option to set event partition key (influxdata#11076)

* test: migrate opcua to test-containers (influxdata#11171)

* test: migrate nsq to test containers (influxdata#11173)

* test: migrate openldap tests to test-containers (influxdata#11169)

* feat: Google API Auth (influxdata#11084)

* chore: embed sample configurations into README for outputs (influxdata#11182)

* chore: Embed sample configurations into README for processors (influxdata#11189)

* chore: Embed sample configurations into README for aggregators (influxdata#11190)

* test: remove rabbitmq container not used (influxdata#11175)

* test: migrate pgbouncer to test-containers (influxdata#11186)

* fix(inputs/snmp): Reconnect TCP agents if needed (influxdata#11163)

* fix: update golangci-lint from v1.45.2 to v1.46.2 (influxdata#11191)

* fix: redis plugin goroutine leak triggered by auto reload config mechanism (influxdata#11143)

* feat: Add constant 'algorithm' to the mock plugin (influxdata#11188)

* fix(plugins/amqp): move from `streadway/amqp` to `rabbitmq/amqp091-go` (influxdata#11192)

* test: migrate zookeeper to test-containers (influxdata#11185)

* fix: bump github.com/sensu/sensu-go/api/core/v2 from 2.13.0 to 2.14.0 (influxdata#11021)

* docs: remove recommendation for prometheus metric_version=2 (influxdata#11158)

* chore: update OpenTelmetry plugins (influxdata#11194)

* fix: bump go.opentelemetry.io/otel/metric from 0.28.0 to 0.30.0 (influxdata#11088)

* chore: correctly spell embed (influxdata#11200)

* test: actually skip flaky snmp test (influxdata#11199)

This test had a short skip added to it four years ago and a comment that
the test has random failures. While working on the integration tests,
which run all tests this test started showing up in the errors.

While the two asserts at the end could possibly be updated, it is worth
having someone look deeper into understanding why this change is
required.

In order to get integration tests running, this skips this test always.

* test: refactor testcontainer port lookup (influxdata#11198)

* fix(inputs/snmp): switch new Reconnect method to be a value receiver (influxdata#11197)

* chore: update gopkg.in/yaml.v3 from v3.0.0 to v3.0.1 (influxdata#11213)

* chore: update github.com/opencontainers/runc from v1.0.2 to v1.1.2 (influxdata#11212)

* test: enable logging with testcontainers (influxdata#11211)

* fix: bump github.com/nats-io/nats-server/v2 from 2.7.4 to 2.8.4 (influxdata#11221)

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sebastian Spaink <sspaink@influxdata.com>

* fix: Update sample.conf for prometheus (influxdata#11217)

* fix: (outputs/sql) table existence cache (influxdata#10812)

* fix(inputs/modbus): influxdata#11105 fix requests starting with an omitted field (influxdata#11202)

* feat(inputs.nginx_plus_api): Gather slab metrics (influxdata#10448)

* fix: Upgrade xpath and fix code (influxdata#11241)

* chore: Bump riemann-go-client and remove replacement (influxdata#11236)

* docs: Initial update of integration test docs (influxdata#11210)

* test: migrate kafka to testcontainers (influxdata#11206)

* test: migrate mcrouter to test-containers (influxdata#11208)

* test: migrate postgres to testcontainers (influxdata#11209)

* chore: Bump apcupds and remove the replacement as issue is fixed upstream. (influxdata#11239)

* test: migrate elasticsearch to testcontainers (influxdata#11207)

* feat(inputs.sqlserver): Update query store and latch performance counters (influxdata#11216)

* fix: update moby/ipvs dependency from v1.0.1 to v1.0.2 (influxdata#11242)

* test: remove docker-compose.yml test file (influxdata#11243)

* docs: update test-container docs (influxdata#11244)

* fix: re-add event to splunk serializer (influxdata#11237)

* chore: upgrade windows circleci size (influxdata#11249)

* chore: rename circleci executor (influxdata#11247)

* chore: update go from v1.18.1 to v1.18.3 (influxdata#11248)

* test: harden running of testcontainer integration tests (influxdata#11245)

* test: add circle ci integration testing on PRs (influxdata#11246)

* test: remove restore integration test cache (influxdata#11255)

* feat(intel_powerstat): add uncore frequency metrics (influxdata#11254)

* docs: add missing word <3 (influxdata#11262)

* fix: update modernc.org/sqlite from v1.10.8 to v1.17.3 (influxdata#11260)

* chore: Fix readme linter errors for processor, aggregator, and parser plugins (influxdata#10960)

* fix: bump github.com/tidwall/gjson from 1.10.2 to 1.14.1 (influxdata#11264)

* Bump github.com/tidwall/gjson from v1.10.2 to v1.14.1

* Fix node references which are switched to parent relative now.

* fix: update github.com/containerd/containerd from v1.5.11 to v1.5.13 (influxdata#11266)

* chore: Fix readme linter errors for input plugins A-D (influxdata#10964)

* chore: Fix readme linter errors for input plugins E-L (influxdata#11214)

* fix: remove full access permissions (influxdata#11261)

* fix: add missing build constraints for sqlite (influxdata#11272)

* feat: Migrate xpath parser to new style (influxdata#11218)

* fix: Always build README-embedder for host-architecture (influxdata#11253)

* chore: Fix readme linter errors for input plugins M-Z (influxdata#11274)

* fix(inputs/directory_monitor): Add support for multiline file parsing (influxdata#11234)

* test: add install go for linux, use in integration tests (influxdata#11281)

* Update build version to 1.24.0

* Update changelog for v1.23.0

(cherry picked from commit 7317a81)

* fix: Don't rebase on master when building packages (influxdata#11291)

* fix: Remove all rebase logic from CI (influxdata#11293)

* fix: bump cloud.google.com/go/monitoring from 1.2.0 to 1.5.0 (influxdata#11295)

* feat(inputs.x509_cert): add smtp protocol (influxdata#11271)

Co-authored-by: dreiekk <dreiekk@users.noreply.github.com>

* fix(parsers/xpath): Reduce debug messages when empty selection is allowed (influxdata#11302)

* feat: add default appType as config option to groundwork output (influxdata#11300)

* feat: Make the command "config" a subcommand (influxdata#11282)

* feat: make the command "config" a subcommand

* fix: backwards compatible
support telegraf *filters* config

* fix: Prevent concurrent map writes to c.UnusedFields (influxdata#11311)

* docs: explain directly connecting to mongo node (influxdata#11314)

* chore: Remove prefix to use the default `chore(deps)` (influxdata#11315)

* test: update wait for statement for postgres (influxdata#11309)

* test: mark integration tests correctly (influxdata#11317)

* chore(deps): Bump github.com/aws/aws-sdk-go-v2/credentials from 1.12.2 to 1.12.5 (influxdata#11297)

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): Bump google.golang.org/grpc from 1.46.2 to 1.47.0 (influxdata#11318)

* chore(deps): Bump k8s.io/client-go from 0.23.3 to 0.24.1 (influxdata#11223)

* chore(deps): Bump github.com/go-logfmt/logfmt from 0.5.0 to 0.5.1 (influxdata#11299)

* chore: make apt-get instructions consistent and add GPG fingerprint (influxdata#11326)

* test: add coveralls coverage to master (influxdata#11256)

* chore(deps): Bump github.com/aws/aws-sdk-go-v2/service/dynamodb (influxdata#11328)

* chore(deps): Bump go.mongodb.org/mongo-driver from 1.9.0 to 1.9.1 (influxdata#11320)

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): Bump github.com/gophercloud/gophercloud from 0.24.0 to 0.25.0 (influxdata#11321)

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): Bump google.golang.org/api from 0.74.0 to 0.84.0 (influxdata#11338)

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: MyaLongmire <myalongmire05@gmail.com>

* chore: fix typo (recieve -> receive) (influxdata#11341)

* chore(deps): Bump github.com/fatih/color from 1.10.0 to 1.13.0 (influxdata#11340)

* fix: filter out views in mongodb lookup (influxdata#11280)

* chore(deps): Bump github.com/aws/aws-sdk-go-v2/service/timestreamwrite from 1.3.2 to 1.13.6 (influxdata#11322)

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* docs: Update etc/telegraf.conf and etc/telegraf_windows.conf (influxdata#11344)

Co-authored-by: Tiger Bot <>

* feat(redis): add Redis 6 ACL auth support (influxdata#9333)

* feat(x509_cert): add proxy support (influxdata#9319)

* chore(deps): Bump github.com/Shopify/sarama from 1.32.0 to 1.34.1 (influxdata#11319)

* docs: Sync sample.conf for recent features (influxdata#11348)

* chore: move agent config into seperate file (influxdata#11337)

* feat: Migrate json parser to new style (influxdata#11226)

* docs: Update etc/telegraf.conf and etc/telegraf_windows.conf (influxdata#11351)

Co-authored-by: Tiger Bot <>
Co-authored-by: Sebastian Spaink <sspaink@influxdata.com>

* fix: don't require listeners to be present in overview (influxdata#9315)

* feat: Add CSV serializer (influxdata#11307)

* fix: Restore sample configurations broken during initial migration (influxdata#11276)

* feat: Migrate json_v2 parser to new style (influxdata#11343)

* docs: Update etc/telegraf.conf and etc/telegraf_windows.conf (influxdata#11365)

Co-authored-by: Tiger Bot <>

* chore(deps): Bump github.com/dynatrace-oss/dynatrace-metric-utils-go from 0.3.0 to 0.5.0 (influxdata#11342)

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): Bump github.com/nats-io/nats.go from 1.15.0 to 1.16.0 (influxdata#11339)

* chore(deps): Bump cloud.google.com/go/pubsub from 1.18.0 to 1.22.2 (influxdata#11349)

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* docs: swap bytes sent/recv descriptions in nfsclient (influxdata#11376)

* chore(deps): Bump go.opentelemetry.io/collector/pdata from 0.52.0 to 0.54.0 (influxdata#11369)

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): Bump github.com/jackc/pgx/v4 from 4.15.0 to 4.16.1 (influxdata#11346)

* chore(deps): Bump cloud.google.com/go/bigquery from 1.8.0 to 1.33.0 (influxdata#11379)

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): Bump github.com/Azure/azure-kusto-go from 0.6.0 to 0.7.0 (influxdata#11378)

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat: migrate wavefront parser to new style (influxdata#11374)

* feat: allow collecting node-level metrics for Couchbase buckets (influxdata#9717)

* feat: Migrate collectd parser to new style (influxdata#11367)

* chore(deps): Bump cloud.google.com/go/pubsub from 1.22.2 to 1.23.0 (influxdata#11394)

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): Bump github.com/aws/aws-sdk-go-v2/service/kinesis (influxdata#11380)

* chore: Remove 'github.com/satori/go.uuid' replacement (influxdata#11240)

* chore: Remove 'github.com/cisco-ie/nx-telemetry-proto' replacement (influxdata#11401)

* chore(deps): Bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.1.0 to 1.46.0 (influxdata#11382)

* test: add nightly package testing to amd64/linux (influxdata#11377)

* fix: resolve jolokia2 panic on null response (influxdata#11397)

* fix: Sync back sample.confs for inputs.couchbase and outputs.groundwork. (influxdata#11413)

* docs: Update etc/telegraf.conf and etc/telegraf_windows.conf (influxdata#11414)

Co-authored-by: Tiger Bot <>

* chore(deps): Bump github.com/golang-jwt/jwt/v4 from 4.4.1 to 4.4.2 (influxdata#11395)

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): Bump github.com/vmware/govmomi from 0.27.3 to 0.28.0 (influxdata#11396)

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sven Rebhan <36194019+srebhan@users.noreply.github.com>

* chore: move printing of sample config file out of config.go (influxdata#11409)

* feat: migrate form_urlencoded parser to new style (influxdata#11381)

* feat(outputs/wavefront): make maximum http batch size configurable (influxdata#11201)

* docs: Update etc/telegraf.conf and etc/telegraf_windows.conf (influxdata#11419)

Co-authored-by: Tiger Bot <>

* feat: migrate value parser to new style (influxdata#11407)

* feat: Migrate graphite parser to new style (influxdata#11405)

* fix: Bring back old xpath section names (influxdata#11335)

* feat: Migrate logfmt parser to new style (influxdata#11366)

* test: exchange confused parameters (expected vs actual) (influxdata#11422)

* chore(deps): Bump github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs from 1.15.4 to 1.15.8 (influxdata#11415)

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat: Migrate dropwizard parser to new style (influxdata#11371)

* feat: migrate grok to new parser style (influxdata#11408)

* chore(deps): Bump github.com/influxdata/influxdb-observability/otel2influx from 0.2.21 to 0.2.22 (influxdata#11416)

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* test: run check-update on dnf/yum (influxdata#11430)

* feat: adding aws metric streams input plugin (influxdata#11233)

* docs: Update etc/telegraf.conf and etc/telegraf_windows.conf (influxdata#11431)

Co-authored-by: Tiger Bot <>

* Remove added modules

* Add again missing modules

* Fix README for compliance

* Reduce lines length

* Fix trailing spaces and indentation

* Fix code warnings

* Update go sum

* Update licenses for dependencies

* Fix race in test

Co-authored-by: Jacob Marble <jacobmarble@influxdata.com>
Co-authored-by: Adam Zwakenberg <adam@adamzwakk.com>
Co-authored-by: Sebastian Spaink <3441183+sspaink@users.noreply.github.com>
Co-authored-by: reimda <reimda@users.noreply.github.com>
Co-authored-by: Joshua Powers <powersj@fastmail.com>
Co-authored-by: Marc <980978+MarcHagen@users.noreply.github.com>
Co-authored-by: Alexander Kapshuna <kapsh@kap.sh>
Co-authored-by: Adam Rowan <92474478+bear359@users.noreply.github.com>
Co-authored-by: Dmitry Lavrukhin <34265546+lawdt@users.noreply.github.com>
Co-authored-by: bewing <brandon.ewing@warningg.com>
Co-authored-by: Thomas Casteleyn <thomas.casteleyn@super-visions.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sebastian Spaink <sspaink@influxdata.com>
Co-authored-by: Tyson Kamp <tysonkamp@gmail.com>
Co-authored-by: RaviKiran K <ravikirankilingar@gmail.com>
Co-authored-by: Jimmy Rimmer <74691101+jrimmer-housecallpro@users.noreply.github.com>
Co-authored-by: M.D <another.mmx@gmail.com>
Co-authored-by: Eng Zer Jun <engzerjun@gmail.com>
Co-authored-by: Peter (Stig) Edwards <thatsafunnyname@gmail.com>
Co-authored-by: Farukh Ali <farukhali@gmail.com>
Co-authored-by: ffaroo1 <svc-registry-github@intuit.com>
Co-authored-by: MyaLongmire <myalongmire05@gmail.com>
Co-authored-by: 6monlambert <32525162+6monlambert@users.noreply.github.com>
Co-authored-by: Simon LAMBERT <silambert@cirilgroup.com>
Co-authored-by: Nathan Ferch <nferch@users.noreply.github.com>
Co-authored-by: Sergey Lanzman <sergeylanz@gmail.com>
Co-authored-by: lambdaq <lambdaq@gmail.com>
Co-authored-by: sammcadams-8451 <44906845+sammcadams-8451@users.noreply.github.com>
Co-authored-by: Felix Edelmann <fxedel@gmail.com>
Co-authored-by: Sven Rebhan <36194019+srebhan@users.noreply.github.com>
Co-authored-by: Kuldeep Doneriya <101704094+dkuldeep22@users.noreply.github.com>
Co-authored-by: Sakerdotes <morten.urban@mail.de>
Co-authored-by: Morten Urban <morten.urban@sectornord.de>
Co-authored-by: Nobuhiro MIKI <nob@bobuhiro11.net>
Co-authored-by: Sokolov Yura <funny.falcon@gmail.com>
Co-authored-by: Holger <hdecarne@gmail.com>
Co-authored-by: bkotlowski <bartlomiej.kotlowski@intel.com>
Co-authored-by: Martin Molnar <mmolnar@users.noreply.github.com>
Co-authored-by: Heiko Schlittermann <hs@schlittermann.de>
Co-authored-by: crflanigan <69858641+crflanigan@users.noreply.github.com>
Co-authored-by: zhiyuan-mojie <351843010@qq.com>
Co-authored-by: Ruoshan Huang <ruoshan.huang@gmail.com>
Co-authored-by: TimurDela <32736336+TimurDela@users.noreply.github.com>
Co-authored-by: glennlod <81913666+glennlod@users.noreply.github.com>
Co-authored-by: David Barbarin <68589619+dba-leshop@users.noreply.github.com>
Co-authored-by: Jan-Gerd Tenberge <97132060+ns-jtenberge@users.noreply.github.com>
Co-authored-by: skillor <skillor@gmx.net>
Co-authored-by: dreiekk <dreiekk@users.noreply.github.com>
Co-authored-by: Vladislav Senkevich <mr.senkevich@gmail.com>
Co-authored-by: Jamie Strandboge <jamie@strandboge.com>
Co-authored-by: Julien Pivotto <roidelapluie@gmail.com>
Co-authored-by: telegraf-tiger[bot] <76974415+telegraf-tiger[bot]@users.noreply.github.com>
Co-authored-by: Alexander Krantz <alex@krantz.dev>
Co-authored-by: papapiya <402561078@qq.com>
Co-authored-by: Luke Winikates <521457+LukeWinikates@users.noreply.github.com>
Co-authored-by: Cillian McCabe <mccabecillian@gmail.com>
srebhan pushed a commit that referenced this pull request Jul 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
fix pr to fix corresponding bug ready for final review This pull request has been reviewed and/or tested by multiple users and is ready for a final review.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Upgrading from 1.21.3 to 1.22.3 causes telegraf to crash
4 participants