Notes¶
Creating a new user and group¶
To create a non-interactive user and group:
groupadd kx-refinery
useradd -m -g kx-refinery -s /bin/false kx-refinery
systemd drop-in unit example¶
An example drop-in unit for the Monitoring daemon with a customized QHOME environment variable, user and group and CPU affinity (equivalent of taskset):
[Service]
Environment="QHOME=/a/different/q/home/path"
User=other-user
Group=other-group
CPUAffinity=0
This file should be written to
/etc/systemd/system/kx-refinery-monitoring-daemon.service.d/10-client-settings.conf
The default service file defines both QHOME and QLIC environment variables. If the kdb+ license is in $QHOME, ensure that $QLIC is updated to match $QHOME.
Running Monitoring daemon in multi-server mode¶
This method of running the Monitoring daemon is not recommended and not supported by KX.
The Monitoring daemon can be configured to run as a single process and connect to all processes in the Refinery application regardless of which server the processes live on. To enable, update .mon.cfg.monitorLocalhostProcessesOnly to false.
Only monitor some workflows¶
If there are a number of workflows in the Refinery installation that are never run but cannot be removed, you can modify the Monitoring daemon configuration to only monitor processes within a defined set of workflows:
/ Only monitor 2 workflows
.mon.cfg.onlyMonitorProcessesInWorkflows:
`DAAS_ENTRYPOINT_0_a`DAAS_STACK_emea_launch_tr_marketData_eq_0_a
Docker configuration for systemd support¶
Red Hat’s podman is better suited to running containers with systemd support.
If running the Monitoring daemon within systemd, the container must be explicitly configured to support systemd.
Dockerfile:
FROM centos:7
ENV container docker
STOPSIGNAL SIGRTMIN+3
CMD [ "/sbin/init" ]
Run command (interactive):
docker run -it --tmpfs /tmp --tmpfs /run -v /sys/fs/cgroup:/sys/fs/cgroup:ro *image-name*