Ответы пользователя по тегу Мониторинг
  • Как отследить, спарсить, визуально мониторить подключившихся пользователей по OpenVPN?

    hugeous
    @hugeous
    Системный администратор
    Привет хабровчане.
    Использую у себя такой скрипт на проде:
    #!/bin/sh
    
    export INDEXTXT=/etc/openvpn/easyrsa3/easyrsa3/pki/index.txt
    export LOGFILE=/var/log/openvpn.log
    echo -e "\nOpenVPN users last connection mac/ip list tool\n"
    validusers=$(grep -E "V{символ табуляции}" $INDEXTXT|cut -d'=' -f2)
    #echo Users last mac/ip addresses:
    echo LastLogin Timestamp        /       User    /       mac     /       ip
    for usr in ${validusers}
        do
        if [ $(grep -E "MULTI: Learn:" $LOGFILE|grep "$usr"|tail -1|wc -l) -gt 0 ]
            then
            echo $(grep -E "MULTI: Learn:" $LOGFILE|grep "$usr"|tail -1|cut -c 1-24)    /       $usr    /       $(grep -E "MULTI: Learn:" $LOGFILE|grep "$usr"|tail -1|cut -d':' -f6-11|cut -c 2-18)    /       $(grep -E "MULTI: Learn:" $LOGFILE|grep "$usr"|tail -1|cut -d'/' -f3|cut -d':' -f1)
        fi
    done

    Стоит обратить внимание на символ табуляции в команде выборки валидных пользователей.
    5ecfab7c94f53371987570.jpeg
    Принцип работы:
    Парсинг файла БД сертификатов openssl - index.txt, выборка валидных пользователей.
    Цикл с проходом по списку валидных пользователей, и парсинга лог-файла openvpn.log
    Выхлоп скрипта примерно следующий:
    5ecfacd8224ea870716817.jpeg
    Ответ написан
    2 комментария