English

Прототипы SQL-выражений и SYSLOG сообщений Qbalance


Внутри LOG или SQL выражения можно использовать макросы:
    %% -> %
    %" -> "
    %a - название хоста клиента
    %b - IP адрес хоста клиента
    %c - порт хоста клиента ( десятичная цифра)
    %d - название входящего хоста
    %e - IP адреса входящего хоста
    %f - порт входящего хоста  ( десятичная цифра)
    %g - название исходящего хоста 
    %h - IP адреса исходящего хоста
    %i - порт исходящего хоста  ( десятичная цифра)
    %j - название сервера
    %k - IP адрес сервера
    %l - порт сервера ( десятичная цифра)
    
    %T - current timestamp, as returned by time(NULL)
    %t - current time in format "YYYY-MM-DD HH:MM:SS"
    %P - PID of current process

    %s - start time in format "YYYY-MM-DD HH:MM:SS"
    %S - start timestamp

    %H - имя хоста (без домена) как его сообщает команда "hostname"
    %M - домен (без имени хоста) как его сообщает команда "hostname"
    
Для выражения о разрыве соединения имееют смысл макросы:
    %I - in bytes (from client)
    %O - out bytes (from client)
    %D - duration (in seconds )
    %r - код причина разрыва соединения
    %R - строка - причина разрыва соединения
         (0) unknown  - причина не известна
	 (1) timeout  - таймаут 
	 (2) client   - клиент закрыл сокет
	 (3) clnrderr - ошибка чтения от клиента
	 (4) clnwrerr - ошибка записи к клиенту
	 (5) server   - сервер закрыл сокет
	 (6) srvrderr - ошибка чтения от сервера
	 (7) srvwrerr - ошибка записи к серверу
	 (8) signal   - получен сигнал 

    
Строковые макросы разворачиваются без обрамляющих кавычек.
Внутри выражения можно использовать одинарные кавычки.
Общий размер LOG & SQL выражения не должен превышать 2048 символов. Общий размер преобразованного(после подстановки макросов) выражения не должен превышать 8192 символов. Иначе он будет обрезан до 8192 символов.

Примеры

	group logstart 5555 "connect from %a[%b]:%c to %j[%k]:%l"
	group logstop 5555 "disconnect %a[%b]:%c from %j[%k]:%l in=%I out=%O duration=%D"	
    
	group logdbstart 5556 "INSERT INTO sessions VALUES ( '%S %H %P','%t',NULL, '%b','%c', '%k', '%l',0,0,'');"
	group logdbstop 5556 "UPDATE sessions SET t_stop='%t', bytesIN=%I, bytesOUT=%O, duration=%D where sessionID='%S %H %P';"
    

© Виктор Фомичев

Last change:
Hosted by uCoz