Chapter 10. Logging and Monitoring

Effective monitoring and logging of running containers is essential if you want to keep any nontrivial system up and running and debug issues effectively. In a microservice architecture, logging and monitoring become even more important due to the increased number of machines. Given the ephemeral nature of containers, a given container may no longer exist when debugging an issue, making centralized logs an indispensable tool.

In recent weeks and months, the number of solutions available for both logging and monitoring has exploded. Existing monitoring and logging vendors have begun to offer specialist container solutions and integrations. This chapter will try to give an overview of the various options and techniques available, with a focus on free and open source offerings. We will see how to extend the identidock application with a logging and monitoring solution that could easily be scaled out for larger applications.


The code for this chapter is available at GitHub. As with Chapter 9, the examples use images from the Hub, but you can replace the identidock container with your own if you wish.

You can check out the code for the start of the chapter using the v0 tag:

$ git clone -b v0 \

Later tags represent the progression of the code through the chapter.

Alternatively, you can download the code for any tag from the Releases page on the GitHub project.


We’ll start by taking a look ...

Get Using Docker now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.