> server_address=192.168.20.147
заявляем, что наш айпи 192.168.20.147
> allowed_hosts=127.0.0.1,192.168.20.147
заявляем, что к нам стучаться можно _только_ от нас самих, после чего
> # /usr/local/nagios/libexec/check_nrpe -H 192.168.20.128 -c check_local_users
мы опрашиваем совсем другой компьютер, 192.168.20.128
Вывод: ты не понимаешь, кто тут сервер, а кто клиент

Сервер - тот, кто отдаёт информацию о состоянии. Клиент - тот, кто коннектится к серверу и делает запрос, получает ответ от сервера. НА машине 192.168.20.128 поставь NRPE server, плагины, настрой разрешение доступа с клиента (192.168.20.147 как я понимаю).
С виндой я справился путём прикручивания win-сборки NRPE_NT 0.8b. Работает, только при завершении работы часто крашится, что не мешает.
Для перезапуска можно использовать автономную утилиту мониторинга monit, либо нагиос после включения check_external_commands, либо просто созданием в конфиге команды по типу check_local_users, только запускающей не проверку, а нужный сервис (с уходом в фоновый режим, для линуксов лучше с nohup) и вызовом её при обнаружении сбоя. Оповещения настраиваются отдельно, смотри конфиги.