forked from pool/pcp-image
[info=738834a649e89bf5aab5e8da86a84fcb]
OBS-URL: https://build.opensuse.org/package/show/devel:BCI:Tumbleweed/pcp-image?expand=0&rev=186
This commit is contained in:
commit
74e346083d
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
## Default LFS
|
||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.osc
|
6
10-host_mount.conf.template
Normal file
6
10-host_mount.conf.template
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# SPDX-License-Identifier: (LGPL-2.1+ AND GPL-2.0+)
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Environment="PROC_STATSPATH=${HOST_MOUNT}"
|
||||||
|
Environment="PCP_PODMAN_DATADIR=${HOST_MOUNT}/var/lib/containers/storage/overlay-containers"
|
||||||
|
Environment="PCP_PODMAN_RUNDIR=${HOST_MOUNT}/run/containers/storage/overlay-containers"
|
60
Dockerfile
Normal file
60
Dockerfile
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
# SPDX-License-Identifier: (LGPL-2.1+ AND GPL-2.0+)
|
||||||
|
|
||||||
|
# Copyright (c) 2024 SUSE LLC
|
||||||
|
|
||||||
|
# All modifications and additions to the file contributed by third parties
|
||||||
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
|
# upon.
|
||||||
|
|
||||||
|
# The content of THIS FILE IS AUTOGENERATED and should not be manually modified.
|
||||||
|
# It is maintained by the BCI team and generated by
|
||||||
|
# https://github.com/SUSE/BCI-dockerfile-generator
|
||||||
|
|
||||||
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||||
|
# You can contact the BCI team via https://github.com/SUSE/bci/discussions
|
||||||
|
|
||||||
|
|
||||||
|
#!BuildTag: opensuse/pcp:6.2.1
|
||||||
|
#!BuildTag: opensuse/pcp:6.2.1-%RELEASE%
|
||||||
|
#!BuildTag: opensuse/pcp:6.2
|
||||||
|
#!BuildTag: opensuse/pcp:6.2-%RELEASE%
|
||||||
|
#!BuildTag: opensuse/pcp:6
|
||||||
|
#!BuildTag: opensuse/pcp:6-%RELEASE%
|
||||||
|
#!BuildTag: opensuse/pcp:latest
|
||||||
|
|
||||||
|
FROM opensuse/bci/bci-init:latest
|
||||||
|
|
||||||
|
# Define labels according to https://en.opensuse.org/Building_derived_containers
|
||||||
|
# labelprefix=org.opensuse.application.pcp
|
||||||
|
LABEL org.opencontainers.image.authors="openSUSE (https://www.opensuse.org/)"
|
||||||
|
LABEL org.opencontainers.image.title="openSUSE Tumbleweed Performance Co-Pilot (pcp)"
|
||||||
|
LABEL org.opencontainers.image.description="Performance Co-Pilot (pcp) container based on the openSUSE Tumbleweed Base Container Image. This container is only supported with podman."
|
||||||
|
LABEL org.opencontainers.image.version="6.2.1"
|
||||||
|
LABEL org.opencontainers.image.url="https://www.opensuse.org"
|
||||||
|
LABEL org.opencontainers.image.created="%BUILDTIME%"
|
||||||
|
LABEL org.opencontainers.image.vendor="openSUSE Project"
|
||||||
|
LABEL org.opencontainers.image.source="%SOURCEURL%"
|
||||||
|
LABEL org.opensuse.reference="registry.opensuse.org/opensuse/pcp:6.2.1-%RELEASE%"
|
||||||
|
LABEL org.openbuildservice.disturl="%DISTURL%"
|
||||||
|
LABEL org.opensuse.lifecycle-url="https://en.opensuse.org/Lifetime#openSUSE_BCI"
|
||||||
|
LABEL org.opensuse.release-stage="released"
|
||||||
|
# endlabelprefix
|
||||||
|
LABEL io.artifacthub.package.readme-url="https://raw.githubusercontent.com/SUSE/BCI-dockerfile-generator/Tumbleweed/pcp-image/README.md"
|
||||||
|
|
||||||
|
RUN set -euo pipefail; zypper -n in --no-recommends pcp hostname procps shadow envsubst util-linux-systemd; zypper -n clean; rm -rf /var/log/{lastlog,tallylog,zypper.log,zypp/history,YaST2}
|
||||||
|
ENTRYPOINT ["/usr/local/bin/container-entrypoint"]
|
||||||
|
CMD ["/usr/lib/systemd/systemd"]
|
||||||
|
EXPOSE 44321 44322 44323
|
||||||
|
|
||||||
|
RUN set -euo pipefail; mkdir -p /usr/share/container-scripts/pcp; mkdir -p /etc/sysconfig
|
||||||
|
COPY container-entrypoint healthcheck /usr/local/bin/
|
||||||
|
RUN set -euo pipefail; chmod +x /usr/local/bin/container-entrypoint /usr/local/bin/healthcheck
|
||||||
|
COPY pmproxy.conf.template 10-host_mount.conf.template /usr/share/container-scripts/pcp/
|
||||||
|
COPY pmcd pmlogger /etc/sysconfig/
|
||||||
|
|
||||||
|
# This can be removed after the pcp dependency on sysconfig is removed
|
||||||
|
RUN set -euo pipefail; systemctl disable wicked wickedd || :
|
||||||
|
|
||||||
|
HEALTHCHECK --start-period=30s --timeout=20s --interval=10s --retries=3 CMD /usr/local/bin/healthcheck
|
||||||
|
|
||||||
|
VOLUME /var/log/pcp/pmlogger
|
105
README.md
Normal file
105
README.md
Normal file
@ -0,0 +1,105 @@
|
|||||||
|
# openSUSE Tumbleweed Performance Co-Pilot (pcp): Performance Co-Pilot
|
||||||
|
![Redistributable](https://img.shields.io/badge/Redistributable-Yes-green)
|
||||||
|
|
||||||
|
## Description
|
||||||
|
Performance Co-Pilot ([PCP](https://pcp.io)) 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)](https://man7.org/linux/man-pages/man3/pmapi.3.html) to access metrics.
|
||||||
|
|
||||||
|
### `44322/tcp`
|
||||||
|
|
||||||
|
The pmproxy daemon listens on this port and exposes the REST [PMWEBAPI(3)](https://man7.org/linux/man-pages/man3/pmwebapi.3.html) to access metrics.
|
||||||
|
|
||||||
|
## Documentation
|
||||||
|
|
||||||
|
[PCP books](https://pcp.readthedocs.io)
|
||||||
|
|
||||||
|
## 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](https://get.opensuse.org/tumbleweed/).
|
16
_service
Normal file
16
_service
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
<services>
|
||||||
|
<service mode="buildtime" name="docker_label_helper"/>
|
||||||
|
<service mode="buildtime" name="kiwi_metainfo_helper"/>
|
||||||
|
<service name="replace_using_package_version" mode="buildtime">
|
||||||
|
<param name="file">Dockerfile</param>
|
||||||
|
<param name="regex">%%pcp_major%%</param>
|
||||||
|
<param name="package">pcp</param>
|
||||||
|
<param name="parse-version">major</param>
|
||||||
|
</service>
|
||||||
|
<service name="replace_using_package_version" mode="buildtime">
|
||||||
|
<param name="file">Dockerfile</param>
|
||||||
|
<param name="regex">%%pcp_minor%%</param>
|
||||||
|
<param name="package">pcp</param>
|
||||||
|
<param name="parse-version">minor</param>
|
||||||
|
</service>
|
||||||
|
</services>
|
41
container-entrypoint
Normal file
41
container-entrypoint
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
#!/bin/bash -eu
|
||||||
|
# SPDX-License-Identifier: (LGPL-2.1+ AND GPL-2.0+)
|
||||||
|
|
||||||
|
ALL_PCP_SERVICES='pmcd,pmie,pmlogger,pmproxy'
|
||||||
|
|
||||||
|
export PCP_SERVICES=${PCP_SERVICES:-${ALL_PCP_SERVICES}}
|
||||||
|
export HOST_MOUNT=${HOST_MOUNT:-''}
|
||||||
|
export REDIS_SERVERS=${REDIS_SERVERS:-'localhost:6379'}
|
||||||
|
|
||||||
|
mkdir -p /etc/systemd/system/pmcd.service.d
|
||||||
|
# shellcheck disable=SC2016
|
||||||
|
envsubst '$HOST_MOUNT' < /usr/share/container-scripts/pcp/10-host_mount.conf.template > /etc/systemd/system/pmcd.service.d/10-host_mount.conf
|
||||||
|
# shellcheck disable=SC2016
|
||||||
|
envsubst '$REDIS_SERVERS' < /usr/share/container-scripts/pcp/pmproxy.conf.template > /etc/pcp/pmproxy/pmproxy.conf
|
||||||
|
|
||||||
|
echo "Enabling PCP services: ${PCP_SERVICES}"
|
||||||
|
for service in ${ALL_PCP_SERVICES//,/ }; do
|
||||||
|
if [[ ",${PCP_SERVICES}," = *",${service},"* ]]; then
|
||||||
|
systemctl enable "${service}" 2> /dev/null
|
||||||
|
else
|
||||||
|
# pcp-zeroconf enables some PCP services already -> disable them if not requested
|
||||||
|
systemctl disable "${service}" 2> /dev/null
|
||||||
|
# prevent other services from starting (due to systemd dependencies) by masking them
|
||||||
|
systemctl mask "${service}" 2> /dev/null
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# After systemd starts, something is creating syslinks in
|
||||||
|
# /var/lib/pcp/config/pmieconf/dm and /var/lib/pcp/config/pmieconf/zeroconf
|
||||||
|
# to the following non-existing locations. Pmie fails to start because of these broken links.
|
||||||
|
# Pmie starts okay if the targets are empty files, so this is a workaround for now.
|
||||||
|
mkdir -p /etc/pcp/pmieconf/dm
|
||||||
|
touch /etc/pcp/pmieconf/dm/data_high_util
|
||||||
|
touch /etc/pcp/pmieconf/dm/metadata_high_util
|
||||||
|
mkdir -p /etc/pcp/pmieconf/zeroconf
|
||||||
|
touch /etc/pcp/pmieconf/zeroconf/all_threads
|
||||||
|
|
||||||
|
chown pcp:pcp /var/log/pcp/pmlogger
|
||||||
|
|
||||||
|
echo Starting systemd...
|
||||||
|
exec "$@"
|
16
healthcheck
Normal file
16
healthcheck
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
#!/bin/bash -eu
|
||||||
|
|
||||||
|
ALL_PCP_SERVICES='pmcd,pmie,pmlogger,pmproxy'
|
||||||
|
PCP_SERVICES=${PCP_SERVICES:-${ALL_PCP_SERVICES}}
|
||||||
|
|
||||||
|
failed=""
|
||||||
|
for service in ${PCP_SERVICES//,/ }; do
|
||||||
|
if ! systemctl is-active $service --quiet; then
|
||||||
|
failed="$failed $service"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ ! -z "$failed" ]; then
|
||||||
|
echo "$0: services not active:$failed"
|
||||||
|
exit 1
|
||||||
|
fi
|
139
pcp-image.changes
Normal file
139
pcp-image.changes
Normal file
@ -0,0 +1,139 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Aug 8 16:43:43 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- remove oci reference annotation again
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Aug 5 11:38:13 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- add OCI reference annotation
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Aug 3 08:56:51 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- set OCI.authors attribute instead of deprecated MAINTAINER
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jul 31 12:06:44 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- set specific lifecycle url for openSUSE BCI
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Jun 21 06:21:46 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- Add missing procps package
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jun 17 08:14:23 UTC 2024 - Dan Čermák <dcermak@suse.com>
|
||||||
|
|
||||||
|
- Use envsubst to reduce image size
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jun 10 15:11:25 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- update README; reduce unnecessary newlines
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jun 5 15:13:27 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- Don't add artifacthub labels into labelprefix section
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jun 5 12:47:22 UTC 2024 - Dan Čermák <dcermak@suse.com>
|
||||||
|
|
||||||
|
- Hardcode package version in the README
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jun 4 12:35:15 UTC 2024 - Alexandre Vicenzi <alexandre.vicenzi@suse.com>
|
||||||
|
|
||||||
|
- Fix grammar mistake in licensing footer
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed May 8 16:26:31 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- README fixes - better titles and follow recommended document structure
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue May 7 19:07:24 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- extend READMEs; correct eula for application images
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu May 2 06:59:49 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- Add licensing footer to the README
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Apr 12 12:03:53 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- Don't wipe everything in /var/log, only remove log files (this omits directories owned by packages)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jan 17 14:29:14 UTC 2024 - Dan Čermák <dcermak@suse.com>
|
||||||
|
|
||||||
|
- Add initial README stub
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jan 2 08:26:58 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- update year to 2024
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Sep 28 14:29:10 UTC 2023 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- add copyright and description header
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jul 24 12:54:31 UTC 2023 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- Fix base image naming in description label
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Jun 23 15:33:33 UTC 2023 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- label capitalization and related cleanups
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue May 30 06:52:56 UTC 2023 - Dan Čermák <dcermak@suse.com>
|
||||||
|
|
||||||
|
- Add release stage and lifecycle url
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Mar 30 15:12:51 UTC 2023 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- Put VOLUME statements last
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Mar 3 07:24:36 UTC 2023 - Dan Čermák <dcermak@suse.com>
|
||||||
|
|
||||||
|
- Add org.opencontainers.image.source label set to %SOURCEURL%
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Feb 24 13:12:03 UTC 2023 - Darragh O'Reilly <doreilly@suse.com>
|
||||||
|
|
||||||
|
- The pmlogger_daily.service was failing silently because it runs as user pcp which did not have permissions on /var/log/pcp/pmlogger. Normally pcp running on the host creates /var/log/pcp/pmlogger and also does chown pcp:pcp /var/log/pcp/pmlogger if it does not exist. But VOLUME /var/log/pcp/pmlogger in the Dockerfile causes the directory to exist with
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Dec 21 16:02:13 UTC 2022 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- handle non-existent wicked gracefully
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Dec 21 14:05:34 UTC 2022 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- BuildTag sorting and consistency fixes
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Jul 15 11:06:27 UTC 2022 - Dan Čermák <dcermak@suse.com>
|
||||||
|
|
||||||
|
- Increase compatibility with openSUSE
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jun 14 10:12:15 UTC 2022 - Dan Čermák <dcermak@suse.com>
|
||||||
|
|
||||||
|
- Add HEALTHCHECK
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue May 3 09:03:29 UTC 2022 - Dan Čermák <dcermak@suse.com>
|
||||||
|
|
||||||
|
- Use set -euo pipefail in every RUN command, use ; instead of && to prevent masking failures
|
37
pmcd
Normal file
37
pmcd
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
# SPDX-License-Identifier: (LGPL-2.1+ AND GPL-2.0+)
|
||||||
|
|
||||||
|
# Environment variables for the pmcd daemon. Refer also to the
|
||||||
|
# pmcd.options and pmcd.conf files for additional configuration.
|
||||||
|
|
||||||
|
# Behaviour regarding listening on external-facing interfaces;
|
||||||
|
# unset PMCD_LOCAL to allow connections from remote hosts.
|
||||||
|
# A value of 0 permits remote connections, 1 permits local only.
|
||||||
|
PMCD_LOCAL=0
|
||||||
|
|
||||||
|
# Max length to which the queue of pending connections may grow
|
||||||
|
# A value of 5 is the default.
|
||||||
|
# PMCD_MAXPENDING=5
|
||||||
|
|
||||||
|
# Default behaviour regarding pmcd's approach to starting PMDAs;
|
||||||
|
# In cases where pmdaroot is available, setting this variable to
|
||||||
|
# 1, offloads starting and stopping of agents to pmdaroot. This
|
||||||
|
# allows pmcd to not require a restart when starting a new PMDA.
|
||||||
|
PMCD_ROOT_AGENT=1
|
||||||
|
|
||||||
|
# Default behaviour regarding pmcd's approach to re-starting any
|
||||||
|
# unresponsive PMDAs; this should only be used with pmdaroot and
|
||||||
|
# PMCD_ROOT_AGENT=1 as it allows pmcd to attempt to automatically
|
||||||
|
# restart any exited PMDA that it detects (which usually requires
|
||||||
|
# privileges not available to pmcd itself).
|
||||||
|
PMCD_RESTART_AGENTS=1
|
||||||
|
|
||||||
|
# Default timeout for waiting on pmcd to accept connections; any
|
||||||
|
# longer than this value and the rc scripts report it as failed.
|
||||||
|
# The value is a PCPIntro(1) interval in units of seconds and it
|
||||||
|
# will be passed directly to the pmcd_wait(1) utility.
|
||||||
|
# PMCD_WAIT_TIMEOUT=60
|
||||||
|
|
||||||
|
# Mode for pmcd to initialize the NSS certificate database when using
|
||||||
|
# secure connections. The default for pmcd is "readonly", as set here.
|
||||||
|
# If set to "readwrite" but fails, it will fallback and attempt readonly.
|
||||||
|
PCP_NSS_INIT_MODE=readonly
|
27
pmlogger
Normal file
27
pmlogger
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
# SPDX-License-Identifier: (LGPL-2.1+ AND GPL-2.0+)
|
||||||
|
|
||||||
|
# Environment variables for the primary pmlogger daemon. See also
|
||||||
|
# the pmlogger control file and pmlogconf(1) for additional details.
|
||||||
|
|
||||||
|
# Behaviour regarding listening on external-facing interfaces;
|
||||||
|
# unset PMLOGGER_LOCAL to allow connections from remote hosts.
|
||||||
|
# A value of 0 permits remote connections, 1 permits local only.
|
||||||
|
PMLOGGER_LOCAL=1
|
||||||
|
|
||||||
|
# Max length to which the queue of pending connections may grow
|
||||||
|
# A value of 5 is the default.
|
||||||
|
# PMLOGGER_MAXPENDING=5
|
||||||
|
|
||||||
|
# Default sampling interval pmlogger uses when no more specific
|
||||||
|
# interval is requested. A value of 60 seconds is the default.
|
||||||
|
# Both pmlogger command line (via control file) and also pmlogger
|
||||||
|
# configuration file directives will override this value.
|
||||||
|
PMLOGGER_INTERVAL=10
|
||||||
|
|
||||||
|
# The default behaviour, when pmlogger configuration comes from
|
||||||
|
# pmlogconf(1), is to regenerate the configuration file and check for
|
||||||
|
# changes whenever pmlogger is started from pmlogger_check(1).
|
||||||
|
# If the PMDA configuration is stable, this is not necessary, and
|
||||||
|
# setting PMLOGGER_CHECK_SKIP_LOGCONF to yes disables the regeneration
|
||||||
|
# and checking.
|
||||||
|
# PMLOGGER_CHECK_SKIP_LOGCONF=yes
|
87
pmproxy.conf.template
Normal file
87
pmproxy.conf.template
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
# SPDX-License-Identifier: (LGPL-2.1+ AND GPL-2.0+)
|
||||||
|
|
||||||
|
# configuration options for pmproxy, pmseries and associated APIs
|
||||||
|
# uncomment/edit lines as required
|
||||||
|
|
||||||
|
#####################################################################
|
||||||
|
## general settings for the pmproxy(1) daemon
|
||||||
|
#####################################################################
|
||||||
|
[pmproxy]
|
||||||
|
|
||||||
|
# settings related to TLS certificates and keys
|
||||||
|
#certificates = /etc/pki/tls/certs/pcp.crt
|
||||||
|
#private_key = /etc/pki/tls/private/pcp.key
|
||||||
|
#authority = # PEM format file of acceptable client CAs
|
||||||
|
#cipher_list = # (TLSv2) colon-separated cipher list to be used
|
||||||
|
#cipher_suites = # (TLSv3) colon-separated cipher suites to be used
|
||||||
|
|
||||||
|
# maximum pending socket opens
|
||||||
|
#maxpending = 128
|
||||||
|
|
||||||
|
# delay in seconds for TCP keep-alive (zero to disable)
|
||||||
|
#keepalive = 45
|
||||||
|
|
||||||
|
# buffer size for chunked transfer encoding (bytes, default pagesize)
|
||||||
|
#chunksize = 4096
|
||||||
|
|
||||||
|
# support PCP protocol proxying
|
||||||
|
pcp.enabled = true
|
||||||
|
|
||||||
|
# serve the PCP REST APIs (HTTP)
|
||||||
|
http.enabled = true
|
||||||
|
|
||||||
|
# support Redis protocol proxying
|
||||||
|
redis.enabled = true
|
||||||
|
|
||||||
|
# support SSL/TLS protocol wrapping
|
||||||
|
secure.enabled = true
|
||||||
|
|
||||||
|
|
||||||
|
#####################################################################
|
||||||
|
## settings related to automatically discovered archives
|
||||||
|
#####################################################################
|
||||||
|
[discover]
|
||||||
|
|
||||||
|
# propogate archives from pmlogger(1) into Redis querying
|
||||||
|
enabled = true
|
||||||
|
|
||||||
|
# comma-separated metrics name (globs) to skip during discovery
|
||||||
|
exclude.metrics = proc.*,acct.*
|
||||||
|
|
||||||
|
# comma-separated list of instance domains to skip during discovery
|
||||||
|
exclude.indoms = 3.9,3.40,79.7
|
||||||
|
|
||||||
|
#####################################################################
|
||||||
|
## settings for metric and indom help text searching via RediSearch
|
||||||
|
[pmsearch]
|
||||||
|
#####################################################################
|
||||||
|
|
||||||
|
# allow REST API queries and indexing of metric and indom help text
|
||||||
|
enabled = true
|
||||||
|
|
||||||
|
# default number of query results in a batch (paginated)
|
||||||
|
count = 10
|
||||||
|
|
||||||
|
#####################################################################
|
||||||
|
## settings for fast, scalable time series quering via Redis
|
||||||
|
[pmseries]
|
||||||
|
#####################################################################
|
||||||
|
|
||||||
|
# allow REST API queries of fast, scalable time series
|
||||||
|
enabled = true
|
||||||
|
|
||||||
|
# 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)
|
||||||
|
servers = ${REDIS_SERVERS}
|
||||||
|
|
||||||
|
# number of elements from scan calls (https://redis.io/commands/scan)
|
||||||
|
cursor.count = 256
|
||||||
|
|
||||||
|
# seconds to expire in-core series (https://redis.io/commands/expire)
|
||||||
|
stream.expire = 86400
|
||||||
|
|
||||||
|
# limit number of elements in series (https://redis.io/commands/xadd)
|
||||||
|
stream.maxlen = 8640
|
||||||
|
|
||||||
|
#####################################################################
|
Loading…
Reference in New Issue
Block a user