Skip to content

Instantly share code, notes, and snippets.

@bpodgursky
Created May 26, 2019 06:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bpodgursky/4c825bc481614a77e3328d232c40eda1 to your computer and use it in GitHub Desktop.
Save bpodgursky/4c825bc481614a77e3328d232c40eda1 to your computer and use it in GitHub Desktop.
#!/bin/bash
mkdir -p /var/log/process-monitoring
IOTOP_PROCS="$(iotop -qqq -k -b -o -a -n 2 -d 5 --time | sort -r -n -k 2,2 -k 1,1 | awk '{if ($2 != pid) {pid=$2; print $0}}')"
echo -e "\n\n$(date)" >> /var/log/process-monitoring/disk_writes.out
echo "$IOTOP_PROCS" | sort -n -k 7 >> /var/log/process-monitoring/disk_writes.out
echo -e "\n\n$(date)" >> /var/log/process-monitoring/disk_reads.out
echo "$IOTOP_PROCS" | sort -n -k 5 >> /var/log/process-monitoring/disk_reads.out
echo -e "\n\n$(date)" >> /var/log/process-monitoring/cpu_usage.out
ps aux | awk '{if($3 != "0.0") print $0}' | sort -k3 -n >> /var/log/process-monitoring/cpu_usage.out
echo -e "\n\n$(date)" >> /var/log/process-monitoring/memory_usage.out
ps aux | awk '{if($4 != "0.0") print $0}' | sort -k4 -n >> /var/log/process-monitoring/memory_usage.out
echo -e "\n\n$(date)" >> /var/log/process-monitoring/iostat.out
iostat -y -x 10 1 >> /var/log/process-monitoring/iostat.out
echo -e "\n\n$(date)" >> /var/log/process-monitoring/network_usage.out
sar -n DEV 5 1 >> /var/log/process-monitoring/network_usage.out
echo -e "\n\n$(date)" >> /var/log/process-monitoring/process_tree.out
ps auxf >> /var/log/process-monitoring/process_tree.out
echo -e "\n\n$(date)" >> /var/log/process-monitoring/disk_usage.out
df -h >> /var/log/process-monitoring/disk_usage.out
echo -e "\n\n$(date)" >> /var/log/process-monitoring/tmp_files.out
ls -la /tmp >> /var/log/process-monitoring/tmp_files.out
LSOF="$(lsof | grep -v '.*.jar$')"
DIRS=$(find / -maxdepth 1 | grep -E "\/data[0-9]+")
echo -e "\n\n$(date)" >> /var/log/process-monitoring/per_disk_writes.out
while read -r D; do
echo -e "\n$D\n" >> /var/log/process-monitoring/per_disk_writes.out
echo "$LSOF" | grep -e "$D\/" >> /var/log/process-monitoring/per_disk_writes.out
done <<< "$DIRS"
echo -e "\n/var/log/\n" >> /var/log/process-monitoring/per_disk_writes.out
echo "$LSOF" | awk '{if($9 ~ "^/var/log") print $0}' >> /var/log/process-monitoring/per_disk_writes.out
echo -e "\n/tmp\n" >> /var/log/process-monitoring/per_disk_writes.out
echo "$LSOF" | awk '{if($9 ~ "^/tmp") print $0}' >> /var/log/process-monitoring/per_disk_writes.out
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment