func DuMetrics() (L []*model.MetricValue) { paths := g.DuPaths() for _, path := range paths { out, err := sys.CmdOutNoLn("du", "-bs", path) if err != nil { log.Println("du -bs", path, "fail", err) continue } arr := strings.Fields(out) if len(arr) == 1 { continue } size, err := strconv.ParseUint(arr[0], 10, 64) if err != nil { log.Println("cannot parse du -bs", path, "output") continue } L = append(L, GaugeValue(g.DU_BS, size, "path="+path)) } return }
func configKernelRoutes() { http.HandleFunc("/proc/kernel/hostname", func(w http.ResponseWriter, r *http.Request) { data, err := g.Hostname() AutoRender(w, data, err) }) http.HandleFunc("/proc/kernel/maxproc", func(w http.ResponseWriter, r *http.Request) { data, err := nux.KernelMaxProc() AutoRender(w, data, err) }) http.HandleFunc("/proc/kernel/maxfiles", func(w http.ResponseWriter, r *http.Request) { data, err := nux.KernelMaxFiles() AutoRender(w, data, err) }) http.HandleFunc("/proc/kernel/version", func(w http.ResponseWriter, r *http.Request) { data, err := sys.CmdOutNoLn("uname", "-r") AutoRender(w, data, err) }) }