Recently I deployed an Enterprise pool topology where the client added monitoring and archiving shortly afterward. I had a fully functional Lync environment with all the workloads and capabilities working just great. When we added the monitoring/archiving server I knew to also add the dependent roles/features such as MSMQ because these were always required.
I later deployed the monitoring pack and had a few issues. First, the name of the account used by Lync to access SQL Reporting Services was typed in using the client's domain FQDN (i.e. contoso.local\lyncqoe). This resulted in an error indicating the deployment of the report pack couldn't grant "ReportsReadOnlyRole" and also threw: "Exception calling "Create" with "0" argument(s):".
As it turns out the Lync report pack deployment wizard didn't like the format I used for the username which was "domainfqdn\username". Looking at the username format under the Logins section of SQL Management Studio I noticed it was using the NetBIOS domain name format instead. After running it again and using the legacy NetBIOS style name format, it worked (i.e. contoso\lyncqoe).
The next issue was that the reports weren't showing any data. The services were all started on my Monitoring server and everything appeared to be working fine. There were no errors in the Monitoring server and I couldn't figure out what was wrong. It turns out the Enterprise Edition Front-End server also needs to have MSMQ with Directory Services integration installed to complete the message chain between the FE and Monitoring server.
Once I installed this feature the reports were showing data immediately.
I suppose my feedback to the Lync product team would be that the topology publishing wizard should have failed with an indication that these features were missing on the front-end and that monitoring wouldn't function at all until they were there. There is a hard stop on the Monitoring server role installation wizard....but nothing for the FE servers.