Run a customerized script via snmp
Edit me

Run Script with SNMP

=====

Create Script on target host

$ sudo cat /root/os_info.sh
#!/bin/bash

cat /etc/os-release  | awk -F'=' '/^NAME/{print $2}' | sed -e 's/"//g'

$ sudo chmod 755 /root_info.sh

Add script in SNMP config

# cat << EOF >> /etc/snmp/snmpd.conf
extend  osname  /root/os_info.sh
EOF

# systemctl restart snmpd

Retrieve result via snmpwalk/snmpget

$ snmpwalk -v 2c -c ro_community demo.example.net NET-SNMP-EXTEND-MIB::nsExtendObjects
NET-SNMP-EXTEND-MIB::nsExtendNumEntries.0 = INTEGER: 1
NET-SNMP-EXTEND-MIB::nsExtendCommand."osname" = STRING: /root/os_info.sh
NET-SNMP-EXTEND-MIB::nsExtendArgs."osname" = STRING:
NET-SNMP-EXTEND-MIB::nsExtendInput."osname" = STRING:
NET-SNMP-EXTEND-MIB::nsExtendCacheTime."osname" = INTEGER: 5
NET-SNMP-EXTEND-MIB::nsExtendExecType."osname" = INTEGER: exec(1)
NET-SNMP-EXTEND-MIB::nsExtendRunType."osname" = INTEGER: run-on-read(1)
NET-SNMP-EXTEND-MIB::nsExtendStorage."osname" = INTEGER: permanent(4)
NET-SNMP-EXTEND-MIB::nsExtendStatus."osname" = INTEGER: active(1)
NET-SNMP-EXTEND-MIB::nsExtendOutput1Line."osname" = STRING: CentOS Linux
NET-SNMP-EXTEND-MIB::nsExtendOutputFull."osname" = STRING: CentOS Linux
NET-SNMP-EXTEND-MIB::nsExtendOutNumLines."osname" = INTEGER: 1
NET-SNMP-EXTEND-MIB::nsExtendResult."osname" = INTEGER: 0
NET-SNMP-EXTEND-MIB::nsExtendOutLine."osname".1 = STRING: CentOS Linux

$ snmpget -v 2c -c fwnetm0n bjoops03.dev.fwmrm.net NET-SNMP-EXTEND-MIB::nsExtendOutLine.\"osname\".1
NET-SNMP-EXTEND-MIB::nsExtendOutLine."osname".1 = STRING: CentOS Linux
Tags: misc