There have been a few posts and cases recently where people have been running into issue with RPC in some form or other and I just wanted to share some information on RPC itself, some troubleshooting and where to look for more information. With RPC, it has to be said Microsoft are going to be the best source of information and most of the details in this post come from Technet.
Errors and Fixes
Error: “The RPC Server is Unavailable”
This error can occur when the remote Server is unable to receive or respond to RPC Requests.
Verify there is no firewall preventing the Orion host from performing RPC calls. A simple method is to verify with an administrator account that you can connect the the remote computer through Computer Management (compmgmt.msc) or that Windows file sharing is possible.
-When checking the firewall/ACLs also check your anti-virus, some AV systems have firewalls built in.
-Windows RPC will operate over a large range of ports depending on the method of RPC in use, by default port 135 is used and the RPC endpoint mapper then will offload the request to the ports the service is running on.
Service Name UDP TCP | UDP | TCP |
HTTP | 80, 443, 593 | 80, 443, 593 |
Named Pipes | 445,137,138,139 | 445,137,138,139 |
RPC Endpoint Mapper | 135 | 135 |
Services | ephermeral ports | ephermeral ports |
Sources: http://support.microsoft.com/kb/832017, SolarWinds port requirements.
For SAM RPC monitors the majority will be using Named Pipes.
-It also goes without saying to insure the RPC service is started on the remote computer but you will also need to check the Remote Registry Service.
-Check DNS resolution (and NetBIOS)
-Check Windows File and printer sharing is enabled
Next Steps if above fail:
-Check your Windows System logs
Error: "Access is denied"
This is a pure permissions error, adding the user account being used on the RPC client to the administrators group on the remote computer (the RPC server) will clear this. In newer versions of Windows there is a Performance Monitor Users" group you can use in most cases. If this gives problems you can also look at using SC (http://knowledgebase.solarwinds.com/kb/questions/3301/User+permissions+and+RPC. has more detail.).
Error: "Network Path not found"
This points to permissions again but to an issue on the server itself, http://knowledgebase.solarwinds.com/kb/questions/2500/The+Network+path+was+not+found+error+when+you+browse+for+APM+performance+counters
Error:” The specified object is not found on the system”
This can be as easy as restarting the Remote Registry service. To confirm this will fix try find the counters SAM is polling in perfmon when connecting from the Orion server and another remote server. If they don’t display remotely but do display locally then the problem is with the remote registry service or registry permissions.
Error: “RPC server is too busy to complete this operation”
This is tricky, it is likely resources or just plain load on the server. If you’ve Exchange running on the server with this error then you are going to be looking to get it fixed quickly. http://technet.microsoft.com/en-us/library/cc940522.aspx might help but if you are the admin the link mentions, well... :/
Next steps:
-Often times you may find you get an error code when a RPC monitor fails in SAM, http://msdn.microsoft.com/en-us/library/windows/desktop/ms681386%28v=vs.85%29.aspx can help with these.
-Confirming you can access the performance counters manually can help to make sure you aren't dealing with a performance counter issue, just open perfmon and add a counter for whatever you are monitoring. If this fails http://support.microsoft.com/kb/2554336 might help.
For more in depth troubleshooting:
http://social.technet.microsoft.com/wiki/contents/articles/4494.troubleshooting-the-rpc-server-is-unavailable.aspx (This is the best article out there for RPC troubleshooting imo.)
http://lab.technet.microsoft.com/en-us/magazine/cc138001
http://support.microsoft.com/kb/831051
http://support.microsoft.com/kb/832919
http://support.microsoft.com/kb/197814
If the above don't help, then you are looking at a Microsoft Support case or at improving your understanding of RPC so you can troubleshoot further.
General Information on RPC
RPC (Remote Procedure Call) is an open standard, the OSI and DCE were involved in the protocol definitions and RFC 5531 gives the protocol specifications. RPC is a client/server model implementing a method of initiating a procedure on one device (client) and having the procedure process and return information from another device (server).
To do this RPC needs to locate the remote server, connect to it, authenticate and make a request the server can understand and process. The server will then respond, the client will consider the call as completed and continue, processing the information it received.
To locate the remote server RPC relies on DNS or WINS.
To connect to the server RPC will use, TCP, UDP, HTTP, HTTPS, Named Pipes, Winsock or other configured method (I'm pretty sure I don't know them all). RPC itself is totally unconcerned with the network, reliability and routing and it leaves this to the lower layers. This is why you can get RPC over TCP, over UDP, etc.
The client will initially connect to RPC on port 135, the client will be speaking to the endpoint mapper on this port. The endpoint mapper will direct the client to the correct port for the service it is trying to access (the client can and does cache this information). Services can run on any port but are often on the user ports 1025-5000 or 49152-65535 depending on the version and patch level of your server. These ports are often known as the ephermeral ports and some anti-virus systems can limit or restrict this, most will log to the system or application log if they do and most will have a KB on configuring the anti-virus so they don't filter/limit the ports.
For authentication Microsoft RPC uses Kerberos or NTLM authentication. The method is configured through group policy on a whole server level, in general you shouldn't have to adjust the authentication method unless it is changing across your environment.
If you are having any authentication issues in your environment it is likely to affect RPC and if you are having intermittent authentication issue RPC is likely to have them also. Some for the further reading links point to running dcdiag for these sorts of problems in domain environments.
When it comes to permissions needed it depends on what you are using RPC for, http://knowledgebase.solarwinds.com/kb/questions/2500/The+Network+path+was+not+found+error+when+you+browse+for+APM+performance+counters covers the permissions needed for SAM's default monitors.
So, what is RPC used for? Well pretty much everything, RPC is a good technology and much of Windows relies on it. While many services depend on RPC, Exchange, DCs and SQL are probably where people run into RPC errors that cause them the most headaches. Exchange provides performance counters to review how many RPC requests it is getting and how many are outstanding. SAM's default Exchange monitors include these by default (http://technet.microsoft.com/en-us/library/dd335215 has more information on the counters).
Besides Exchange, http://support.microsoft.com/kb/177446 details Microsoft's recommended counters for performance monitoring of RPC and if you are having a problem it can be worth monitoring these along with the Windows Event logs.
References and further reading:
http://technet.microsoft.com/en-us/library/cc738291%28v=ws.10%29.aspx
http://blogs.technet.com/b/networking/archive/2008/10/24/rpc-to-go-v-1.aspx
http://support.microsoft.com/kb/177446
http://support.microsoft.com/kb/325930
http://support.microsoft.com/kb/154596 (RPC with firewalls, if you use this please share your experiences below)
http://technet.microsoft.com/en-us/library/hh875578%28v=ws.10%29.aspx
http://support.microsoft.com/kb/167260
http://blogs.msdn.com/b/bclteam/archive/2006/09/08/746900.aspx
http://technet.microsoft.com/en-us/library/cc779303%28WS.10%29.aspx#BKMK_1
Also http://tools.ietf.org/html/rfc5531 isn't too heavy a read and gives a good over view of the process, worth a look to confirm your understanding of the other links.