{"record":{"id":"14bbc02d9efffa0d","repo":"prometheus/node_exporter","slug":"unable-to-call-supervisord-w","errorCode":null,"errorMessage":"unable to call supervisord: %w","messagePattern":"unable to call supervisord: %w","errorType":"error_code","errorClass":null,"httpStatus":null,"severity":"error","filePath":"collector/supervisord.go","lineNumber":138,"sourceCode":"func (c *supervisordCollector) Update(ch chan<- prometheus.Metric) error {\n\tvar info struct {\n\t\tName          string `xmlrpc:\"name\"`\n\t\tGroup         string `xmlrpc:\"group\"`\n\t\tStart         int    `xmlrpc:\"start\"`\n\t\tStop          int    `xmlrpc:\"stop\"`\n\t\tNow           int    `xmlrpc:\"now\"`\n\t\tState         int    `xmlrpc:\"state\"`\n\t\tStateName     string `xmlrpc:\"statename\"`\n\t\tSpawnErr      string `xmlrpc:\"spanerr\"`\n\t\tExitStatus    int    `xmlrpc:\"exitstatus\"`\n\t\tStdoutLogfile string `xmlrcp:\"stdout_logfile\"`\n\t\tStderrLogfile string `xmlrcp:\"stderr_logfile\"`\n\t\tPID           int    `xmlrpc:\"pid\"`\n\t}\n\n\tres, err := xrpc.Call(\"supervisor.getAllProcessInfo\")\n\tif err != nil {\n\t\treturn fmt.Errorf(\"unable to call supervisord: %w\", err)\n\t}\n\n\tfor _, p := range res.(xmlrpc.Array) {\n\t\tfor k, v := range p.(xmlrpc.Struct) {\n\t\t\tswitch k {\n\t\t\tcase \"name\":\n\t\t\t\tinfo.Name = v.(string)\n\t\t\tcase \"group\":\n\t\t\t\tinfo.Group = v.(string)\n\t\t\tcase \"start\":\n\t\t\t\tinfo.Start = v.(int)\n\t\t\tcase \"stop\":\n\t\t\t\tinfo.Stop = v.(int)\n\t\t\tcase \"now\":\n\t\t\t\tinfo.Now = v.(int)\n\t\t\tcase \"state\":\n\t\t\t\tinfo.State = v.(int)\n\t\t\tcase \"statename\":","sourceCodeStart":120,"sourceCodeEnd":156,"githubUrl":"https://github.com/prometheus/node_exporter/blob/17ddd77c59ba27e1508e9f7894b1e55b44d6aed3/collector/supervisord.go#L120-L156","documentation":"The supervisord collector's Update could not complete an XML-RPC call to the supervisord server (supervisor.getAllProcessInfo). This covers connection refusal, timeouts, HTTP errors, and malformed XML-RPC responses — supervisord is unreachable or not answering RPCs.","triggerScenarios":"Thrown at collector/supervisord.go:138 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify supervisord is running and its XML-RPC server (unix_http_server or inet_http_server) is enabled in supervisord.conf.","Check --collector.supervisord.url points at the correct socket/URL and the exporter has permission on the unix socket.","Test manually: `supervisorctl status` from the same user should work.","Disable the supervisord collector if the server is intentionally absent."],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"17ddd77c59ba27e1508e9f7894b1e55b44d6aed3","analyzedAt":"2026-09-07T17:54:06.211Z","contentChangedAt":"2026-09-07T17:54:06.211Z","schemaVersion":2},"datasetVersion":"2026-09-16T04:17:20.429Z"}