29 августа 2023 Bash awk haproxy
Задача, выделить из логов haproxy статусы запросов, бакенды обработчиков и урлы запросов, так же выводить количество счётчик статусов запросов
tail -f /var/log/haproxy-traffic.log |awk -F' ' '{if (NF == 20) print $11,'\t', ++count[$11],'\t', $9, $19 }'
Программа awk состоит из условия и инкремента счётчика
if (NF == 20) print $11,'\t', ++count[$11],'\t', $9, $19 }
здесь отбираются строки состоящие из 20 слов, выводится status_code запроса, а так же результат инкремента счётчика статусов
подобным образом можно организовать подсчёт количества обращений к бакенду и ссылкам
if (NF == 20) print $11,'\t', ++count[$11],'\t',++count[$19],'\t', $9, ++count[$19],'\t', $19 }