#!/bin/sh NAGIOS_CMD=/var/lib/nagios4/rw/nagios.cmd NAGIOS_HOST=${1:?host name required} NAGIOS_SERVICE=${2:-SNMP Trap} read trap_host read trap_transport trap_sender=$trap_transport case "$trap_transport" in *'['*']:'*) trap_sender=${trap_transport#*[} trap_sender=${trap_sender%%]*} ;; esac trap_oid=unknown while IFS= read -r line; do case "$line" in *snmpTrapOID.0*|*1.3.6.1.6.3.1.1.4.1.0*|*iso.3.6.1.6.3.1.1.4.1.0*) trap_oid=${line##* } ;; esac done now=$(date +%s) printf '[%s] PROCESS_SERVICE_CHECK_RESULT;%s;%s;1;WARNING - SNMP trap %s from %s\n' \ "$now" "$NAGIOS_HOST" "$NAGIOS_SERVICE" "$trap_oid" "$trap_sender" > "$NAGIOS_CMD"