Skip to content

Instantly share code, notes, and snippets.

@gsxryan
Last active July 28, 2019 18:31
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save gsxryan/d23de042fce21e5a3d895005e1aeafa7 to your computer and use it in GitHub Desktop.
Save gsxryan/d23de042fce21e5a3d895005e1aeafa7 to your computer and use it in GitHub Desktop.
StorJ V3 Node Success Rates Calculation
#A StorJ node monitor script by turbostorjdsk / KernelPanick
#Node Success Rates
#count of unrecoverable failed audits
audit_failed_crit=$(sudo docker logs storagenode 2>&1 | grep GET_AUDIT | grep failed | grep open -c)
if [ $audit_failed_crit -ge 1 ]
then echo CRITICAL: Unrecoverable Failed Audits: $audit_failed_crit
fi
#count of recoverable failed audits`
audit_failed_warn=$(sudo docker logs storagenode 2>&1 | grep GET_AUDIT | grep failed | grep -v open -c)
if [ $audit_failed_warn -ge 1 ]
then echo WARNING: Recoverable Failed Audits: $audit_failed_warn
fi
#count of successful audits
audit_success=$(sudo docker logs storagenode 2>&1 | grep GET_AUDIT | grep downloaded -c)
#Ratio of Successful to Failed Audits
audit_ratio=$(printf '%.3f\n' $(echo "(($audit_success/($audit_failed_crit+$audit_failed_warn+$audit_success))*100)" | bc -l))
echo Audit Success Rate: $audit_ratio%
#Failed Downloads from your node
dl_failed=$(sudo docker logs storagenode 2>&1 | grep '"GET"' | grep failed -c)
#count of successful downloads
dl_success=$(sudo docker logs storagenode 2>&1 | grep '"GET"' | grep downloaded -c)
#Ratio of Failed Downloads
dl_ratio=$(printf '%.3f\n' $(echo "(($dl_success/($dl_failed+$dl_success))*100)" | bc -l))
echo Download Success Rate: $dl_ratio%
#count of failed uploads to your node
put_failed=$(sudo docker logs storagenode 2>&1 | grep '"PUT"' | grep failed -c)
#count of successful uploads to your node
put_success=$(sudo docker logs storagenode 2>&1 | grep '"PUT"' | grep uploaded -c)
#Ratio of Uploads
put_ratio=$(printf '%.3f\n' $(echo "(($put_success/($put_failed+$put_success))*100)" | bc -l))
echo Upload Success Rate: $put_ratio%
#count of failed downloads of pieces for repair process
get_repair_failed=$(sudo docker logs storagenode 2>&1 | grep GET_REPAIR | grep failed -c)
#count of successful downloads of pieces for repair process
get_repair_success=$(sudo docker logs storagenode 2>&1 | grep GET_REPAIR | grep downloaded -c)
#Ratio of GET_REPAIR
get_repair_ratio=$(printf '%.3f\n' $(echo "(($get_repair_success/($get_repair_failed+$get_repair_success))*100)" | bc -l))
echo Repair Download Success Rate: $get_repair_ratio%
#count of failed uploads repaired pieces
put_repair_failed=$(sudo docker logs storagenode 2>&1 | grep PUT_REPAIR | grep failed -c)
#count of successful uploads of repaired pieces
put_repair_success=$(sudo docker logs storagenode 2>&1 | grep PUT_REPAIR | grep uploaded -c)
#Ratio of PUT_REPAIR
put_repair_ratio=$(printf '%.3f\n' $(echo "(($put_repair_success/($put_repair_failed+$put_repair_success))*100)" | bc -l))
echo Repair Upload Success Rate: $put_repair_ratio%
#count of concurrent connection max
concurrent_limit=$(sudo docker logs storagenode 2>&1 | grep "upload rejected" -c)
echo $(date +'%s'), $audit_ratio, $dl_ratio, $put_ratio, $get_repair_ratio, $put_repair_ratio, $concurrent_limit >> SuccessRatio.log
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment