_service | ||
.gitattributes | ||
.gitignore | ||
10-host_mount.conf.template | ||
container-entrypoint | ||
Dockerfile | ||
healthcheck | ||
pcp-image.changes | ||
pmcd | ||
pmlogger | ||
pmproxy.conf.template | ||
README.md |
openSUSE Tumbleweed Performance Co-Pilot (pcp): Performance Co-Pilot
Description
Performance Co-Pilot (PCP) is a system performance analysis toolkit.
Usage
$ podman run -d \
--name pcp \
--systemd always \
-p 44321:44321 \
-p 44322:44322 \
-v pcp-archives:/var/log/pcp/pmlogger \
registry.opensuse.org/opensuse/pcp:6.2.1
Note: On SELinux enabled systems, the following boolean needs to be set: sudo setsebool -P container_manage_cgroup true
Enabling host processes, network and container metrics
$ sudo podman run -d \
--name pcp \
--privileged \
--net host \
--systemd always \
-e HOST_MOUNT=/host \
-v pcp-archives:/var/log/pcp/pmlogger \
-v /:/host:ro,rslave \
registry.opensuse.org/opensuse/pcp:6.2.1
Configuration
Environment variables
PCP_SERVICES
Default: pmcd,pmie,pmlogger,pmproxy
Comma-separated list of PCP services to start.
HOST_MOUNT
Default: unset.
Path inside the container to the bind mount of /
on the host.
REDIS_SERVERS
Default: localhost:6379
Redis connection spec(s) - could be any individual cluster host, and all hosts in the cluster will be automatically discovered. Alternately, use comma-separated hostspecs (non-clustered setup)
Configuration files
For custom configuration options beyond the above environment variables, it is advised to use a bind mount with a configuration file on the host to the container. Example command to run a pmlogger-only container:
$ podman run -d \
--name pmlogger \
--systemd always \
-e PCP_SERVICES=pmlogger \
-v $(pwd)/pmlogger.control:/etc/pcp/pmlogger/control.d/local:z \
-v pcp-archives:/var/log/pcp/pmlogger \
registry.opensuse.org/opensuse/pcp:6.2.1
pmlogger.control:
$version=1.1
remote.pmcdhost.corp n n PCP_ARCHIVE_DIR/remote_pmcd -N -r -T24h10m -c config.default -v 100Mb
Volumes
/var/log/pcp/pmlogger
Performance Co-Pilot archive files with historical metrics.
Ports
44321/tcp
The pmcd daemon listens on this port and exposes the PMAPI(3) to access metrics.
44322/tcp
The pmproxy daemon listens on this port and exposes the REST PMWEBAPI(3) to access metrics.
Documentation
Licensing
SPDX-License-Identifier: (LGPL-2.1+ AND GPL-2.0+)
This documentation and the build recipe are licensed as (LGPL-2.1+ AND GPL-2.0+). The container itself contains various software components under various open source licenses listed in the associated Software Bill of Materials (SBOM).
This image is based on openSUSE Tumbleweed.