#!/bin/bash minutes=$1 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 ) echo $greeting echo "Starting gstat Collection" 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 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 -n " $i" # Wait for 60 seconds before the next iteration sleep 60 done cp *.csv /var/log DEBUGFILE=`midclt call system.debug_generate -job` && export DEBUGFILE curl --user customer:ixcustomer -T $DEBUGFILE ftp.ixsystems.com/debug-`hostname`-`date +%Y%m%d%H%M`.tgz