mirror of
https://github.com/librenms/librenms-agent.git
synced 2024-05-09 09:54:52 +00:00
app-dhcp-stats snmp extend
This commit is contained in:
33
snmp/dhcp-status.sh
Executable file
33
snmp/dhcp-status.sh
Executable file
@@ -0,0 +1,33 @@
|
||||
#!/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
|
||||
Reference in New Issue
Block a user