The error message is pretty explicit : the account under which the discovery is running doesn't have enough permissions on database_mirroring_witnesses.
The SQL MP documentation clearly states that the account needs the SELECT permission on database_mirroring_witnesses.
This should be taken care of automatically by Kevin Holman's RunAs addendum, since its script has this instruction among others :
GRANT SELECT ON sys.database_mirroring_witnesses TO [SCOM_HealthService];
So you need to find out what account you're using to run SQL Discovery and verify what permissions it has.