I'm going at ask and answer this as so that others with this issue will find this answer.
So if you have registered your application in process fabric but when you activate it you get this failure message
Failed to connect - the HTTP response code of 500 indicated a server error. The response data may contain a reason.
Response - Stream service is unavailable. Verify that the service is not stopped and take necessary steps to set it to normal
Then the issue has nothing to do with the stream service and is related to roles in your access group. So when the remote system tries to activate the application it looks for an access group to use. It will take the application name that is passed to it in the api call and then it will use the DSS AllowedRegistrationAccessGroups to pick the access group. This will usually be the one that ends in :Administrators. If this access group does not have the role PegaRULES:SysAdm4, a clone of this or a role that inherit from it then it will fail with the above error.
In this role somewhere there is a permission that allows the running of the data page D_pzQueueProcessorSummaryInfo. If the access group cannot run it then it returns that the stream service is down when what it should say is that the Access Group does not have permission.
***Edited by Moderator Marije to change Content Type from Idea to Discussion; added Developer Knowledge Share tag***