An OCI container runtime monitor.
Go to file
Peter Hunt 6bf895263b bump to v2.0.14
Signed-off-by: Peter Hunt <pehunt@redhat.com>
2020-03-20 11:44:25 -04:00
.rpmbuild Initial PAPR CI check-in 2018-10-02 17:02:45 -05:00
cmd/conmon-config Add TimedOutMessage to config to share with go code 2020-01-06 08:57:32 -05:00
contrib tests: fix nits 2020-01-15 09:42:52 -05:00
hack Add cmd/config/config.go (#41) 2019-06-13 08:49:22 -04:00
runner tests: fix nits 2020-01-15 09:42:52 -05:00
src conmon: avoid hanging on stdin 2020-03-20 08:43:12 -04:00
.cirrus.yml tests: fix nits 2020-01-15 09:42:52 -05:00
.clang-format Add .clang-format file 2019-05-22 08:40:52 +02:00
.dir-locals.el .dir-locals.el: new file 2020-03-20 08:43:12 -04:00
.gitignore create some unit tests 2020-01-14 13:08:55 -05:00
CODE-OF-CONDUCT.md Add Code of Conduct 2020-02-08 14:29:42 -05:00
LICENSE remove appendix 2019-06-17 09:13:38 -04:00
Makefile create some unit tests 2020-01-14 13:08:55 -05:00
README.md README.md: add LGTM.com badge 2019-07-30 08:46:15 -04:00
VERSION bump to v2.0.14 2020-03-20 11:44:25 -04:00
changelog.txt Add Changelog 2019-08-05 10:02:57 -04:00
go.sum create some unit tests 2020-01-14 13:08:55 -05:00
install.md add installation guide 2019-07-30 10:01:07 -04:00
meson.build Fix linker error due to missing source files 2019-06-21 13:09:59 -04:00

README.md

Total alerts

conmon

An OCI container runtime monitor.

Conmon is a monitoring program and communication tool between a container manager (like podman or CRI-O) and an OCI runtime (like runc or crun) for a single container.

Upon being launched, it double-forks to daemonize and detach from the parent that launched it. It then launches the runtime as its child. This allows managing processes to die in the foreground, but still be able to watch over and connect to the child process (the container).

While the container runs, conmon does two things:

  • Provides a socket for attaching to the container, holding open the container's standard streams and forwarding them over the socket.
  • Writes the contents of the container's streams to a log file (or to the systemd journal) so they can be read after the container's death.

Finally, upon the containers death, conmon will record its exit time and code to be read by the managing programs.

Written in C and designed to have a low memory footprint, conmon is intended to be run by a container managing library. Essentially, conmon is the smallest daemon a container can have.