如何解决openshift liveness仅在状态不是200时才记录探针
我有一个简单的livenessProbe http检查:
livenessProbe:
httpGet:
path: /health
port: 8080
initialDelaySeconds: 20
timeoutSeconds: 30
failureThreshold: 3
successThreshold: 3
我的日志中有大量状态为 200 OK 的/ health检查,这使日志确实很大,因此价格昂贵。只有状态为否 200时,才可以记录日志吗?
我正在尝试寻找答案,但是还没有运气。
有人可以帮我吗?谢谢
#UPDATE
我认为日志是通过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;
}
}
解决方法
如果探针检查成功,OpenShift不会将成功的探针日志记录到事件日志中(您可以使用oc get events
进行查看)。它仅记录失败的日志。我认为您提到的日志可能是访问日志,例如httpd或nginx Web服务器。如果是作为正在运行的Web服务器或应用程序运行的pod日志,则应通过Web服务器或应用程序配置过滤“ /运行状况”。
例如,如果您使用httpd Web服务器,则可以按以下方式过滤访问日志。
SetEnvIf Request_URI "^/health$" health_check_log
CustomLog "logs/access_log" combined env=!health_check_log
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。