Skip to content

Commit c6aab30

Browse files
committed
add snmp_oid_collect
1 parent 5386ea4 commit c6aab30

File tree

2 files changed

+33
-0
lines changed

2 files changed

+33
-0
lines changed

snmp_oid_collect.sh

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#!/bin/bash
2+
#J.P. Pasnak, CD - 14/02/2014
3+
#This script does a bulkwalk of a snmp table
4+
#and turns the output into a key-value pair, suitable for ingestion into Splunk
5+
COMMUNITY="......."
6+
DIR_PATH="/"
7+
PARSE="table.awk"
8+
HOSTS="host1 host2"
9+
OIDS="ifTable"
10+
for HOST_ID in $HOSTS
11+
do
12+
mkdir -p $DIR_PATH/$HOST_ID
13+
for OID in $OIDS
14+
do
15+
DATE=`date +%Y-%m-%dT%T%:z`;DPATH=`date +%Y%m%d`;STAMP="$DATE $HOST_ID $OID"
16+
snmpbulkwalk -m ALL -v2c -c$COMMUNITY $HOST_ID -OUQs $OID |
17+
sed 's/\.0//g'|
18+
sed 's/ = /=/g'|
19+
xargs echo $DATE $HOST_ID $OID >> $DIR_PATH/$HOST_ID/$OID-$DPATH.log
20+
done
21+
done

table.awk

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
awk -F, '
2+
NR == 1 {
3+
gsub ( " ", X )
4+
split ( $0, H, "," )
5+
}
6+
NR > 1 {
7+
printf "DATETIME "
8+
for ( i = 1; i <= NF; i++ )
9+
printf H[i] "=" $i " "
10+
printf "\n"
11+
}
12+
' OFS==

0 commit comments

Comments
 (0)