blob: 8fb13162e35bc9f8b17d20d49b8236074922301f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
#!/sbin/openrc-run
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
extra_started_commands="reload"
DAEMON="/usr/sbin/icinga2"
ICINGA2_ERROR_LOG="/var/log/icinga2/error.log"
ICINGA2_STARTUP_LOG="/var/log/icinga2/startup.log"
ICINGA2_LOG="/var/log/icinga2/icinga2.log"
ICINGA2_CONFIG_FILE="/etc/icinga2/icinga2.conf"
ICINGA2_RUN_DIR="/run/icinga2"
ICINGA2_STATE_DIR="/var/cache/icinga2"
ICINGA2_CMD_DIR="${ICINGA2_RUN_DIR}/cmd"
ICINGA2_PID_FILE="${ICINGA2_RUN_DIR}/icinga2.pid"
ICINGA2_DAEMON_ARGS="daemon -c $ICINGA2_CONFIG_FILE -e $ICINGA2_ERROR_LOG -d"
depend() {
need net
}
checkconfig() {
if [ ! -e "$ICINGA2_CONFIG_FILE" ]; then
ewarn "Config file '$ICINGA2_CONFIG_FILE' does not exist."
eend 1
fi
ICINGA2_USER=$($DAEMON variable get --current RunAsUser)
if [ $? != 0 ]; then
eerror "Could not fetch RunAsUser variable: '$ICINGA2_USER'."
return 1
fi
ICINGA2_GROUP=$($DAEMON variable get --current RunAsGroup)
if [ $? != 0 ]; then
eerror "Could not fetch RunAsGroup variable: '$ICINGA2_GROUP'."
return 1
fi
checkpath -d -m 0750 -o $ICINGA2_USER:$ICINGA2_GROUP $ICINGA2_RUN_DIR
checkpath -d -m 0750 -o $ICINGA2_USER:$ICINGA2_GROUP $ICINGA2_STATE_DIR
checkpath -d -m 2750 -o $ICINGA2_USER:$ICINGA2_GROUP $ICINGA2_CMD_DIR
if ! $DAEMON daemon -c $ICINGA2_CONFIG_FILE -C > $ICINGA2_STARTUP_LOG 2>&1; then
eerror "Icinga2 detected configuration errors. Check '$ICINGA2_STARTUP_LOG' for details."
return 1
fi
}
start() {
checkconfig || return 1
ebegin "Starting icinga2"
start-stop-daemon --start --exec "${DAEMON}" \
--pidfile "${ICINGA2_PID_FILE}" \
-- $ICINGA2_DAEMON_ARGS > $ICINGA2_STARTUP_LOG 2>&1
local retval=$?
if [ $retval -ne 0 ]; then
ewarn "Error starting icinga2. '$ICINGA2_STARTUP_LOG' for details."
fi
eend $retval
}
stop() {
ebegin "Stopping icinga2"
start-stop-daemon \
--stop \
--pidfile $ICINGA2_PID_FILE \
--retry "SIGTERM/15 SIGKILL/30" \
--progress
eend $?
}
reload() {
checkconfig || return 1
ebegin "Reloading icinga2"
start-stop-daemon --signal HUP --pidfile "$ICINGA2_PID_FILE"
local retval=$?
if [ $retval -ne 0 ]; then
ewarn "Error reloading icinga2."
fi
eend $retval
}
|