Commit Graph

49 Commits

Author SHA1 Message Date
Joshua Powers b6d946da6e
fix(inputs.exec): Clean up grandchildren processes (#13937) 2023-09-22 13:52:45 +02:00
Sven Rebhan 7ced2606b2
chore(parsers)!: Remove old-style creation (#13310) 2023-05-23 14:17:11 -06:00
Paweł Żak c76f319b84
chore: Remove `revive:unhandled-error` - `errcheck` is more flexible (#13008) 2023-04-03 07:19:43 -06:00
Paweł Żak 312fb04b68
chore: Fix linter findings for errorlint (part4) (#12723)
Co-authored-by: Pawel Zak <Pawel Zak>
2023-02-22 21:38:06 +01:00
Paweł Żak d9d9cd4c0b
chore: fix linter findings for nolintlint part 1 (#12427) 2023-01-25 13:28:13 -07:00
Sven Rebhan 2b7cafcdbe
fix(parsers): Unwrap parser and remove some special handling (#11826) 2022-09-19 09:57:24 -06:00
Sebastian Spaink d67f75e557
docs: Remove warning not to remove go:embed (#11797)
Co-authored-by: Joshua Powers <powersj@fastmail.com>
2022-09-13 12:47:58 -05:00
Joshua Powers 8c49ddccc3
chore: update to go1.19.1 (#11776) 2022-09-08 12:49:36 -06:00
Sebastian Spaink 9e50853ab8
feat: Migrate nagios parser to new style (#11402) 2022-06-30 13:20:32 -05:00
Joshua Powers 2fc19fa308
chore: correctly spell embed (#11200) 2022-05-27 07:13:47 -06:00
Sven Rebhan 56eb914998
chore: Embed sample configurations into README for inputs (#11136) 2022-05-24 08:49:47 -05:00
Sakerdotes 42f954fc88
fix(parsers/nagios): metrics will always return a supported status co… (#11062)
Co-authored-by: Morten Urban <morten.urban@sectornord.de>
2022-05-17 15:14:26 -05:00
M.D fed88fcb44
feat(exec, execd): add an option to pass a custom environment to their child process (#11049) 2022-05-10 15:34:05 -06:00
Sebastian Spaink 8e2b4988fe
feat: migrate input plugins to new sample config format (A-L) (#10924) 2022-04-07 16:01:21 -06:00
Paweł Żak 9a794919e3
Linter fixes for plugins/inputs/[de]* (#9379) 2021-06-21 10:07:52 -05:00
Sven Rebhan 03b2daeb1b
Linter fixes (unhandled errors) -- Part 2 (#9122) 2021-04-22 16:08:03 -05:00
Sven Rebhan 9853bf6c54
Get rid of deprecated internal.{Duration,Size,Number} (#8969) 2021-04-09 13:15:04 -04:00
Steven Soroka 4dcc3c0ad7
exec plugins should not truncate messages in debug mode (#8333) 2021-03-18 17:21:30 -04:00
Paweł Żak 38c61c07ef
Revive fixes - part 4: (#8981)
empty-lines

Co-authored-by: Pawel Zak <Pawel Zak>
2021-03-12 14:21:51 -06:00
Paweł Żak d9736d543f
Revive fixes - part 2 (#8835)
* Revive fixes regarding following set of rules:
[rule.if-return]
[rule.increment-decrement]
[rule.var-declaration]
[rule.package-comments]
[rule.receiver-naming]
[rule.unexported-return]
2021-02-16 18:19:50 -05:00
Daniel Nelson 74c7dd3ce7
Fix logger initialization in exec input (#6492) 2019-10-07 12:18:36 -07:00
Greg 817c9a69a9 Document and add support to input plugins for logging alias (#6357) 2019-09-23 15:39:50 -07:00
Greg 5c8d0e3ac9 Add ability to label inputs for logging (#6207) 2019-08-21 16:49:07 -07:00
scier 60027cf902 Add support for multiple line text and perfdata to nagios parser (#5601) 2019-03-25 16:24:42 -07:00
Jonas Hahnfeld 8e515688eb Add output of stderr in case of error to exec log message (#3862)
If the command failed with a non-zero exit status there might be an error
message on stderr. Append the first line to the error message to ease the
search for its cause.
2018-03-14 12:09:01 -07:00
Daniel Nelson 052e88ad5e
Fix grammar 2017-04-27 14:59:18 -07:00
Patrick Hemmer 06baf7cf78 use AddError everywhere (#2372) 2017-04-24 11:13:26 -07:00
Guillem Jover 536dbfb724 Switch to github.com/kballard/go-shellquote (#1950)
The old gonuts fork has no License and has not seen any commits
differing from the original project, while the original has seen some
activity, even if low.

Having no license is a problem for distributors, as by default, such
projects are undistributable.
2016-11-16 11:24:11 -05:00
Butitsnotme 4886109d9c Added option to remove all CRs from input stream
Added the option removecr to inputs.exec to remove all carraige returns
(CR, ASCII 0x0D, Unicode codepoint \u0D, ^M). The option is boolean and
not enabled if not present in the config file.

closes #1606

Updated CHANGELOG.md with information about removecr

Ran go fmt ./...

Moved removal of CRs to internal/internal.go

Moved the code to remove carriage returns from
plugins/inputs/exec/exec.go to internal/internal.go. Additionally
changed the conditional on which it gets applied from using a
configuration file option to checking if it is running on Windows.

Moved Carriage Return check to correct place

Moved the carriage return removal back to the exec plugin. Added unit
testing for it. Fixed a bug (removing too many characters).

Ran go fmt ./...

Reverted CHANGELOG to master

Updated Changelog
2016-08-31 10:32:33 +01:00
Tim Allen 1d9745ee98 Move exec WaitGroup from Exec instance level to Gather.
If Gather is run concurently the shared WaitGroup variable never finishes.

closes #1463
closes #1464
2016-07-18 12:18:14 +01:00
Cameron Sparr 008ed17a79 Fix exec plugin panic with single binary
fixes #1330
2016-06-10 11:27:46 +01:00
Cameron Sparr 2c448e22e1 New object: ErrChan for concurrent err handling 2016-06-02 13:29:37 +01:00
Jari Sukanen 6828fc48e1 exec plugin: allow using glob pattern in command list
Allow using glob pattern in the command list in configuration. This enables for
example placing all commands in a single directory and using /path/to/dir/*.sh
as one of the commands to run all shell scripts in that directory.

Glob patterns are applied on every run of the commands, so matching commands can
be added without restarting telegraf.

closes #1142
2016-05-26 11:38:15 +01:00
Cameron Sparr 46f4be88a6 Revert "exec plugin: allow using glob pattern in command list"
This reverts commit 6381efa7ce.
2016-05-02 12:07:17 -06:00
Jari Sukanen 6381efa7ce exec plugin: allow using glob pattern in command list
Allow using glob pattern in the command list in configuration. This enables for
example placing all commands in a single directory and using /path/to/dir/*.sh
as one of the commands to run all shell scripts in that directory.

Glob patterns are applied on every run of the commands, so matching commands can
be added without restarting telegraf.

closes #1127
2016-05-02 11:36:15 -06:00
Cameron Sparr 3f807a9432 Implement timeouts for all exec command runners
First is to write an internal CombinedOutput and Run function with a
timeout.

Second, the following instances of command runners need to have timeouts:

    plugins/inputs/ping/ping.go
    125:	out, err := c.CombinedOutput()

    plugins/inputs/exec/exec.go
    91:	if err := cmd.Run(); err != nil {

    plugins/inputs/ipmi_sensor/command.go
    31:	err := cmd.Run()

    plugins/inputs/sysstat/sysstat.go
    194:	out, err := cmd.CombinedOutput()

    plugins/inputs/leofs/leofs.go
    185:	defer cmd.Wait()

    plugins/inputs/sysstat/sysstat.go
    282:	if err := cmd.Wait(); err != nil {

closes #1067
2016-04-29 12:06:22 -06:00
Cameron Sparr e436b2d720 Cleanup & standardize config file
changes:

- -sample-config will now comment out all but a few default plugins.
- config file parse errors will output path to bad conf file.
- cleanup 80-char line-length and some other style issues.
- default package conf file will now have all plugins, but commented
  out.

closes #199
closes #944
2016-04-01 10:59:53 -06:00
Thibault Cohen 8f09aadfdf Add nagios parser for exec input plugin
closes #762
2016-03-21 13:34:47 -06:00
Cameron Sparr 8d2e5f0bda Seems to be a toml parse bug around triple pounds 2016-02-18 14:36:03 -07:00
Cameron Sparr 7def6663bd Root directory cleanup 2016-02-18 13:37:36 -07:00
Cameron Sparr d551da26e5 Fix exec input legacy behavior, command='' 2016-02-09 13:49:14 -07:00
Cameron Sparr c09884c686 Fixup some URL typos 2016-02-08 21:36:53 -07:00
Cameron Sparr e619493ece Implementing generic parser plugins and documentation
This constitutes a large change in how we will parse different data
formats going forward (for the plugins that support it)

This is working off @henrypfhu's changes.
2016-02-08 21:08:44 -07:00
Henry Hu 1449c8b887 Add Graphite line protocol parsing to exec plugin
closes #637
2016-02-08 17:12:28 -07:00
Cameron Sparr b97027ac9a Allow exec plugin to parse line-protocol
closes #613
2016-01-30 11:12:59 -07:00
Cameron Sparr 9c0d14bb60 Create public models for telegraf metrics, accumlator, plugins
This will basically make the root directory a place for storing the
major telegraf interfaces, which will make telegraf's godoc looks quite
a bit nicer. And make it easier for contributors to lookup the few data
types that they actually care about.

closes #564
2016-01-27 15:42:50 -07:00
Cameron Sparr 3bfb3a9fe2 Insert documentation into sample-config on JSON parsing
closes #521
2016-01-25 13:29:05 -07:00
Jack Zampolin 0cdf1b07e9 Fix issue 524 2016-01-20 10:57:35 -08:00
Cameron Sparr 9c5db1057d renaming plugins -> inputs 2016-01-07 15:04:30 -07:00