I have an application that consists of a set of Java and C++ of processes running on one or more systems and need to ability to monitor and control the components as if they were one complete system.
My requirements:
- runtime statistics (messages per second etc..)
- log of events
- control: “service X set rate to 1000 mps” or “all services stop”
- ambient configuration so all services can start up and discover the working mode (etc..)
Since data plane messaging is 0MQ based, I am currently doing this with 0MQ based messaging and a message distributor to fan out the control messages.
However, I am interested in how others have tackled the problem.
Thanks.
I’m not sure about controlling them, but SNMP is typically used for monitoring of a distributed system like this.
0MQ is awesome however, so there’s no reason why one of its configurations can’t be used too.