Add command logging to snmp input at debug level (#5474)
This commit is contained in:
@@ -4,6 +4,7 @@ import (
|
|||||||
"bufio"
|
"bufio"
|
||||||
"bytes"
|
"bytes"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"log"
|
||||||
"math"
|
"math"
|
||||||
"net"
|
"net"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
@@ -15,7 +16,7 @@ import (
|
|||||||
"github.com/influxdata/telegraf"
|
"github.com/influxdata/telegraf"
|
||||||
"github.com/influxdata/telegraf/internal"
|
"github.com/influxdata/telegraf/internal"
|
||||||
"github.com/influxdata/telegraf/plugins/inputs"
|
"github.com/influxdata/telegraf/plugins/inputs"
|
||||||
|
"github.com/influxdata/wlog"
|
||||||
"github.com/soniah/gosnmp"
|
"github.com/soniah/gosnmp"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -84,6 +85,14 @@ var execCommand = exec.Command
|
|||||||
// execCmd executes the specified command, returning the STDOUT content.
|
// execCmd executes the specified command, returning the STDOUT content.
|
||||||
// If command exits with error status, the output is captured into the returned error.
|
// If command exits with error status, the output is captured into the returned error.
|
||||||
func execCmd(arg0 string, args ...string) ([]byte, error) {
|
func execCmd(arg0 string, args ...string) ([]byte, error) {
|
||||||
|
if wlog.LogLevel() == wlog.DEBUG {
|
||||||
|
quoted := make([]string, 0, len(args))
|
||||||
|
for _, arg := range args {
|
||||||
|
quoted = append(quoted, fmt.Sprintf("%q", arg))
|
||||||
|
}
|
||||||
|
log.Printf("D! [inputs.snmp] Executing %q %s", arg0, strings.Join(quoted, " "))
|
||||||
|
}
|
||||||
|
|
||||||
out, err := execCommand(arg0, args...).Output()
|
out, err := execCommand(arg0, args...).Output()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if err, ok := err.(*exec.ExitError); ok {
|
if err, ok := err.(*exec.ExitError); ok {
|
||||||
|
|||||||
Reference in New Issue
Block a user