ソースを参照

better logging in query. mirrors queryrange logging but adds req.URL

Ajay Tripathy 5 年 前
コミット
138b14677b
1 ファイル変更6 行追加0 行削除
  1. 6 0
      pkg/prom/query.go

+ 6 - 0
pkg/prom/query.go

@@ -186,6 +186,12 @@ func (ctx *Context) query(query string) (interface{}, prometheus.Warnings, error
 
 		return nil, warnings, fmt.Errorf("query error %d: '%s' fetching query '%s'", resp.StatusCode, err.Error(), query)
 	}
+	// Unsuccessful Status Code, log body and status
+	statusCode := resp.StatusCode
+	statusText := http.StatusText(statusCode)
+	if resp.StatusCode < 200 || resp.StatusCode >= 300 {
+		return nil, warnings, fmt.Errorf("%d (%s) URL: '%s' Headers: '%s', Body: '%s' Query: '%s'", statusCode, statusText, req.URL, util.HeaderString(resp.Header), body, query)
+	}
 
 	var toReturn interface{}
 	err = json.Unmarshal(body, &toReturn)