openshift livenessProbe ведение журнала только при статусе НЕ 200
У меня есть простая проверка httplivenessProbe:
livenessProbe:
httpGet:
path: /health
port: 8080
initialDelaySeconds: 20
timeoutSeconds: 30
failureThreshold: 3
successThreshold: 3
В моих журналах есть множество проверок / работоспособности со статусом 200 OK, и это делает журналы действительно большими и, следовательно, дорогими. Есть ли способ войти, только когда статус НЕ 200?
Я пытался найти ответ, но пока безуспешно.
Кто-нибудь может мне с этим помочь? Благодарность
#ОБНОВИТЬ
Я думаю, что журналы создаются через nginx:
Конфигурация nginx:
server {
listen 8080;
root /www/data/;
index index.html;
access_log off;
location /health {
return 200 '{\"status\": \"ok\"}';
default_type application/json;
}
location / {
gzip on;
try_files $uri /index.html;
}
}
1 ответ
OpenShift не записывает журналы успешной проверки в журналы событий (вы можете увидеть, используя oc get events
), если проверка зонда прошла успешно. Это только записанные неудачные журналы. Я думаю, что упомянутый вами журнал может быть журналами доступа, такими как веб-сервер httpd или nginx. Если в журналах модуля запущен веб-сервер или ваше приложение, вам следует отфильтровать "/health" через веб-сервер или конфигурации вашего приложения.
Например, если вы используете веб-сервер httpd, вы можете фильтровать журналы доступа следующим образом.
SetEnvIf Request_URI "^/health$" health_check_log
CustomLog "logs/access_log" combined env=!health_check_log