Add new service "file_tracker"

This new service periodically tracks the file open in the system.

Closes-Bug: #1995502
Change-Id: I02e097fef07655ff571af9f35bf258b2ed975098
This commit is contained in:
Rodolfo Alonso Hernandez 2022-11-02 16:43:41 +01:00
parent 1f5d6c0abb
commit d1c2bf5e7c
4 changed files with 63 additions and 0 deletions

View File

@ -469,6 +469,7 @@
dstat: false dstat: false
etcd3: true etcd3: true
memory_tracker: true memory_tracker: true
file_tracker: true
mysql: true mysql: true
rabbit: true rabbit: true
group-vars: group-vars:
@ -477,6 +478,7 @@
# Shared services # Shared services
dstat: false dstat: false
memory_tracker: true memory_tracker: true
file_tracker: true
devstack_localrc: devstack_localrc:
# Multinode specific settings # Multinode specific settings
HOST_IP: "{{ hostvars[inventory_hostname]['nodepool']['private_ipv4'] }}" HOST_IP: "{{ hostvars[inventory_hostname]['nodepool']['private_ipv4'] }}"
@ -544,6 +546,7 @@
dstat: false dstat: false
etcd3: true etcd3: true
memory_tracker: true memory_tracker: true
file_tracker: true
mysql: true mysql: true
rabbit: true rabbit: true
tls-proxy: true tls-proxy: true
@ -593,6 +596,7 @@
# Shared services # Shared services
dstat: false dstat: false
memory_tracker: true memory_tracker: true
file_tracker: true
tls-proxy: true tls-proxy: true
# Nova services # Nova services
n-cpu: true n-cpu: true

View File

@ -20,6 +20,12 @@ provides consumption output when available memory is seen to be
falling (i.e. processes are consuming memory). It also provides falling (i.e. processes are consuming memory). It also provides
output showing locked (unswappable) memory. output showing locked (unswappable) memory.
file_tracker
------------
The ``file_tracker`` service periodically monitors the number of
open files in the system.
tcpdump tcpdump
------- -------

View File

@ -40,12 +40,18 @@ function start_dstat {
if is_service_enabled peakmem_tracker; then if is_service_enabled peakmem_tracker; then
die $LINENO "The peakmem_tracker service has been removed, use memory_tracker instead" die $LINENO "The peakmem_tracker service has been removed, use memory_tracker instead"
fi fi
# To enable file_tracker add:
# enable_service file_tracker
# to your localrc
run_process file_tracker "$TOP_DIR/tools/file_tracker.sh"
} }
# stop_dstat() stop dstat process # stop_dstat() stop dstat process
function stop_dstat { function stop_dstat {
stop_process dstat stop_process dstat
stop_process memory_tracker stop_process memory_tracker
stop_process file_tracker
} }
# Restore xtrace # Restore xtrace

47
tools/file_tracker.sh Executable file
View File

@ -0,0 +1,47 @@
#!/bin/bash
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
set -o errexit
# time to sleep between checks
SLEEP_TIME=20
function tracker {
echo "Number of open files | Number of open files not in use | Maximum number of files allowed to be opened"
while true; do
cat /proc/sys/fs/file-nr
sleep $SLEEP_TIME
done
}
function usage {
echo "Usage: $0 [-x] [-s N]" 1>&2
exit 1
}
while getopts ":s:x" opt; do
case $opt in
s)
SLEEP_TIME=$OPTARG
;;
x)
set -o xtrace
;;
*)
usage
;;
esac
done
tracker