Silent file descriptor checks
In order to avoid spam in journald, we just get the exit code and let
the checker output the error message.
Also, correct how we retrieve process in the healthcheck_port and _listen
functions.
"ss" doesn't allow to match some processes, like "neutron-l3-agent". We
therefore use the PID instead, provided by "pgrep".
The "-d" option of pgrep allow to prepare its output for the "grep -E",
preventing any need of a loop.
Change-Id: I1555a9b79c954e646fe9ae35272231c581cea03e
Closes-Bug: #1821782
Closes-Bug: #1821856
(cherry picked from commit 5312bf19c8
)
This commit is contained in:
parent
ec5a85451d
commit
89d2393ea9
|
@ -14,31 +14,21 @@ healthcheck_curl () {
|
||||||
healthcheck_port () {
|
healthcheck_port () {
|
||||||
process=$1
|
process=$1
|
||||||
|
|
||||||
# ss truncate command name to 15 characters and this behaviour
|
|
||||||
# cannot be disabled
|
|
||||||
if [ ${#process} -gt 15 ] ; then
|
|
||||||
process=${process:0:15}
|
|
||||||
fi
|
|
||||||
|
|
||||||
shift 1
|
shift 1
|
||||||
args=$@
|
args=$@
|
||||||
ports=${args// /|}
|
ports=${args// /|}
|
||||||
ss -ntp | awk '{print $5,"-",$6}' | egrep ":($ports)" | grep "$process"
|
pids=$(pgrep -d '|' -f $process)
|
||||||
|
ss -ntp | grep -qE ":($ports).*,pid=($pids),"
|
||||||
}
|
}
|
||||||
|
|
||||||
healthcheck_listen () {
|
healthcheck_listen () {
|
||||||
process=$1
|
process=$1
|
||||||
|
|
||||||
# ss truncate command name to 15 characters and this behaviour
|
|
||||||
# cannot be disabled
|
|
||||||
if [ ${#process} -gt 15 ] ; then
|
|
||||||
process=${process:0:15}
|
|
||||||
fi
|
|
||||||
|
|
||||||
shift 1
|
shift 1
|
||||||
args=$@
|
args=$@
|
||||||
ports=${args// /|}
|
ports=${args// /|}
|
||||||
ss -lnp | awk '{print $5,"-",$7}' | egrep ":($ports)" | grep "$process"
|
pids=$(pgrep -d '|' -f $process)
|
||||||
|
ss -lnp | grep -qE ":($ports).*,pid=($pids),"
|
||||||
}
|
}
|
||||||
|
|
||||||
healthcheck_socket () {
|
healthcheck_socket () {
|
||||||
|
@ -48,9 +38,9 @@ healthcheck_socket () {
|
||||||
# lsof truncate command name to 15 characters and this behaviour
|
# lsof truncate command name to 15 characters and this behaviour
|
||||||
# cannot be disabled
|
# cannot be disabled
|
||||||
if [ ${#process} -gt 15 ] ; then
|
if [ ${#process} -gt 15 ] ; then
|
||||||
process=${process:0:15}
|
process=${process:0:15}
|
||||||
fi
|
fi
|
||||||
lsof -Fc -Ua $socket | grep "c$process"
|
lsof -Fc -Ua $socket | grep -q "c$process"
|
||||||
}
|
}
|
||||||
|
|
||||||
healthcheck_file_modification () {
|
healthcheck_file_modification () {
|
||||||
|
|
Loading…
Reference in New Issue