Agent Proxy alerts - finding the right machine to enable agent proxy on using a custom report
Certain types of agents need the agent proxy setting enabled. These are documented in various guides... such as Exchange Active Directory, Cluster nodes, etc...
However, sometimes, we still get alerts that Agent Proxy needs to be enabled for a HealthService. The problem is... the Alert often doesn't tell us which agent needs this enabled!!!
Here is an example alert:
The alert context tab is telling us about something called "SQLCLUSTER".... but I know that is a virtual cluster instance name... not the name of a real agent.
Marius blogged about a SQL query... that will help us find the agent that needs this turned on:
http://blogs.msdn.com/mariussutara/archive/2007/11/09/agent-proxying-alert.aspx
The sql query I like to use is:
select DisplayName, Path, basemanagedentityid from basemanagedentity where basemanagedentityid = 'guid'
Where "guid" = the GUID of the healthservice in the alert.
So in my example above - the part in bold is the GUID we need..... the HealthService that is causing the problem....
Health service ( 4F6BCCD4-2A41-1C39-DC50-5CE6CA10E0D3 ) should not generate data about this managed object ( A6D9CC33-3EF7-00BF-3E78-B368B32F1486 ).
If we drop this into the query.... it will look like so:
select DisplayName, Path, basemanagedentityid from basemanagedentity where basemanagedentityid = '4F6BCCD4-2A41-1C39-DC50-5CE6CA10E0D3'
Which when run in a SQL query returns:
| DisplayName | Path | basemanagedentityid |
| sqlnode2.opsmgr.net | sqlnode2.opsmgr.net | 4F6BCCD4-2A41-1C39-DC50-5CE6CA10E0D3 |
Aha! So - SQLNODE2 needs agent proxy enabled.
Well.... how instead of all this dropping to SQL.... we create a report with the query above, and have an input parameter where you can just paste in the GUID from the alert? I have created just that, and you can download it below!
Please see my previous post on creating a data source for the OpsDB here: Creating a new data source for reporting against the Operational Database You will need to do that first in order to see this report.... since it runs against the Operational Database, not the Data Warehouse.
Simply download this RDL file, then browse to your reporting website (http://reportingservername/reports) browse to your new custom folder for reports, and choose "Upload File". Your new report is uploaded, and you should be able to see it in the Ops Console under Reporting now:
Open the report. The report just needs you to paste in the healthservice GUID you saw in the Agent Proxy alert:
This should make it a bit easier and faster to tackle these types of alerts in the future.... for the few agents you are missing this setting on.
A simpler way to do this without running a report.... is to use "Discovered Inventory" in the monitoring console.
Select "Change Target Type" from the actions pane, and then choose "View All Targets" and then type "Health Service Watcher" in the "Look For" box. Select the Health Service Watcher Class and click OK.
Now paste your GUID into the "FIND" box and click OK. Make sure you dont have any trainling spaces in the GUID:
The Report download is here: