Skip to content

Instantly share code, notes, and snippets.

@sirupsen
Created August 1, 2014 15:02
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 sirupsen/7ebd15c7e2e7469ce0e1 to your computer and use it in GitHub Desktop.
Save sirupsen/7ebd15c7e2e7469ce0e1 to your computer and use it in GitHub Desktop.
BTRFS statsd monitor script
#!/bin/bash
TOTAL=$(sudo btrfs filesystem show /dev/mapper/lvroot-u | grep -oP '(?<=size )\d+\.\d+')
USED=$(sudo btrfs filesystem show /dev/mapper/lvroot-u | grep -oP '(?<=used )\d+\.\d+' | head -n1)
ALLOCATED=$(sudo btrfs filesystem show /dev/mapper/lvroot-u | grep -oP '(?<=used )\d+\.\d+' | tail -n1)
FREE=$(echo "$TOTAL - $USED" | bc)
echo -e -n "system.btrfs.total:$TOTAL|g" > /dev/udp/127.0.0.1/8125
echo -e -n "system.btrfs.used:$USED|g" > /dev/udp/127.0.0.1/8125
echo -e -n "system.btrfs.allocated:$USED|g" > /dev/udp/127.0.0.1/8125
echo -e -n "system.btrfs.free:$FREE|g" > /dev/udp/127.0.0.1/8125
DATA_TOTAL=$(sudo btrfs filesystem df /u | grep "Data, single" | grep -oP '(?<=total=)\d+\.\d+')
DATA_USED=$(sudo btrfs filesystem df /u | grep "Data, single" | grep -oP '(?<=used=)\d+\.\d+')
DATA_FREE=$(echo "$DATA_TOTAL - $DATA_USED" | bc)
echo -e -n "system.btrfs.data.total:$DATA_TOTAL|g" > /dev/udp/127.0.0.1/8125
echo -e -n "system.btrfs.data.used:$DATA_USED|g" > /dev/udp/127.0.0.1/8125
echo -e -n "system.btrfs.data.free:$DATA_FREE|g" > /dev/udp/127.0.0.1/8125
METADATA_TOTAL=$(sudo btrfs filesystem df /u | grep "Metadata, DUP" | grep -oP '(?<=total=)\d+\.\d+')
METADATA_USED=$(sudo btrfs filesystem df /u | grep "Metadata, DUP" | grep -oP '(?<=used=)\d+\.\d+')
METADATA_FREE=$(echo "$METADATA_TOTAL - $METADATA_USED" | bc)
echo -e -n "system.btrfs.metadata.total:$METADATA_TOTAL|g" > /dev/udp/127.0.0.1/8125
echo -e -n "system.btrfs.metadata.used:$METADATA_USED|g" > /dev/udp/127.0.0.1/8125
echo -e -n "system.btrfs.metadata.free:$METADATA_FREE|g" > /dev/udp/127.0.0.1/8125
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment