Files
statscollect/collect.sh
Marc Mance 7254666f2b updated
2024-07-11 12:46:10 -04:00

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