Свободный формат Apache [предупреждение]: шаблон не соответствует:
В моем /etc/fluent/fluent.conf
@type tail формат apache2 путь /var/log/apache2/other_vhosts_access.log тег apache2.access
Ошибка / предупреждение: 2016-02-11 00:59:10 +0100 [предупреждение]: шаблон не соответствует: "mybebsite.dz:443 105.101.114.234 - - [11 / Feb / 2016: 00: 59: 10 +0100] \ "POST / __es / _all / _search HTTP / 1.1 \" 200 794 \ " https://mywebsite.net/\" \ "Mozilla / 5.0 (Windows NT 6.1; WOW64; rv: 43.0) Gecko / 20100101 Firefox / 43.0 \ ""
Почему этот паттерн не подходит? Лучший.
2 ответа
Я сталкиваюсь с предупреждением: шаблон не совпадает в fluentd, и из-за этого мой раздел фильтра не работал. А потом я серьезно отнесся к этому предупреждению и решил это, создав регулярное выражение. Итак, мой td-agent.conf выглядит следующим образом:
<source>
@type tail
format **/^([^ ]*) (?<host>[^ ]*) [^ ]* "(?<method>\S+) (?<path>[^ ]* +\S*)? (?<code>[^ ]*) (?<size>[^ ]*) (?: "(?<referer>[^\"]*)" "(?<agent>[^\"]*)")?/**
path /var/log/apache2/access.log
pos_file /var/log/td-agent/httpd.access.pos
tag s3.apache.access
</source>
<filter **>
@type grep
<regexp>
key path
pattern \/aws\/project_launch\/view\/[\w\W]*
</regexp>
</filter>
<match **>
@type s3
aws_key_id xxxxxx
aws_sec_key xxxxxx
s3_bucket bucketalifluentd
s3_region eu-west-1
path logs_viewshare/
buffer_path /var/log/td-agent/buffer/s3
time_slice_format %Y-%m-%d/%H
time_slice_wait 2m
</match>
Обратите внимание, что журналы apache2 могут отличаться для вас, потому что вы сделали другую конфигурацию в apache2.conf. Вы можете использовать рубуляр
для создания регулярных выражений в ruby, потому что fluentd / td-agent был написан на ruby. После этого вы можете просмотреть буфер, который собрал ваши логи в каталоге /var/log/td-agent/buffer/s3.xxx
Похоже, что плагин хвоста не поддерживает формат для журнала журнала Apache "vhost_combined", но "комбинированный".
Как насчет изменения файла конфигурации apache следующим образом:
/etc/apache2/conf-available/other-vhosts-access-log.conf
До:CustomLog ${APACHE_LOG_DIR}/other_vhosts_access.log vhost_combined
(изменить vhost_combined на комбинированный)
После:CustomLog ${APACHE_LOG_DIR}/other_vhosts_access.log combined