Я играю с сервисом snmpd.После прочтения руководств snmpd.conf и snmpd.examples я создал следующую конфигурацию файла
file:agentAddress udp:161
rocommunity public
rwcommunity private
trapcommunity trapComm
createUser user
iquerySecName user
agentSecName user
rouser user
trap2sink localhost
proc apache2
procfix apache2 /bin/systemctl start apache2.service
setEvent fixProc prErrFix = 1
monitor -r 10 -e fixProc "fixMyProc" prErrorFlag != 0
Моя цель состояла в том, чтобы перезапустить apache2, как только процесс apache2 не существует.Но после остановки службы apache2 и небольшого ожидания переменная prErrFix не изменяется, как я ожидал:
# snmpwalk -v2c -cpublic localhost 1.3.6.1.4.1.2021.2
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1
UCD-SNMP-MIB::prNames.1 = STRING: apache2
UCD-SNMP-MIB::prMin.1 = INTEGER: 1
UCD-SNMP-MIB::prMax.1 = INTEGER: 0
UCD-SNMP-MIB::prCount.1 = INTEGER: 0
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: error(1)
UCD-SNMP-MIB::prErrMessage.1 = STRING: No apache2 process running
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /bin/systemctl start apache2.service
Что я здесь пропустил?Я использую snmpd 5.7.3 на debian9.