mirror of
https://github.com/librenms/librenms-agent.git
synced 2024-05-09 09:54:52 +00:00
34 lines
2.2 KiB
Bash
Executable File
34 lines
2.2 KiB
Bash
Executable File
#!/bin/bash
|
|
################################################################
|
|
# copy this script to somewhere like /opt and make chmod +x it #
|
|
# edit your snmpd.conf add the below line and restart snmpd #
|
|
# extend dhcpstats /opt/dhcp-status.sh #
|
|
################################################################
|
|
FILE_DHCP='/var/lib/dhcp/db/dhcpd.leases'
|
|
BIN_CAT='/usr/bin/cat'
|
|
BIN_GREP='/usr/bin/grep'
|
|
BIN_TR='/usr/bin/tr'
|
|
BIN_SED='/usr/bin/sed'
|
|
BIN_SORT='/usr/bin/sort'
|
|
BIN_WC='/usr/bin/wc'
|
|
DHCP_LEASES='^lease'
|
|
DHCP_ACTIVE='^lease|binding state active'
|
|
DHCP_EXPIRED='^lease|binding state expired'
|
|
DHCP_RELEASED='^lease|binding state released'
|
|
DHCP_ABANDONED='^lease|binding state abandoned'
|
|
DHCP_RESET='^lease|binding state reset'
|
|
DHCP_BOOTP='^lease|binding state bootp'
|
|
DHCP_BACKUP='^lease|binding state backup'
|
|
DHCP_FREE='^lease|binding state free'
|
|
NO_ERROR='[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} binding'
|
|
|
|
$BIN_CAT $FILE_DHCP | $BIN_GREP $DHCP_LEASES | $BIN_SORT -u | $BIN_WC -l
|
|
$BIN_GREP -E "$DHCP_ACTIVE" $FILE_DHCP | $BIN_TR '\n' '|' | $BIN_SED 's/ {| //g' | $BIN_TR '|' '\n' | $BIN_GREP -E "$NO_ERROR" | $BIN_SORT -u | $BIN_WC -l
|
|
$BIN_GREP -E "$DHCP_EXPIRED" $FILE_DHCP | $BIN_TR '\n' '|' | $BIN_SED 's/ {| //g' | $BIN_TR '|' '\n' | $BIN_GREP -E "$NO_ERROR" | $BIN_SORT -u | $BIN_WC -l
|
|
$BIN_GREP -E "$DHCP_RELEASED" $FILE_DHCP | $BIN_TR '\n' '|' | $BIN_SED 's/ {| //g' | $BIN_TR '|' '\n' | $BIN_GREP -E "$NO_ERROR" | $BIN_SORT -u | $BIN_WC -l
|
|
$BIN_GREP -E "$DHCP_ABANDONED" $FILE_DHCP | $BIN_TR '\n' '|' | $BIN_SED 's/ {| //g' | $BIN_TR '|' '\n' | $BIN_GREP -E "$NO_ERROR" | $BIN_SORT -u | $BIN_WC -l
|
|
$BIN_GREP -E "$DHCP_RESET" $FILE_DHCP | $BIN_TR '\n' '|' | $BIN_SED 's/ {| //g' | $BIN_TR '|' '\n' | $BIN_GREP -E "$NO_ERROR" | $BIN_SORT -u | $BIN_WC -l
|
|
$BIN_GREP -E "$DHCP_BOOTP" $FILE_DHCP | $BIN_TR '\n' '|' | $BIN_SED 's/ {| //g' | $BIN_TR '|' '\n' | $BIN_GREP -E "$NO_ERROR" | $BIN_SORT -u | $BIN_WC -l
|
|
$BIN_GREP -E "$DHCP_BACKUP" $FILE_DHCP | $BIN_TR '\n' '|' | $BIN_SED 's/ {| //g' | $BIN_TR '|' '\n' | $BIN_GREP -E "$NO_ERROR" | $BIN_SORT -u | $BIN_WC -l
|
|
$BIN_GREP -E "$DHCP_FREE" $FILE_DHCP | $BIN_TR '\n' '|' | $BIN_SED 's/ {| //g' | $BIN_TR '|' '\n' | $BIN_GREP -E "$NO_ERROR" | $BIN_SORT -u | $BIN_WC -l
|