-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
6 changed files
with
161 additions
and
176 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,7 +3,7 @@ | |
# Contributor: bebehei <[email protected]> | ||
|
||
pkgname=icinga2 | ||
pkgver=2.13.8 | ||
pkgver=2.13.9 | ||
pkgrel=2 | ||
|
||
pkgdesc="An open source host, service and network monitoring program" | ||
|
@@ -57,20 +57,23 @@ source=( | |
"$pkgname.tmpfiles" | ||
"$pkgname.sysusers" | ||
"openrc_$pkgname" | ||
"openrc_${pkgname}_conf" | ||
) | ||
|
||
sha512sum=( | ||
"c16ee7d4876a712da19aaf8c2e85093bd3a4e60bdb29471a33d1e5df3df43c0e9b3afab59f5bbf2b99d06f6c501d52a2759a4b7783f877f3a5c713f43fe683a5" | ||
"dbdf1fb06b2cf3d7566194ed9f5883f05848cbc3f740a704f76868e985f2ac943389d56943f55bdba2900966c39472c6031bf032d815881fc64890c04de911dd" | ||
"51811add3f83df870f4b18ad97a6a9ccaf5be7ab4c0614b0d85cfccf5dc3e3debd7df42ecfe08c00a1b4d25e5b4326214f6a9c079fbf2886fc9e5a4c3b8ebbba" | ||
"875843000bf40cedffadee9ec0691d88173610befd653da06ea3828e2b1c5c36ddcb308bdba053f72c9311f8f023be044abb9dc41a712381cdf62e0e8434dd2e" | ||
"17fd0f63d9fe6f7e947d5f7485c2115dacdc9f2208931d162cb1b4882e33e027ce51d5c67241154c347d4d87f8c67d5f641cfa8d1f687de51d4225fab761cea1" | ||
"44c870fc44aebad5c4a106c301836f0b3c46c6fca8bd50d6833527cf33c4550b9781d7251821db8789aa41fb5f6eb26d2e3d5a18a38f940a93eee0c54c02ad59" | ||
"f5cdec7d4fd00eeb56a14bd1ba3c8e1b3d137bc91d97633163c44c026fb9da6e8e5f1de468b64be598f3da9c85f15460e4941093905bc91864aceab60fb470f1" | ||
) | ||
|
||
sha256sums=( | ||
'0b1974eff321141ccc7b6b7bad52070a81d8679674570ebdd2525e6f8443a4e2' | ||
'852c7af74e321e58f8df52e834ca781b7b9eb2dc6833182d8b86aa7c5ec81afe' | ||
'1302b333f49ead14f8808a379535971501d3a0c1ba02a7bf7b4406b7d27c754c' | ||
'2f946a33ea50a3c4400a81acd778e6411ffe5e2257a98004288b84a64f382810' | ||
'1495238a2248fe2690ce7b186c96b68a28868b76276d2d37e5ae2f1e25cd6dcd' | ||
'77c52109de6c05e87d8d285b7f16a09855296d67dbdcfc0bf33a42ee000eb3e3' | ||
'88e057f14b07bdf6d4284ba6194ea1527188af6462526720a5fa14327287b667' | ||
) | ||
|
||
build() { | ||
|
@@ -116,6 +119,8 @@ package() { | |
|
||
# install openrc start-stop script | ||
sudo install -Dm755 "$srcdir/../openrc_$pkgname" "/etc/init.d/$pkgname" | ||
# install openrc config file | ||
sudo install -Dm755 "$srcdir/../openrc_${pkgname}_conf" "/etc/conf.d/$pkgname" | ||
|
||
# install syntax highlighting for vim and nano | ||
cd "$srcdir/$pkgname-$pkgver" | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
# aur build script for icinga | ||
|
||
update PKGBUILD | ||
|
||
makepkg --cleanbuild --syncdeps --force | ||
makepkg --geninteg | ||
makepkg --printsrcinfo > .SRCINFO |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,188 +1,138 @@ | ||
#!/bin/sh | ||
# | ||
# chkconfig: 35 90 12 | ||
# description: Icinga 2 | ||
# | ||
### BEGIN INIT INFO | ||
# Provides: icinga2 | ||
# Required-Start: $remote_fs $syslog $network | ||
# Required-Stop: $remote_fs $syslog $network | ||
# Should-Start: mysql postgresql | ||
# Should-Stop: mysql postgresql | ||
# Default-Start: 2 3 5 | ||
# Default-Stop: 0 1 6 | ||
# Short-Description: icinga2 host/service/network monitoring and management system | ||
# Description: Icinga 2 is a monitoring and management system for hosts, services and networks. | ||
### END INIT INFO | ||
|
||
# Get function from functions library | ||
if [ -f /etc/rc.d/init.d/functions ]; then | ||
. /etc/rc.d/init.d/functions | ||
elif [ -f /etc/init.d/functions ]; then | ||
. /etc/init.d/functions | ||
fi | ||
|
||
# load system specific defines | ||
SYSCONFIGFILE=/etc/conf.d/icinga2 | ||
if [ -f $SYSCONFIGFILE ]; then | ||
. $SYSCONFIGFILE | ||
else | ||
echo "Couldn't load system specific defines from $SYSCONFIGFILE. Using defaults." | ||
fi | ||
|
||
# Set defaults, to overwrite see "/etc/conf.d/icinga2" | ||
|
||
: ${ICINGA2_USER:="icinga"} | ||
: ${ICINGA2_GROUP:="icinga"} | ||
: ${ICINGA2_COMMAND_GROUP:="icingacmd"} | ||
: ${DAEMON:="/usr/bin/icinga2"} | ||
: ${ICINGA2_CONFIG_FILE:="/etc/icinga2/icinga2.conf"} | ||
: ${ICINGA2_ERROR_LOG:=/var/log/icinga2/error.log} | ||
: ${ICINGA2_STARTUP_LOG:=/var/log/icinga2/startup.log} | ||
: ${ICINGA2_PID_FILE:="/run/icinga2/icinga2.pid"} | ||
|
||
# Load extra environment variables | ||
if [ -f /etc/default/icinga2 ]; then | ||
. /etc/default/icinga2 | ||
fi | ||
|
||
test -x $DAEMON || exit 5 | ||
|
||
if [ ! -e $ICINGA2_CONFIG_FILE ]; then | ||
echo "Config file '$ICINGA2_CONFIG_FILE' does not exist." | ||
exit 6 | ||
fi | ||
|
||
getent passwd $ICINGA2_USER >/dev/null 2>&1 || (echo "Icinga user '$ICINGA2_USER' does not exist. Exiting." && exit 6) | ||
getent group $ICINGA2_GROUP >/dev/null 2>&1 || (echo "Icinga group '$ICINGA2_GROUP' does not exist. Exiting." && exit 6) | ||
getent group $ICINGA2_COMMAND_GROUP >/dev/null 2>&1 || (echo "Icinga command group '$ICINGA2_COMMAND_GROUP' does not exist. Exiting." && exit 6) | ||
#!/usr/bin/openrc-run | ||
|
||
description="Icinga 2 is a monitoring and management system for hosts, services and networks." | ||
|
||
extra_commands="checkconfig" | ||
extra_started_commands="reload" | ||
|
||
depend() { | ||
need net | ||
after network | ||
} | ||
|
||
start_pre() { | ||
|
||
if [ ! -e $ICINGA2_CONFIG_FILE ]; then | ||
eerror "Config file '$ICINGA2_CONFIG_FILE' does not exist." | ||
exit 6 | ||
fi | ||
|
||
getent passwd $ICINGA2_USER >/dev/null 2>&1 || (echo "Icinga user '$ICINGA2_USER' does not exist. Exiting." && exit 6) | ||
getent group $ICINGA2_GROUP >/dev/null 2>&1 || (echo "Icinga group '$ICINGA2_GROUP' does not exist. Exiting." && exit 6) | ||
getent group $ICINGA2_COMMAND_GROUP >/dev/null 2>&1 || (echo "Icinga command group '$ICINGA2_COMMAND_GROUP' does not exist. Exiting." && exit 6) | ||
|
||
if [ "${RC_CMD}" = "restart" ] ; then | ||
checkconfig || return $? | ||
fi | ||
} | ||
|
||
# Start Icinga 2 | ||
start() { | ||
printf "Starting Icinga 2: " | ||
/usr/lib/icinga2/prepare-dirs "$SYSCONFIGFILE" | ||
|
||
if ! $DAEMON daemon -c $ICINGA2_CONFIG_FILE -d -e $ICINGA2_ERROR_LOG > $ICINGA2_STARTUP_LOG 2>&1; then | ||
echo "Error starting Icinga. Check '$ICINGA2_STARTUP_LOG' for details." | ||
exit 1 | ||
else | ||
echo "Done" | ||
fi | ||
ebegin "Starting Icinga 2: " | ||
|
||
/usr/lib/icinga2/prepare-dirs "$SYSCONFIGFILE" | ||
|
||
if ! $DAEMON daemon --config $ICINGA2_CONFIG_FILE --daemonize --errorlog $ICINGA2_ERROR_LOG > $ICINGA2_STARTUP_LOG 2>&1 | ||
then | ||
eerror "Error starting Icinga. Check '$ICINGA2_STARTUP_LOG' for details." | ||
eend 1 | ||
else | ||
einfo "Done" | ||
fi | ||
} | ||
|
||
# Restart Icinga 2 | ||
stop() { | ||
printf "Stopping Icinga 2: " | ||
|
||
if [ ! -e $ICINGA2_PID_FILE ]; then | ||
echo "The PID file '$ICINGA2_PID_FILE' does not exist." | ||
if [ "x$1" = "xnofail" ]; then | ||
return | ||
else | ||
exit 7 | ||
fi | ||
fi | ||
|
||
pid=`cat $ICINGA2_PID_FILE` | ||
|
||
if icinga2 internal signal -s SIGINT -p $pid >/dev/null 2>&1; then | ||
for i in 1 2 3 4 5 6 7 8 9 10; do | ||
if ! icinga2 internal signal -s SIGCHLD -p $pid >/dev/null 2>&1; then | ||
break | ||
fi | ||
|
||
printf '.' | ||
sleep 3 | ||
done | ||
fi | ||
|
||
if icinga2 internal signal -s SIGCHLD -p $pid >/dev/null 2>&1; then | ||
icinga2 internal signal -s SIGKILL -p $pid >/dev/null 2>&1 | ||
fi | ||
|
||
echo "Done" | ||
ebegin "Stopping Icinga 2: " | ||
|
||
if [ ! -e $ICINGA2_PID_FILE ] | ||
then | ||
eerror "The PID file '$ICINGA2_PID_FILE' does not exist." | ||
if [ "x$1" = "xnofail" ] | ||
then | ||
return | ||
else | ||
eend 7 | ||
fi | ||
fi | ||
|
||
pid=$(cat $ICINGA2_PID_FILE) | ||
|
||
if icinga2 internal signal -s SIGINT -p $pid >/dev/null 2>&1 | ||
then | ||
for i in $(seq 1 10); do | ||
if ! icinga2 internal signal -s SIGCHLD -p $pid >/dev/null 2>&1 | ||
then | ||
break | ||
fi | ||
sleep 3 | ||
done | ||
fi | ||
|
||
if icinga2 internal signal -s SIGCHLD -p $pid >/dev/null 2>&1 | ||
then | ||
icinga2 internal signal -s SIGKILL -p $pid >/dev/null 2>&1 | ||
fi | ||
|
||
eend $? | ||
} | ||
|
||
# Reload Icinga 2 | ||
reload() { | ||
exec /usr/lib/icinga2/safe-reload "$SYSCONFIGFILE" | ||
|
||
checkconfig || return $? | ||
ebegin "Reloading ${RC_SVCNAME}" | ||
exec /usr/lib/icinga2/safe-reload "$SYSCONFIGFILE" | ||
eend $? | ||
} | ||
|
||
# Check the Icinga 2 configuration | ||
checkconfig() { | ||
printf "Checking configuration: " | ||
|
||
if ! $DAEMON daemon -c $ICINGA2_CONFIG_FILE -C > $ICINGA2_STARTUP_LOG 2>&1; then | ||
if [ "x$1" = "x" ]; then | ||
cat $ICINGA2_STARTUP_LOG | ||
echo "Icinga 2 detected configuration errors. Check '$ICINGA2_STARTUP_LOG' for details." | ||
exit 1 | ||
else | ||
echo "Not "$1"ing Icinga 2 due to configuration errors. Check '$ICINGA2_STARTUP_LOG' for details." | ||
if [ "x$2" = "xfail" ]; then | ||
exit 1 | ||
fi | ||
fi | ||
fi | ||
|
||
echo "Done" | ||
# no arguments requires full output | ||
if [ "x$1" = "x" ]; then | ||
cat $ICINGA2_STARTUP_LOG | ||
fi | ||
ebegin "Checking configuration: " | ||
|
||
if ! $DAEMON daemon --config $ICINGA2_CONFIG_FILE --validate > $ICINGA2_STARTUP_LOG 2>&1 | ||
then | ||
if [ "x$1" = "x" ] | ||
then | ||
cat $ICINGA2_STARTUP_LOG | ||
einfo "Icinga 2 detected configuration errors. Check '$ICINGA2_STARTUP_LOG' for details." | ||
eend 1 | ||
else | ||
einfo "Not "$1"ing Icinga 2 due to configuration errors. Check '$ICINGA2_STARTUP_LOG' for details." | ||
if [ "x$2" = "xfail" ] | ||
then | ||
eend 1 | ||
fi | ||
fi | ||
fi | ||
|
||
einfo "Done" | ||
# no arguments requires full output | ||
if [ "x$1" = "x" ] | ||
then | ||
cat $ICINGA2_STARTUP_LOG | ||
fi | ||
} | ||
|
||
# Print status for Icinga 2 | ||
status() { | ||
printf "Icinga 2 status: " | ||
|
||
if [ ! -e $ICINGA2_PID_FILE ]; then | ||
echo "Not running" | ||
exit 3 | ||
fi | ||
|
||
pid=`cat $ICINGA2_PID_FILE` | ||
if icinga2 internal signal -s SIGCHLD -p $pid >/dev/null 2>&1; then | ||
echo "Running" | ||
else | ||
echo "Not running" | ||
exit 3 | ||
fi | ||
|
||
ebegin "Icinga 2 status: " | ||
|
||
if [ ! -e $ICINGA2_PID_FILE ] | ||
then | ||
eerror "Not running" | ||
eend 3 | ||
fi | ||
|
||
pid=`cat $ICINGA2_PID_FILE` | ||
if icinga2 internal signal -s SIGCHLD -p $pid >/dev/null 2>&1 | ||
then | ||
einfo "Running" | ||
else | ||
eerror "Not running" | ||
eend 3 | ||
fi | ||
} | ||
|
||
### main logic ### | ||
case "$1" in | ||
start) | ||
checkconfig start fail | ||
start | ||
;; | ||
stop) | ||
stop | ||
;; | ||
status) | ||
status | ||
;; | ||
restart) | ||
checkconfig restart fail | ||
stop nofail | ||
start | ||
;; | ||
condrestart) | ||
STATUS=$(status > /dev/null 2>&1) | ||
if [ $? != 0 ]; then exit 0; fi | ||
checkconfig restart fail | ||
stop nofail | ||
start | ||
;; | ||
reload) | ||
reload | ||
;; | ||
checkconfig) | ||
checkconfig | ||
;; | ||
*) | ||
echo "Usage: $0 {start|stop|restart|reload|checkconfig|status}" | ||
exit 3 | ||
esac | ||
|
||
exit 0 | ||
# exit 0 |
Oops, something went wrong.