Add scripts for checking supervisor process, systemd service
This commit is contained in:
parent
f441ac7b25
commit
9f066ca859
57
rattail_fabric2/deploy/check-supervisor-process
Executable file
57
rattail_fabric2/deploy/check-supervisor-process
Executable file
|
@ -0,0 +1,57 @@
|
||||||
|
#!/bin/sh
|
||||||
|
################################################################################
|
||||||
|
#
|
||||||
|
# Rattail -- Retail Software Framework
|
||||||
|
# Copyright © 2010-2019 Lance Edgar
|
||||||
|
#
|
||||||
|
# This file is part of Rattail.
|
||||||
|
#
|
||||||
|
# Rattail 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 3 of the License, or (at your option) any later
|
||||||
|
# version.
|
||||||
|
#
|
||||||
|
# Rattail 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.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License along with
|
||||||
|
# Rattail. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
################################################################################
|
||||||
|
#
|
||||||
|
# This is a simple script which will output a single line of info, and exit
|
||||||
|
# with a return code which indicates status of a given supervisor process. It
|
||||||
|
# was designed for use with Shinken monitoring. Invoke like so:
|
||||||
|
#
|
||||||
|
# check-supervisor-process NAME
|
||||||
|
#
|
||||||
|
# Where NAME refers to the process, e.g. 'rattail:datasync'. Exit code may be:
|
||||||
|
#
|
||||||
|
# * 0 = process is confirmed running
|
||||||
|
# * 2 = process is confirmed *not* running
|
||||||
|
# * 3 = unknown state
|
||||||
|
#
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
NAME="$1"
|
||||||
|
if [ "$NAME" = "" ]; then
|
||||||
|
echo "Usage: check-supervisor-process NAME"
|
||||||
|
exit 3
|
||||||
|
fi
|
||||||
|
|
||||||
|
STATUS=$(sudo supervisorctl status $NAME | awk -F ' +' '{print $2}')
|
||||||
|
|
||||||
|
if [ $STATUS = "RUNNING" ]; then
|
||||||
|
echo "supervisor reports RUNNING status"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$STATUS" = "" ]; then
|
||||||
|
echo "unable to perform status check!"
|
||||||
|
exit 3
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "supervisor reports $STATUS status"
|
||||||
|
exit 2
|
46
rattail_fabric2/deploy/check-systemd-service
Executable file
46
rattail_fabric2/deploy/check-systemd-service
Executable file
|
@ -0,0 +1,46 @@
|
||||||
|
#!/bin/sh
|
||||||
|
################################################################################
|
||||||
|
#
|
||||||
|
# Rattail -- Retail Software Framework
|
||||||
|
# Copyright © 2010-2019 Lance Edgar
|
||||||
|
#
|
||||||
|
# This file is part of Rattail.
|
||||||
|
#
|
||||||
|
# Rattail 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 3 of the License, or (at your option) any later
|
||||||
|
# version.
|
||||||
|
#
|
||||||
|
# Rattail 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.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License along with
|
||||||
|
# Rattail. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
################################################################################
|
||||||
|
#
|
||||||
|
# This is a simple script which will output a single line of info, and exit
|
||||||
|
# with a return code which indicates status of a given systemd service. It was
|
||||||
|
# designed for use with Shinken monitoring. Invoke like so:
|
||||||
|
#
|
||||||
|
# check-systemd-service NAME
|
||||||
|
#
|
||||||
|
# Where NAME refers to the process, e.g. 'rattail-soffice'. Exit code may be:
|
||||||
|
#
|
||||||
|
# * 0 = process is confirmed running
|
||||||
|
# * 2 = process is confirmed *not* running
|
||||||
|
# * 3 = unknown state
|
||||||
|
#
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
NAME="$1"
|
||||||
|
if [ "$NAME" = "" ]; then
|
||||||
|
echo "Usage: check-systemd-service NAME"
|
||||||
|
exit 3
|
||||||
|
fi
|
||||||
|
|
||||||
|
sudo systemctl is-active $NAME.service || exit 2
|
||||||
|
|
||||||
|
exit 0
|
|
@ -48,6 +48,8 @@ def bootstrap_rattail(c, home='/var/lib/rattail', uid=None, shell='/bin/bash'):
|
||||||
mkdir(c, '/srv/rattail/init', use_sudo=True)
|
mkdir(c, '/srv/rattail/init', use_sudo=True)
|
||||||
deploy(c, 'daemon', '/srv/rattail/init/daemon', use_sudo=True)
|
deploy(c, 'daemon', '/srv/rattail/init/daemon', use_sudo=True)
|
||||||
deploy(c, 'check-rattail-daemon', '/usr/local/bin/check-rattail-daemon', use_sudo=True)
|
deploy(c, 'check-rattail-daemon', '/usr/local/bin/check-rattail-daemon', use_sudo=True)
|
||||||
|
deploy(c, 'check-supervisor-process', '/usr/local/bin/check-supervisor-process')
|
||||||
|
deploy(c, 'check-systemd-service', '/usr/local/bin/check-systemd-service')
|
||||||
deploy(c, 'luigid', '/srv/rattail/init/luigid', use_sudo=True)
|
deploy(c, 'luigid', '/srv/rattail/init/luigid', use_sudo=True)
|
||||||
deploy(c, 'soffice', '/srv/rattail/init/soffice', use_sudo=True)
|
deploy(c, 'soffice', '/srv/rattail/init/soffice', use_sudo=True)
|
||||||
# TODO: deprecate / remove these
|
# TODO: deprecate / remove these
|
||||||
|
|
Loading…
Reference in a new issue