diff --git a/collect.sh b/collect.sh index 05ce08f..6c0a514 100755 --- a/collect.sh +++ b/collect.sh @@ -2,33 +2,41 @@ minutes=$1 -echo "" -echo "THIS SCRIPT IS FOR *FREEBSD* ONLY" -echo "" -greeting="Running perfcollect for $minutes minutes" -echo "$greeting" -echo "Will auto upload to ftp.ixsystem.com when completed." -echo "Airgapped Systems will need to exfiltrate *.csv" -echo "" +greeting=$(cat << EOF +.THIS SCRIPT IS FOR FREEBSD.\n\n +This script will scrape:\n +------------------------\n +- Network Interfaces via ifstat\n +- CPU/Memory via top\n +- Disk Stats via gstat\n +- ZFS Pool vai zpool iostat\n\n +Output will be a series of csv files.\n\n +------------------------\n +./collect.sh 60 - will collect for 60 minutes.\n +------------------------\n\n +This script will auto uploaded data to ftp.ixsystems.com when completed.\n +It will also copy the '*.csv' files to /var/log\n +Airgapped systems will need to upload the '*.csv' and/or take a debug.\n +EOF + ) -iterations=$1 +echo $greeting echo "Starting gstat Collection" -timeout "$minutes"m gstat -C -s -d -o -p -I 60s > gstat.csv & - echo "Starting iostat Collection" echo "Starting zpool iostat Collection" echo "Starting cpu Collection" echo "Starting nic Collection" +echo -n "minute:" +for (( i=1; i<=$minutes; i++ )); do -for (( i=1; i<=$iterations; i++ )); do - # Execute the command + timeout 2s gstat -C -s -d -o -p -I 60s >> gstat.csv & python3 zpooliostat.py python3 iostat.py python3 topstat.py python3 ifstat.py -echo "minute: $i" +echo -n " $i" # Wait for 60 seconds before the next iteration sleep 60 done