Merge "report open-ldap service is approaching or reaching FD limit"
This commit is contained in:
commit
cc9a5728dc
@ -6,6 +6,12 @@
|
|||||||
#
|
#
|
||||||
. /etc/init.d/functions
|
. /etc/init.d/functions
|
||||||
|
|
||||||
|
PID_FILE='/var/run/slapd.pid'
|
||||||
|
MAX_FD_COUNT=4096
|
||||||
|
ALARM_THRESHOLD=3891 # 95 % MAX
|
||||||
|
EXIT_APPROACH_LIMIT=160
|
||||||
|
EXIT_LIMIT_REACHED=161
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# Wait for a process to stop running.
|
# Wait for a process to stop running.
|
||||||
#
|
#
|
||||||
@ -27,6 +33,7 @@ function wait_for_proc_stop()
|
|||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
slapd=/usr/sbin/slapd
|
slapd=/usr/sbin/slapd
|
||||||
test -x "$slapd" || exit 0
|
test -x "$slapd" || exit 0
|
||||||
|
|
||||||
@ -36,7 +43,7 @@ case "$1" in
|
|||||||
start)
|
start)
|
||||||
echo -n "Starting SLAPD: "
|
echo -n "Starting SLAPD: "
|
||||||
# Bump up the open file limit for created daemons
|
# Bump up the open file limit for created daemons
|
||||||
ulimit -n 4096
|
ulimit -n $MAX_FD_COUNT
|
||||||
if [ -f /etc/openldap/schema/cn=config.ldif ]; then
|
if [ -f /etc/openldap/schema/cn=config.ldif ]; then
|
||||||
start-stop-daemon --start --oknodo --quiet --exec $slapd \
|
start-stop-daemon --start --oknodo --quiet --exec $slapd \
|
||||||
-- -F /etc/openldap/schema/
|
-- -F /etc/openldap/schema/
|
||||||
@ -81,7 +88,7 @@ case "$1" in
|
|||||||
wait_for_proc_stop $slapd 10
|
wait_for_proc_stop $slapd 10
|
||||||
WRETVAL=$?
|
WRETVAL=$?
|
||||||
done
|
done
|
||||||
rm -f /var/run/slapd.pid
|
rm -f '$PID_FILE'
|
||||||
echo "."
|
echo "."
|
||||||
;;
|
;;
|
||||||
status)
|
status)
|
||||||
@ -89,6 +96,11 @@ case "$1" in
|
|||||||
[ $? -eq 0 ] || exit $?
|
[ $? -eq 0 ] || exit $?
|
||||||
systemctl status nscd.service
|
systemctl status nscd.service
|
||||||
[ $? -eq 0 ] || exit $?
|
[ $? -eq 0 ] || exit $?
|
||||||
|
PID=`cat $PID_FILE`
|
||||||
|
FD_PATH="/proc/$PID/fd/"
|
||||||
|
FD_CNT=`ls $FD_PATH -l | wc -l`
|
||||||
|
[ "$FD_CNT" -lt "$MAX_FD_COUNT" ] || exit $EXIT_LIMIT_REACHED
|
||||||
|
[ "$FD_CNT" -lt "$ALARM_THRESHOLD" ] || exit $EXIT_APPROACH_LIMIT
|
||||||
;;
|
;;
|
||||||
restart)
|
restart)
|
||||||
$0 stop
|
$0 stop
|
||||||
|
Loading…
x
Reference in New Issue
Block a user