The MetricCollector implementation was returning JSON with null values because it was incorrectly extracting Option<&Value> instead of the actual values. Fixed by using .cloned().unwrap_or() to properly extract and default the JSON values. This should resolve the 'No data received' issue as the dashboard will now receive properly formatted metric data instead of null values.