A docker image for LDMS daemon with sampler plugins. This image does not have storage plugins.
$ docker run -d --name=<CONTAINER_NAME> --network=host --pid=host --privileged
-e COMPID=<NUMBER> # set COMPID environment variable
[ -v /run/munge:/run/munge:ro ] # expose host's munge to the container
[ -v /on-host/munge.key:/etc/munge/munge.key:ro ] # use container's munged with custom key
ovishpc/ldms-samp # the image name
-x <XPRT>:<PORT> # transport, listening port
[ -a munge ] # use munge authentication
[ OTHER LDMSD OPTIONS ]
ovishpc/ldms-samp entrypoint executes ldmsd -F, making it
the leader process of the container. Users can append [OPTIONS] and they will
be passed to ldmsd -F CLI. If -a munge is given, the entrypoint script will
check if /run/munge is a bind-mount from the host. If so, munge
encoding/decoding is done through munged on the host via the bind-mounged
/run/munge -- no need to run munged inside the container. Otherwise, in the
case that -a munge is given and /run/munge is not host-bind-mounted,
the entrypoint script runs munged and tests it BEFORE ldmsd.
The container uses host process namespace (--pid=host option) so that the
metric data source /proc/ in the container is the same as that of the host.
Otherwise, the data being collected is that of the container.
Using host network (--network=host) is also recommended to fully
utilize RDMA hardware on the host (e.g. with -x rdma:411).
The --privileged is only required to access privileged data source (e.g. system-level PAPI).
However, depending on docker and system configuration, on some clusters the
process on the container could not even create a new thread without the
--privileged flag.
## On a compute node
# Pull the container image
$ docker pull ovishpc/ldms-samp
# Start ldmsd container, with host network namespace and host PID namespace;
# - COMPID env var is HOSTNAME without the non-numeric prefixes and the leading
# zeroes (e.g. nid00100 => 100, nid10000 => 10000). Note that this uses
# bash(1) Parameter Expansion and Pattern Matching features.
#
# - serving on socket transport port 411 with munge authentication
#
# - using host munge
$ docker run -d --name=samp --network=host --pid=host --privileged \
-e COMPID=${HOSTNAME##*([^1-9])} \
-v /run/munge:/run/munge:ro \
ovishpc/ldms-samp -x sock:411 -a munge
Content type
Image
Digest
sha256:d21408db3…
Size
122.7 MB
Last updated
4 months ago
docker pull ovishpc/ldms-samp