45 lines
1.2 KiB
Bash
Executable File
45 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
minutes=$1
|
|
|
|
echo "THIS SCRIPT IS FOR FREEBSD."
|
|
echo ""
|
|
echo "This script will scrape:"
|
|
echo "------------------------"
|
|
echo "- Network Interfaces via ifstat"
|
|
echo "- CPU/Memory via top"
|
|
echo "- Disk Stats via gstat"
|
|
echo "- ZFS Pool vai zpool iostat"
|
|
echo ""
|
|
echo "------------------------"
|
|
echo "./collect.sh 60 - will collect for 60 minutes."
|
|
echo "------------------------"
|
|
echo ""
|
|
echo "This script will auto uploaded data to ftp.ixsystems.com when completed."
|
|
echo "It will also copy the '*.csv' files to /var/log"
|
|
echo "Airgapped systems will need to upload the '*.csv' and/or take a debug."
|
|
echo ""
|
|
echo "If you run this script multiple times, it will append to the CSVs"
|
|
echo ""
|
|
echo "Starting ['gstat','iostat','zpool','cpu','nic'] Collection"
|
|
echo ""
|
|
echo -n "START MINUTE COUNT:"
|
|
|
|
|
|
timeout ${minutes}m gstat -C -s -d -o -p -I 5s >> gstat.csv &
|
|
|
|
for (( i=1; i<=$minutes; i++ )); do
|
|
|
|
python3 zpooliostat.py
|
|
python3 iostat.py
|
|
python3 topstat.py
|
|
python3 ifstat.py
|
|
|
|
echo -n " $i"
|
|
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
|