Back to Glances

Containers

docs/aoa/containers.rst

4.5.42.8 KB
Original Source

.. _containers:

Containers

If you use containers, Glances can help you to monitor your Docker, Podman, or LXD containers. Glances uses the containers API through the docker-py, podman-py, and pylxd_ libraries.

You can install this dependency using:

.. code-block:: console

pip install glances[containers]

.. image:: ../_static/containers.png

Note: Memory usage is compute as following "display memory usage = memory usage - inactive_file"

It is possible to define limits and actions from the configuration file under the [containers] section:

.. code-block:: ini

[containers]
disable=False
# Only show specific containers (comma-separated list of container name or regular expression)
show=thiscontainer,andthisone,andthoseones.*
# Hide some containers (comma-separated list of container name or regular expression)
hide=donotshowthisone,andthose.*
# Show only specific containers (comma-separated list of container name or regular expression)
#show=showthisone,andthose.*
# Define the maximum containers size name (default is 20 chars)
max_name_size=20
# List of stats to disable (not display)
# Following stats can be disabled: name,status,uptime,cpu,mem,diskio,networkio,ports,command
disable_stats=command
# Global containers' thresholds for CPU and MEM (in %)
cpu_careful=50
cpu_warning=70
cpu_critical=90
mem_careful=20
mem_warning=50
mem_critical=70
# Per container thresholds
containername_cpu_careful=10
containername_cpu_warning=20
containername_cpu_critical=30
containername_cpu_critical_action=/etc/glances/actions.d/container-alert.sh {{Image}} {{Id}} {{cpu}} {{name}}
# By default, Glances only display running containers
# Set the following key to True to display all containers
all=False
# Define Podman sock
#podman_sock=unix:///run/user/1000/podman/podman.sock

You can use all the variables ({{foo}}) available in the containers plugin.

.. note::

Shell operators (``&&``, ``|``, ``>``, ``>>``) are **not allowed**
directly in action command lines. If your action requires pipes or
redirections, write a shell script and call it from the action.
For example, create ``/etc/glances/actions.d/container-alert.sh``:

.. code-block:: bash

    #!/bin/bash
    # Usage: container-alert.sh <image> <id> <cpu> <name>
    echo "$1 $2 $3" > "/tmp/container_$4.alert"

See :ref:`actions` for details.

Filtering (for hide or show) is based on regular expression. Please be sure that your regular expression works as expected. You can use an online tool like regex101_ in order to test your regular expression.

.. _regex101: https://regex101.com/ .. _docker-py: https://github.com/containers/containers-py .. _podman-py: https://github.com/containers/podman-py .. _pylxd: https://github.com/canonical/pylxd