Closed lklkxcxc closed 3 months ago
I add flollw code in freeipmi.go :
func removeDuplicates(output []byte) []byte {
lines := strings.Split(string(output), "\n")
seen := make(map[string]bool)
result := []byte{}
for _, line := range lines {
if line == "" {
continue
}
if !seen[line] {
seen[line] = true
result = append(result, []byte(line+"\n")...)
}
}
return result
}
The Execute func add:
func Execute(cmd string, args []string, config string, target string, logger log.Logger) Result {
pipe, err := freeipmiConfigPipe(config, logger)
if err != nil {
return Result{nil, err}
}
defer func() {
if err := os.Remove(pipe); err != nil {
level.Error(logger).Log("msg", "Error deleting named pipe", "error", err)
}
}()
args = append(args, "--config-file", pipe)
if target != "" {
args = append(args, "-h", target)
}
level.Debug(logger).Log("msg", "Executing", "command", cmd, "args", fmt.Sprintf("%+v", args))
out, err := exec.Command(cmd, args...).CombinedOutput()
if err != nil {
err = fmt.Errorf("error running %s: %s", cmd, err)
}
out = removeDuplicates(out) //add removeDuplicates func
return Result{out, err}
}
ipmi_exporter version :1.8.0
The report as follow error when I was collected h3c server with lan H3C HDM version: 1.69 BIOS version: 6.10.36 logs: