Глава 33. Логирование¶
Действия логирования управляют записью информации о транзакциях в access log.
Статус реализации. Реально работают
label()иnotlog. Действияlog(),access_log(<имя>)(выбор именованного лога),log.rewrite(),log.suppress()сейчас принимаются, но не применяются (молча ничего не делают) — это в планах.
33.1. log(yes/no) — включить/выключить лог¶
Управляет записью текущей транзакции в access log.
Синтаксис:
where: yes — записать транзакцию в access log; no — пропустить запись.
Тип: Нетерминальное.
Слои и транзакции: Proxy, Admin. Применяется к HTTP-транзакциям.
Пример:
См. также: access_log, label
33.2. access_log(name) — файл лога¶
Направляет запись транзакции в конкретный именованный лог. Позволяет разделять логи по назначению (аудит, безопасность, отладка).
Синтаксис:
where: name — имя лога, определённое в конфигурации прокси.
Тип: Нетерминальное.
Слои и транзакции: Proxy.
Пример:
См. также: log(yes/no)
33.3. label=name — метка правила¶
Присваивает метку совпавшему правилу для идентификации в логах и отчётах. Метка записывается в поле label access log.
Синтаксис:
where: name — строковая метка.
Тип: Нетерминальное.
Слои и транзакции: Proxy, Admin.
Пример:
<Proxy>
category=Gambling label(gambling_block) deny
category="Social Networking" label(social_block) deny
См. также: log.rewrite
33.4. log.rewrite.field=value — перезапись полей лога¶
Перезаписывает значение указанного поля в записи access log. Поддерживает шаблонные переменные $(...).
Синтаксис:
where: field — имя поля лога (буквы, цифры, _); value — новое значение (строка, может содержать $(...) шаблоны).
Тип: Нетерминальное.
Слои и транзакции: Proxy.
Пример:
<Proxy>
log.rewrite.user="anonymized"
log.rewrite.category="custom_label"
log.rewrite.reason="$(url.host) blocked"
См. также: log.suppress
33.5. log.suppress.field(yes|no) — подавление полей лога¶
Управляет подавлением указанного поля в access log:
- log.suppress.<field>(yes) — подавить поле (исключить из лога; анонимизация).
- log.suppress.<field>(no) — подавление выключено для поля.
Голое log.suppress.<field> принимается как сокращение для (yes).
Синтаксис:
where: field — имя поля лога (буквы, цифры, _).
Тип: Нетерминальное. (no) не подавляет поле.
Слои и транзакции: <Proxy>.
Пример:
<Proxy>
log.suppress.user(yes)
log.suppress.client_address ; = (yes)
category=Healthcare log.suppress.uri(yes)
Соответствие BlueCoat 7.3:
yesподавляет field_id,noвыключает подавление. Не поддержано (при использовании — отказ): форма со списком логовlog.suppress.field_id[log1,log2](yes|no)и quoted-поля со скобками (log.suppress."cs(User-agent)"). Поддержана простая формаlog.suppress.<field>(yes|no).
См. также: log.rewrite
Комплексный пример:
<Proxy>
category=Gambling label(gambling_block) log(yes) deny
category="Social Networking" label(social_block) log(yes) deny
url.path=/admin label(admin_access) log(yes) access_log(audit_log)
log.suppress.user allow