Skip to content
Snippets Groups Projects
Select Git revision
  • 0fa3e74282c537f0b07421b0245e4ca2416d64a6
  • master default protected
  • simple-task/7248-eol-check-add-node-22
  • 6877_check_iml_deployment
4 results

check_dockercontainer_top.md

Blame
  • Hahn Axel (hahn)'s avatar
    Hahn Axel (hahn) authored
    0fa3e742
    History

    CHECK_DOCKERCONTAINER_TOP

    Script: check_dockercontainer_top

    check_dockercontaeiner_top shows the docker top output for each container.

    Requirements

    • docker Docker must be installed
    • jq must be installed - commandline JSON processor
    • bc must be installed - an arbitrary precision calculator language
    • sudo permissions on docker command
    icingaclient ALL=(ALL) NOPASSWD:SETENV: /usr/bin/docker

    Standalone installation

    From this repository you need next to this script:

    • inc_pluginfunctions shared function for all IML checks written in bash
    • inc_dockerfunctions.sh

    Rootless docker

    It works with docker setups as root and can handle rootless docker instances.

    To bring it up and running with an unpriviledged icinga user it must be able to access docker. Copy the docker binary eg. from /home/dockeruser/bin/docker to /usr/bin/. Then use the parameter -p /usr/bin.

    If DOCKER_HOST is not set then the docker socket is detected from a running docker instance and will be fetched from the process list.

    Syntax

    ______________________________________________________________________
    
    CHECK_DOCKERCONTAINER_TOP
    v1.2
    
    (c) Institute for Medical Education - University of Bern
    Licence: GNU GPL 3
    
    https://os-docs.iml.unibe.ch/icinga-checks/Checks/check_dockercontainer_top.html
    ______________________________________________________________________
    
    Show counts and processes of docker containers.
    
    It returns 
      CRITICAL if a created container is not running.
      OK if no container was created yet or all conmtainers are running.
      UNKNOWM if
        - docker or jq were not found
        - docker data were not fetched
        - docker cannot be connected
    
    This check provides performance data.
    
    USAGE:
      check_dockercontainer_top [OPTIONS]
    
    OPTIONS:
    
      General:
      -h, --help        this help
      -d, --debug       Debug; Flag: show docker env values.
    
      Connect to docker:
      -p, --path        Custom directory for docker binary
      -t, --target      Custom docker target; value for DOCKER_HOST
                        Needed only if Docker does not run on a unix socket or
                        multiple users run a rootless docker daemon.
    
    EXAMPLES:
      check_dockercontainer_top
        Show processes of all containers
    
      check_dockercontainer_top -p /usr/bin
        Show processes of all containers. The docker binary will be searched in
        given path first - then in all other dirs of $PATH
    
      check_dockercontainer_top -d
        Show processes of all containers and json with docker env infos.
    

    Parameters

    None.

    Examples

    Stats

    $ ./check_dockercontaeiner_top returns

    TODO