В настоящее время мы запускаем сайт 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
Это изменит конфигурацию вашего пакета с параметрами по умолчанию:
DEBIAN_FRONTEND = noninteractive dpkg-reconfigure [имя пакета]
Это отобразит параметры, которые вы установили при установке пакета:
debconf -show [имя пакета]
Это выведет параметры, которые вы задали при установке пакета,отформатирован для загрузки в debconf-set-selections
:
debconf-get-selections | grep '^ [package name]'
Насколько мне известно, вы не можете отображать параметры для пакетов, которые не устанавливали; и вы не можете отобразить параметры по умолчанию, не перенастроив сначала свой пакет с помощью неинтерактивной опции
. Вы можете использовать контейнеры для тестирования.