Commit Graph

3132 Commits

Author SHA1 Message Date
Helen Weller f3a208ee28
Fix reconnection issues mqtt (#8821) 2021-02-11 11:45:13 -05:00
David Bennett c25ae5295b
Validate the response from InfluxDB after writing/creating a database to avoid json parsing panics/errors (#8775)
* Validate the response from InfluxDB after writing/creating a database to avoid json parsing panics.

* Testing windows signing - ignore

* Update config.yml

* adding signing to workflow - test

* Updated config.yml

* Updated config.yml

* Updated config.yml

* Updated config.yml

* revert circleci test changes

* Various updates
2021-02-10 14:45:07 -05:00
Johannes Deger 198bcc8f36
Expose v4/v6-only connection-schemes through GosnmpWrapper (#8804) 2021-02-10 09:28:37 -07:00
Sebastian Spaink aa6dc79fc6
Sort and timeout is deadline (#8839) 2021-02-09 10:50:57 -06:00
Paweł Żak ba66d4facb
Revive fixes - part 1 (#8797)
* Revive fixes regarding following set of rules:
[rule.blank-imports]
[rule.context-as-argument]
[rule.context-keys-type]
[rule.dot-imports]
[rule.error-return]
[rule.error-strings]
[rule.indent-error-flow]
[rule.errorf]
2021-02-08 11:18:40 -05:00
Sebastian Spaink 90392e16d1
Update README for inputs.ping with correct cmd for native ping on Linux (#8787)
* Update readme  to enable native ping

* Provide more information on the numbers being set

* reference for ping_group_range already exists
2021-02-08 09:36:23 -06:00
Patryk Małek 7e78a08eba
AWS EC2 metadata processor Using StreamingProcessor (#8707) 2021-02-04 17:02:27 -05:00
Nicolas Filotto 8ddbab47a4
Allow to provide constants to a starlark script (#8772) 2021-02-01 14:34:44 -05:00
Mike Summers c43de16bce
Add HTTP proxy setting to New Relic output plugin (#8749) 2021-02-01 12:54:42 -05:00
Sebastian Spaink 244178e5ca
Set interface for native (#8770)
Support both name and IP
2021-01-28 11:30:00 -06:00
Sebastian Spaink 03fe914c59
Resolve regression, re-add missing function (#8764) 2021-01-28 10:54:29 -05:00
Steven Soroka 9c7cf99fa7
[outputs.influxdb_v2] add exponential backoff, and respect client error responses (#8662)
* [outputs.influxdb_v2] add exponential backoff, and respect client error responses

* add test

* Update to 60 seconds

* fix test
2021-01-27 16:07:42 -05:00
Steven Soroka 52aaadfd79
Fix issue with elasticsearch output being really noisy about some errors (#8748) 2021-01-27 16:01:06 -05:00
Shawn Guo 5c4c0e1494
improve mntr regex to match user specific keys. (#7533)
* improve mntr regex to match user specific keys.

* Update plugins/inputs/zookeeper/zookeeper.go

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

Co-authored-by: guoxu <guoxu@chinatelecom.cn>
Co-authored-by: Sven Rebhan <36194019+srebhan@users.noreply.github.com>
2021-01-27 15:39:28 -05:00
omgold 8707a2d847
Fix crash in lustre2 input plugin, when field name and value (#7967)
are not separated by whitespace, which happens when numbers grow large (#7966)

Co-authored-by: Oliver Mangold <o.mangold@gmail.com>
2021-01-27 15:36:29 -05:00
Sebastian Spaink c237989631
Use go-ping for "native" execution in Ping plugin (#8679)
* Use go-ping for "native" execution in Ping plugin

* Check for ipv6 and deadline out of go func

* ensure dns failure

* Move interval and timeout calc to init
Removed dns failure check, 3rd parties libary responsibility

* Rename timeout to avoid conflict

* Move native ping to interface
Update tests

* Check for zero length
2021-01-26 16:02:43 -06:00
Helen Weller d41569caed
Integration test audit (#8725) 2021-01-26 11:06:12 -07:00
viperstars eda1dbc4dc
fix x509 cert timeout issue (#8741) 2021-01-26 13:02:23 -05:00
A. Binzxxxxxx 358633bc4d
Add setting to enable caching in ipmitool (#8335) 2021-01-21 16:14:21 -07:00
Adrian Thurston 4462b172f3
fix: remove ambiguity on '\v' from line-protocol parser (#8720) 2021-01-20 18:33:59 -05:00
Dae-Ho Kim 54422f4f1d
add kafka connect example to jolokia2 input (#8709)
* feat: add kafka connect example to jolokia2 input

* docs: add kafka connect example link

* chore: polishing
2021-01-19 20:45:24 -06:00
Samantha Wang 6ed1431348
update readme: prometheus remote write (#8683) 2021-01-15 10:16:37 -08:00
Helen Weller 76c2201bbe
Fix Redis output field type inconsistencies (#8678) 2021-01-14 11:47:00 -05:00
David Bennett fbd54e84a2
GNMI plugin should not take off the first character of field keys when no 'alias path' exists. (#8659)
* GNMI plugin should not take off the first character of field keys when no 'alias path' exists.

* fix test method name

* fix test file formatting

* fix test file formatting

* Remove my unnecessary failing test
2021-01-13 15:48:21 -05:00
David Bennett d9f237759d
Use the 'measurement' json field from the particle webhook as the measurment name, or if it's blank, use the 'name' field of the event's json. (#8609) 2021-01-12 17:59:42 -05:00
David Bennett 70d2b1f790
Procstat input plugin should use the same timestamp in all metrics in the same Gather() cycle. (#8658) 2021-01-12 17:59:13 -05:00
Földi Tamás 0c99ae9e1d
Add timestamp column support to postgresql_extensible (#8602) 2021-01-11 13:53:44 -05:00
Helen Weller 3b87438dea
Added ability to define skip values in csv parser (#8627) 2021-01-11 13:53:06 -05:00
Steven Soroka 9814d3d84d fix some annoying tests due to ports in use 2021-01-08 17:30:43 -05:00
Nathan Ferch f31203b4b2
Add Beat input plugin (#6653)
This plugin is known to work with Kafkabeat and Filebeat, and will
likely work with other Beat instances that have a similar HTTP API.

It is based on work done by @dmitryilyin.

Co-authored-by: Dmitry Ilyin <idv1985@gmail.com>
2021-01-08 13:06:59 -05:00
Steven Soroka 8b4fb2b75e add todo note about wavefront dependencies 2021-01-08 00:07:24 -05:00
Patrick Hemmer 910b726876
Optimize SeriesGrouper & aggregators.merge (#8391)
The previous implementation of SeriesGrouper required breaking a metric object apart into its constituents, converting tags and keys into unoptimized maps, only to have it put them back together into another metric object. This resulted in a significant performance overhead. This overhead was further compounded when the number of fields was large.

This change adds a new AddMetric method to SeriesGrouper which preserves the metric object and removes the back-and-forth conversion.

Additionlly the method used for calculating the metric's hash was switched to use maphash, which is optimized for this case.

----

Benchmarks

Before:

    BenchmarkMergeOne-16          106012	     11790 ns/op
    BenchmarkMergeTwo-16           48529	     24819 ns/op
    BenchmarkGroupID-16           780018	      1608 ns/op

After:

    BenchmarkMergeOne-16          907093	      1173 ns/op
    BenchmarkMergeTwo-16          508321	      2168 ns/op
    BenchmarkGroupID-16         11217788	      99.4 ns/op
2021-01-07 11:39:12 -05:00
Aladex 4b7d11385c
Using mime-type in prometheus parser to handle protocol-buffer responses (#8545) 2021-01-07 11:21:09 -05:00
Dušan Pajin 9ee6e034fb
Input SNMP plugin - upgrade gosnmp library to version 1.29.0 (#8588) 2021-01-07 08:44:33 -07:00
Sebastian Spaink ee76535a12
Provide test environment for kibana input plugin (#8629) 2021-01-06 16:23:40 -06:00
Sebastian Spaink c8584a7b3f
Upgrade circle-ci config to v2.1 (#8621)
* Upgrade to 2.1 circle-ci config

* new line
2021-01-06 16:23:29 -06:00
Yuri Grigorov c319e63a5a
outputs/http: add option to control idle connection timeout (#8055)
Co-authored-by: Yuri Grigorov <jurijs.grigorovs@corp.mail.ru>
2020-12-30 12:59:58 -06:00
Samantha Wang 3d30fd85c6
update intel powerstat readme (#8600) 2020-12-23 16:41:59 -05:00
Andreas Fuchs 3c9c013f4b
common/tls: Allow specifying SNI hostnames (#7897)
* tls_config: Allow specifying SNI hostnames

Add a new configration field `tls_server_name` that allows specifying
the server name that'll be sent in the ClientHello when telegraf makes
a request to TLS servers. This allows checking against load balancers
responding to specific hostnames that otherwise wouldn't resolve to
their addresses.

Add the setting to the documentation of common TLS options, as well as
to the http_response plugin.

Fixes #7598.

* Adjust the x509_cert to allow usage of tls_server_name

This plugin has been using ServerName previously, and will have to
deal with the new setting, too: Extract the server-name choosing into
a method & add a test to ensure we choose the right value (and error
under the right circumstances). Also document that the two settings
are mutually exclusive.

* Improve documentation on what we try to accomplish in the nil return

Also get rid of the TODO, as I am fairly certain this behavior is the
correct one.

* Remove unused struct field in tests
2020-12-23 13:39:43 -06:00
Germán Jaber 841e971ace
Fix spelling and clarify docs (#8164) 2020-12-23 10:43:21 -06:00
David Pryor ea4feb1a07
fixed formatting (+1 squashed commit) (#8541)
Squashed commits:
[c4e2bee2] Closes #8530: Extended the internal snmp wrapper to support AES192, AES192C, AES256, and AES256C.  Updated the example configuration with the new privProtocols.  Added the warning that those protocols are only supported if you have the appropriate tooling on your system.  Added test to ensure all 4 new privProtocols could be selected and properly encrypt the priv password.
2020-12-23 10:19:53 -06:00
Greg 7c17055178
Provide method to include core count when reporting cpu_usage in procstat input (#6165)
* Provide a non-irix reporting of cpu_usage in procstat input

* Update sample config to include cpu gathering mode

* cleanup readme from merge
2020-12-23 09:30:47 -06:00
JS1010111 ed72aac0be
Add support for an inclusive job list in Jenkins plugin (#8287)
* Add support for an inclusive job list

* Update jenkins plugin tests

* Update jenkins plugin docs

* Update jenkins plugin docs
2020-12-23 09:21:38 -06:00
Peng Xiao 2c61fad895
improve the error log message for snmp trap (#8552)
add OID value and source information into error log and make it easier for troubleshooting
2020-12-23 09:12:41 -06:00
Sam Lai 35a221018b
[http_listener_v2] Stop() succeeds even if fails to start (#8502)
* [http_listener_v2] Stop() succeeds even if fails to start

In cases where the http_listener_v2 plugin config is invalid, when the agent attempts to cleanup by stopping all the inputs, the Stop method here panics as it tries to call listener.Stop() when no listener has been set. This also masks the error message returned from the Start method.

```
> telegraf --test
2020-10-27T12:21:45Z I! Starting Telegraf 1.16.0
2020-10-27T12:21:45Z I! Using config file: /etc/telegraf/telegraf.conf
...
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x28 pc=0x1245130]

goroutine 45 [running]:
github.com/influxdata/telegraf/plugins/inputs/http_listener_v2.(*HTTPListenerV2).Stop(0xc00043e000)
        /go/src/github.com/influxdata/telegraf/plugins/inputs/http_listener_v2/http_listener_v2.go:178 +0x30
github.com/influxdata/telegraf/agent.stopServiceInputs(0xc00045e480, 0x5, 0x8)
        /go/src/github.com/influxdata/telegraf/agent/agent.go:445 +0x82
github.com/influxdata/telegraf/agent.(*Agent).testRunInputs(0xc000288080, 0x32be8c0, 0xc0000f1f00, 0x0, 0xc00000f480, 0x0, 0x0)
        /go/src/github.com/influxdata/telegraf/agent/agent.go:434 +0x1b7
github.com/influxdata/telegraf/agent.(*Agent).test.func4(0xc000057b70, 0xc000288080, 0x32be8c0, 0xc0000f1f00, 0x0, 0xc00000f480)
        /go/src/github.com/influxdata/telegraf/agent/agent.go:977 +0x8b
created by github.com/influxdata/telegraf/agent.(*Agent).test
        /go/src/github.com/influxdata/telegraf/agent/agent.go:975 +0x352
```

This fixes this issue by checking if the listener has been set before calling listener.Stop.

```
> ./telegraf --config test.conf --test
2020-10-27T12:43:25Z I! Starting Telegraf
2020-10-27T12:43:25Z E! [agent] Starting input inputs.http_listener_v2: listen tcp: address address_without_port: missing port in address
```

* retry CI
2020-12-23 09:09:42 -06:00
Aleksei Magusev 0731585d61
Unify comments style in the CPU input (#8605) 2020-12-21 15:44:51 -05:00
Helen Weller 9f31184e20
Fix readme link for line protocol in influx parser (#8610) 2020-12-21 14:37:50 -05:00
David Bennett dd09f46863
Add hex_key parameter for IPMI input plugin connection (#8524) 2020-12-21 11:45:58 -05:00
David Bennett c47fcf6626
Add configurable number of 'most recent' date-stamped indices to gather in Elasticsearch input (#8543)
Add configurable number of 'most recent' date-stamped indices to gather in the Elasticsearch input plugin, and allow wildcards to account for date-suffixed index names. Configuring '3' for num_most_recent_indices will only gather the 3 latest indices, based on the date or number they end with. Finding the date or number is dependent on the targeted indices being configured with wildcards at the end of their 'base' names.
2020-12-21 11:45:19 -05:00
Greg a7dff56dde
Add more verbose errors to influxdb output (#6061)
Looks like ear/959 has already been resolved, but these additional information for the errors still seems useful.
I just re-based the change and merging.
2020-12-21 10:14:10 -06:00
Sebastian Spaink 50265d9023
Allow globs (wildcards) in config for tags/fields in enum processor (#8598)
* Allow glob in enum processor config

* change assert to require
2020-12-18 15:41:39 -06:00
Paweł Żak 7bf8cdb8e3
[ethtool] interface_up field added (#8590)
Co-authored-by: Pawel Zak <Pawel Zak>
Co-authored-by: Sven Rebhan <36194019+srebhan@users.noreply.github.com>
2020-12-18 12:04:02 -05:00
Helen Weller 04e62e3d23
changed TestThreadStats acc to wait for 2 and added warning comment (#8592) 2020-12-17 19:32:49 -05:00
Helen Weller 94eb8f2e42
Add wildcard tags json parser support (#8579) 2020-12-17 19:32:25 -05:00
Samantha Wang ee91b4856b
update inputs.influxdb readme (#8569)
* update inputs.influxdb readme

* remove duplicate
2020-12-17 08:21:45 -08:00
Steven Soroka 7ff96a7424 Revert "Update grok package to support for field names containing '-' and '.' (#8276)"
This reverts commit a5f3121f6d.

(cherry picked from commit 5c826e8a3254dc509012d018638a2e5f41a110f2)
2020-12-16 17:29:41 -05:00
Steven Soroka 717d329af8 Revert "disable flakey grok test for now"
This reverts commit a96c8b49e4.

(cherry picked from commit 115e25ea36b854d4e5f941596dfb965d103c1376)
2020-12-16 17:29:10 -05:00
Steven Soroka a27ded6d95
fix potential issue with race condition (#8577) 2020-12-16 15:39:12 -05:00
Steven Soroka e39208d60a
fix issue with mqtt concurrent map write (#8562) 2020-12-16 15:38:33 -05:00
Sebastian Spaink b858eb962a
Added Glob pattern matching for "Windows Services" plugin (#8575)
* Allow glob patterns in config

* Update README

* Move creating filter to init

* Need to explictly call init

Co-authored-by: Bas <3441183+BattleBas@users.noreply.github.com>
2020-12-16 14:32:29 -06:00
Anthony Arnaud 045c3c18b8
Add prometheus remote write serializer (#8360) 2020-12-16 14:11:05 -05:00
Vyacheslav Stepanov b64c38bb00
Remove duplicated field "revision" from ecs_task because it's already defined as a tag there (#8574) 2020-12-16 13:23:31 -05:00
vhqtvn 8e08da1889
fix crash when socket_listener receiving invalid data (#8551)
Co-authored-by: Hoa Nguyen Van <vanhoa@vhn.vn>
2020-12-15 13:52:48 -05:00
Hítalo Silva f6e2d451cd
Graphite tags parser (#8564) 2020-12-15 13:41:51 -05:00
Samantha Wang d9d6a194b1
Update json parser readme (#8532) 2020-12-15 10:09:11 -07:00
Oleksandr 21253ecae1
Add per user metrics to mysql input (#6132) 2020-12-15 08:59:52 -07:00
Vyacheslav Stepanov 0fe2386494
Fixing issue with missing metrics when pod has only pending containers (#8472)
Also added Pod Phase and Pod Reason fields
fixes #8347

Co-authored-by: Vyacheslav-Stepanov <Vyacheslav_Stepanov@epam.com>
2020-12-11 09:08:30 -05:00
Joshua Gross a063f9d7f7
fix edge case in aerospike plugin where an expected hex string was converted to integer if all digits (#8542) 2020-12-10 17:38:21 -05:00
Sven Rebhan 34151c47a6
[inputs.github] Add query of pull-request statistics (#8500) 2020-12-10 15:23:57 -05:00
MaciejMis 9166a16577
New Intel PowerStat input plugin (#8488) 2020-12-10 13:23:27 -07:00
Joe Wang 99287d89e0
Update string parsing of allocatable cpu cores in kube_inventory (#8512) 2020-12-10 12:38:01 -07:00
Steven Soroka a96c8b49e4 disable flakey grok test for now 2020-12-10 13:20:37 -05:00
Pontus Rydin 6062265f94
Fixed misspelled check for datacenter (#8505) 2020-12-10 12:02:36 -05:00
alespour d3031a467d
feat: add build number field to jenkins_job measurement (#8038) 2020-12-10 12:02:07 -05:00
Frank Riley 97de3981bd
Add percentiles to the ping plugin (#7345) 2020-12-09 10:54:51 -07:00
bhsu-ms 752a4b77e1
Added tags for monitoring readable secondaries for Azure SQL MI (#8369) 2020-12-08 15:42:31 -05:00
Avinash Nigam e687cd7a5f
SQL Server HA/DR Availability Group queries (#8379) 2020-12-08 15:40:11 -05:00
Sven Rebhan d712bd13d6
Add initialization example to mock-plugin. (#8520) 2020-12-07 17:43:15 -05:00
Wiard van Rij 139498937a
Add support to convert snmp hex strings to integers (#8426) 2020-12-07 14:45:06 -07:00
Joe Wang 97469f6d85
Update kube_inventory readme (#8510) 2020-12-07 13:59:32 -05:00
David Bennett f7950be107
Adding support for new lines in influx line protocol fields. (#8499) 2020-12-04 16:47:58 -05:00
David Bennett 2187baceea
Add configurable Max TTL duration for statsd input plugin entries (#8509)
* Adding max TTL duration for all metric caches in the statsd input plugin

* Update README.md

was missing type in readme
2020-12-04 14:39:00 -05:00
Paweł Żak 7c5754ef8d
Fix carbon2 tests (#8254) 2020-12-04 12:37:18 -05:00
Helen Weller ef6ce2c9d9
fixed network test (#8498) 2020-12-04 12:08:11 -05:00
Stephanie Engel 7f3773e8e7
Add configurable timeout to bind input plugin http call (#8508) 2020-12-03 13:42:50 -06:00
bhsu-ms f7d94430d2
Added is_primary_replica for monitoring readable secondaries for Azure SQL DB (#8368) 2020-12-03 11:07:08 -05:00
Igor Kuchmienko def6963b5e
sqlAzureMIRequests - remove duplicate column [session_db_name] (#8462) 2020-12-03 11:06:19 -05:00
Igor Kuchmienko a267570ae3
Add column measurement_db_type to output of all queries if not empty (#8464) 2020-12-03 11:05:43 -05:00
reimda 498a6da75f
Add node groups to opcua input plugin (#8389) 2020-12-02 17:06:47 -07:00
Dmitry Senin 0ccb134ae4
Add a parser plugin for prometheus (#7778) 2020-12-02 12:48:44 -07:00
Hong a5f3121f6d
Update grok package to support for field names containing '-' and '.' (#8276) 2020-12-02 13:11:35 -05:00
Steven Soroka 0eeab49efd add to starlark readme 2020-12-01 14:47:50 -05:00
SoerMan 05378980a3
Add FLOAT64-IEEE support to inputs.modbus (#8361) (by @Nemecsek) (#8474) 2020-11-30 16:22:57 -05:00
Nicolas Filotto 01fc69da47
Add the shared state to the global scope to get previous data (#8447) 2020-11-30 15:44:21 -05:00
Mike Dalrymple 6be3bd8c9c
Log SubscribeResponse_Error message and code. #8482 (#8483) 2020-11-30 12:12:10 -05:00
Ben Carlton 143cabc4b7
Removed outdated information about Windows support (#7971)
Newer versions of Telegraf for Windows do not appear to support using WMI query patterns as values for the "pattern" option. Regular expressions appear to be the only patterns now supported.
2020-11-27 16:15:11 -05:00
Enzo Hamelin ef91f96de9
Add dataset metrics to zfs input (#8383) 2020-11-27 13:58:32 -05:00
Steven Soroka 42eacb3a42 add log warning to starlark drop-fields example 2020-11-27 12:20:21 -05:00
Vipin Menon d536f610cd
Support Riemann-Protobuff Listener (#8163) 2020-11-27 11:30:45 -05:00
Sven Rebhan 0ce55bbd4a
Starlark example dropbytype (#8438) 2020-11-27 11:28:12 -05:00