A docker image for LDMS daemon with storage plugins.
$ docker run -d --name=<CONTAINER_NAME> --network=host --pid=host --privileged
-e COMPID=<NUMBER> # set COMPID environment variable
[ -v /on-host/storage:/storage:rw ] # bind 'storage/'. Could be any path, depending on ldmsd configuration
[ -v /on-host/dsosd.json:/etc/dsosd.json:ro ] # bind dsosd.json configuration, if using dsosd to export SOS data
[ -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-agg # the image name
-x <XPRT>:<PORT> # transport, listening port
[ -a munge ] # use munge authentication
[ OTHER LDMSD OPTIONS ]
# Run dsosd to export SOS data
$ docker exec -it <CONTAINER_NAME> /bin/bash
(<CONTAINER_NAME>) $ rpcbind
(<CONTAINER_NAME>) $ export DSOSD_DIRECTORY=/etc/dsosd.json
(<CONTAINER_NAME>) $ dsosd >/var/log/dsosd.log 2>&1 &
(<CONTAINER_NAME>) $ exit
ovishpc/ldms-agg entrypoint executes ldmsd -F, making it the
leader process of the container. It also handles -a munge the same way that
ovishpc/ldms-samp does. In the case of exporting SOS data through dsosd,
the daemon is required to execute after the container is up.
## On a service node
# Pull the container image
$ docker pull ovishpc/ldms-agg
# Start ldmsd container, using host network namespace and host PID namespace;
# - with host munge
# - serving port 411
# - The `-v /on-host/storage:/storage:rw` option is to map on-host storage
# location `/on-host/storage` to `/storage` location in the container. The
# data written to `/storage/` in the container will persist in
# `/on-host/storage/` on the host.
$ docker run -d --name=agg --network=host --privileged \
-v /run/munge:/run/munge:ro \
-v /on-host/storage:/storage:rw \
ovishpc/ldms-agg -x sock:411 -a munge
# Start dsosd service for remote SOS container access (e.g. by UI), by first
# bring up a shell inside the container, then start rpcbind and dsosd.
$ docker exec agg /bin/bash
(agg) $ rpcbind
(agg) $ export DSOSD_DIRECTORY=/etc/dsosd.json
(agg) $ dsosd >/var/log/dsosd.log 2>&1 &
(agg) $ exit
dsosd.json contains a collection of container_name - path mappings for
each host. For example:
{
"host1": {
"dsos_cont":"/storage/cont_host1",
"tmp_cont":"/tmp/ram_cont"
},
"host2": {
"dsos_cont":"/storage/cont_host2",
"tmp_cont":"/tmp/ram_cont"
}
}
Content type
Image
Digest
sha256:e91104039…
Size
546.6 MB
Last updated
4 months ago
docker pull ovishpc/ldms-agg