09 октября 2023 Linux ubuntu 22.04 haproxy rsyslog logging


Недавно обнаружил, что современные на 2023 года Ubuntu не логируют работу Haproxy. Оказывается в них отсутствует и не настроен rsyslog

проверить можно вот так

apt-cache policy rsyslog

установить вот так

sudo apt-get install rsyslog

Затем необходимо настроить его для работы на 514 пору, для этого необходимо раскоментировать следующие настройки

egrep 'im(tcp|udp)' /etc/rsyslog.conf
module(load="imudp")
input(type="imudp" port="514")
module(load="imtcp")
input(type="imtcp" port="514")

и перезапустить

service rsyslog restart

Затем проверить в /etc/haproxy/haproxy.cfg глобальную настройку
 

global
        log 127.0.0.1:514 local0

defaults
        log     global

и перезапустить haproxy

haproxy -c -V -f /etc/haproxy/haproxy.cfg && service haproxy reload

А так же подумать на счёт переноса haproxy  в отдельный контейнер


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 }