#! /bin/sh # # Copyright (c) 2011-2013 Red Hat Inc. # Copyright (c) 1997 Silicon Graphics, Inc. All Rights Reserved. # # This program is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the # Free Software Foundation; either version 2 of the License, or (at your # option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License # for more details. # # Install the systemd PMDA and/or PMNS # . $PCP_DIR/etc/pcp.env . $PCP_SHARE_DIR/lib/pmdaproc.sh iam=systemd pipe_opt=true daemon_opt=true # On some platforms, the 'adm' user does not exist, so the pmda needs # to run as root, to get full access to the systemd journal # On other systems, a process needs to belong to group 'systemd-journal' # to access the systemd journal. args='' whoami=`which whoami 2>/dev/null` haveadm="`su adm -s $whoami 2>/dev/null`" if [ "x$haveadm" != "xadm" ]; then args="-Uroot" echo "Warning: user adm not found, running PMDA as root" echo else journalctl=`which journalctl 2>/dev/null` if [ -n "$journalctl" ] then if su adm -s /bin/sh -c "$journalctl --this-boot --lines=1 --no-pager >/dev/null 2>$__tmp.err" then # all good ... PMDA default is to run as the user adm : else #debug# cat $__tmp.err echo "Warning: user adm cannot run journalctl, running PMDA as root" echo args=-Uroot fi else # not sure what sort of system this might be that has user adm and # systemd installed, but no journalctl ... # but run PMDA as root as the fall back option echo "Warning: journalctl(1) not found, running PMDA as root" echo args=-Uroot fi fi pmdaSetup pmdaInstall exit