Почему apache записывает два вывода журнала доступа на запрос?

В настоящее время мы запускаем сайт apache2 / mod-php на докере, развернутый в google kubernetes. Чтобы использовать фильтрацию уровня серьезности ведения журнала в облаке Google, я создал LogFormat в нашем apache.conf, который записывает выходные данные журналов в виде структурированного JSON. Теперь я вижу в наших журналах два вывода журнала доступа. 1 - это правильно отформатированный CustomLog, а другой - какой-то журнал доступа по умолчанию.

Вот apache conf:

  1 LogLevel info
  2 
  3 LogFormat "{\"message\": \"%{X-Forwarded-For}i %l %u %t '%r' %>s %b '%{Referer}i' '%{User-Agent}i'\", \"severity\": \"INFO\"}" common
  4 CustomLog /dev/stderr common
  5 
  6 
  7 ErrorLogFormat "{\"message\": \"[%t] [%l] [pid %P] %F: %E: [client %a] %M\", \"severity\": \"ERROR\"}"
  8 ErrorLog /dev/stderr
  9 
 10 <VirtualHost *:80>
 11   ServerName myhost.com
 12   ServerAlias myhost.com
 13   DocumentRoot /var/www/html/public/
 14 
 15   <Directory />
 16     AllowOverride All
 17     Order allow,deny
 18     Allow from all
 19 
 20     RewriteEngine on
 21     RewriteCond %{REQUEST_FILENAME} !-d
 22     RewriteCond %{REQUEST_FILENAME} !-f
 23     RewriteRule ^(.*)$ index.php?%{QUERY_STRING} [L]
 24   </Directory>
 25 
 26   <Directory ~ "\.svn">
 27     Order allow,deny
 28     Deny from all
 29   </Directory>
 30 
 31   <Directory ~ "\.git">
 32     Order allow,deny
 33     Deny from all
 34   </Directory>
 35 
 36   RemoteIPHeader X-Forwarded-For
 37   RemoteIPTrustedProxy 10.0.0.0/24
 38 
 39 </VirtualHost>

Мои журналы ошибок и информационные журналы правильно отображаются в облачном хранилище Google. Однако я продолжаю видеть другие записи журнала доступа.

Примеры:

Этот журнал не должен отображаться

::1 - - [13/May/2016:23:32:06 +0000] "GET /server-status?auto HTTP/1.1" 404 2970 "-" "Sysdig Agent/1.0"

Этот журнал должен отображаться

{"message": "- - - [13/May/2016:23:32:06 +0000] 'GET /server-status?auto HTTP/1.1' 404 2720 '-' 'Sysdig Agent/1.0'", "severity": "INFO"}

Я пробовал несколько различных конфигураций, и ни одна из них, похоже, не помогает эта проблема.

debconf-set-selections <<< 'mysql-server mysql-server/root_password password password'
debconf-set-selections <<< 'mysql-server mysql-server/root_password_again password verify_password'
apt-get -y install mysql-server
  • Есть ли для этого правило?
  • Как мы обнаруживаем имена / дескрипторы подсказок для других пакетов, которые вызывают интерфейс консоли, чтобы предотвратить их?
  • Придется ли нам копаться в исходном коде, чтобы выяснить, как вызываются подсказки?
  • Есть ли простой способ просто выбрать все значения по умолчанию (эффективно щелкнуть любую кнопку по умолчанию и / или выбрать правильный текст / параметры)?

Спасибо.

ПРИМЕЧАНИЕ

Похоже, настройка эта переменная является решением для принятия значений по умолчанию:

DEBIAN_FRONTEND=noninteractive
5
задан 14 May 2016 в 08:11
1 ответ

Это изменит конфигурацию вашего пакета с параметрами по умолчанию:

DEBIAN_FRONTEND = noninteractive dpkg-reconfigure [имя пакета]

Это отобразит параметры, которые вы установили при установке пакета:

debconf -show [имя пакета]

Это выведет параметры, которые вы задали при установке пакета,отформатирован для загрузки в debconf-set-selections :

debconf-get-selections | grep '^ [package name]'

Насколько мне известно, вы не можете отображать параметры для пакетов, которые не устанавливали; и вы не можете отобразить параметры по умолчанию, не перенастроив сначала свой пакет с помощью неинтерактивной опции . Вы можете использовать контейнеры для тестирования.

1
ответ дан 3 December 2019 в 02:02

Теги

Похожие вопросы