Skip to content
Snippets Groups Projects
Commit d2580140 authored by Hahn Axel (hahn)'s avatar Hahn Axel (hahn)
Browse files

Merge branch 'simple-task/7546-icinga-check-für-ablaufende-gitlab-tokens' into 'master'

create help for check_docker_io

See merge request !294
parents 1ae7fc2a 2d693d4c
No related branches found
No related tags found
1 merge request!294create help for check_docker_io
## CHECK_DOCKER_IO
Script: `check_docker_io`
**check_docker_stats** shows the docker net io total and for each container.
This check sends performance data.
The first implemented measurement is the network io.
This check starts the docker CLI and might be slow (a few seconds).
## 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
```txt
icingaclient ALL=(ALL) NOPASSWD:SETENV: /usr/bin/docker
```
## Standalone installation
From this repository ypu 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
```txt
______________________________________________________________________
CHECK_DOCKER_IO
v0.1
(c) Institute for Medical Education - University of Bern
Licence: GNU GPL 3
https://os-docs.iml.unibe.ch/icinga-checks/Checks/check_docker_io.html
______________________________________________________________________
Show IO data of all docker containers
USAGE:
check_docker_io [OPTIONS]
OPTIONS:
General:
-h, --help this help
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.
mode:
-m, --mode MODE Mode what kind of information to show.
The output of container list is sorted by the maximum
value first.
netio sum of netio of all containers IN and OUT
EXAMPLES:
check_docker_io -m netio
Show netio of all docker containers
```
### Parameters
None.
## Examples
### Network io
`$ ./check_docker_io -m netio`
```txt
OK: Docker Network I/O of all containers: 0.00 MB/s IN .. 0.00 MB/s OUT
portainer_agent.1cnjqw9p0nlmpaij393abu0ng.rwy5mv629o0yxonz5f6krasz5 5670551 36804 392 B/s 2 B/s
morpheus-live_morpheus-live.2.w1umgrc21kvinl6h2x2cqdkze 55671295 13944 0 B/s 0 B/s
morpheus-live_morpheus-live.1.10npyt2qnb1kzvta851i9mtvd 54929047 12883 0 B/s 0 B/s
morpheus-demo_morpheus-demo.1.nsf410w59q9g1an7iyf0j12lr 161951 1620 0 B/s 0 B/s
swarm_proxy_reverse-proxy.1.hw7snlg5i0sudyh58ydf02rtc 498606567 4208586 455 B/s 5 B/s
swarm_proxy_memcached.1.c8gimogel0k9iffffiyw3k9l4 11679831 167671 16 B/s 0 B/s
whoami_whoami.1.mguqldgk3pxuqsuw1ir0d5xjz 155845 2027 0 B/s 0 B/s
portainer_monitoring_se_node-exporter.1cnjqw9p0nlmpaij393abu0ng.ncfvhpy81tq5pp9i9o6qzs2ih 32668084 301076 34 B/s 0 B/s
portainer_monitoring_se_cadvisor.1cnjqw9p0nlmpaij393abu0ng.lr7xkpgdu43lkihcr0agj0vh6 88027743 1139668 93 B/s 1 B/s
|rx=990;; tx=10;;
```
## Troubleshooting
### Missing environment
```txt
sudo: sorry, you are not allowed to preserve the environment
UNKNOWN: No data. Unable to fetch Docker information.
```
Solution: you did not set SETENV in the sudoers config file
icingaclient ALL=(ALL) NOPASSWD:**SETENV:** /usr/bin/docker
### Docker not found
If you get an error message that docker was not found then it is not reachable in ofe of the directories of $PATH.
This can happen especialy in rootless docker instances.
Solution: Use the parameter `-p /usr/bin` to define a target. Copy the docker binary there.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment