I have been on a typical journey of:
- deploying software on a machine
- deploying software in a container
- deploying software using docker swarm
The need for this journey is that swarm removes a large portion of micro-managing resources and machine allocation etc.
There is, however, a hurdle I am trying to overcome.
For point one and two, we have heavy monitoring of our software using a tool (Zabbix) which has given us great insights into any problems or metrics.
As we migrate to point three, how does one monitor an individual container?
To give a real-world illustration:
I have software that is "buggy", every now and then it dies. The health check would typically fail and a new container would start with no service interruption. My question is,
- How am I aware that this has occurred in order to investigate a potential problem ?
- One potential solution is to monitor the docker swarm event stream; is this the only solution?