Мы будем мониторить активность пользователя (залогинен/разлогинен), использующего VPN подключение (Anyconnect, либо IPSec endpoint VPN) на Cisco ASA. Мониторинг будет производиться используя внешний bash-скрипт.
Сразу оговорюсь, если у вас есть возможность (а она, обычно, есть) используйте snmp traping. То что будет описано ниже — это последствие не самой удобной ситуации.

Скрипт принимает от 3-х до 4-х параметров: 1 — IP адрес ASA; 2 — community string; 3 — режим работы (discover, либо check); 4 — имя пользователя, статус которого необходимо вернуть (если выбран режим работы check). Блок схема описывает весь процесс работы скрипта, кроме сбора активных пользователей по SNMP с ASA. Его сейчас разберём детально, потому что там дикий однострочник: