Sign inSign up

ovishpc/ldms-agg

By ovishpc

•Updated 4 months ago

LDMS Aggregator docker image.

Image
0

3.1K

ovishpc/ldms-agg repository overview

⁠LDMS Aggregator Docker Image

A docker image for LDMS daemon with storage plugins.

⁠References

⁠SYNOPSIS

$ 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

⁠DESCRIPTION

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.

⁠EXAMPLES

## 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"
  }
}

Tag summary

Content type

Image

Digest

sha256:e91104039…

Size

546.6 MB

Last updated

4 months ago

docker pull ovishpc/ldms-agg