1

我有一个简单的 livenessProbe http 检查:

livenessProbe:
    httpGet:
      path: /health
      port: 8080
    initialDelaySeconds: 20
    timeoutSeconds: 30
    failureThreshold: 3
    successThreshold: 3

在我的日志中,有大量状态为200 OK的 /health 检查,它使日志变得非常大,因此很昂贵。有没有办法只在状态不是 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;
    }
}
4

1 回答 1

0

oc get events如果探测检查成功,OpenShift 不会将成功的探测日志记录到事件日志中(您可以使用 来查看)。它只记录失败的日志。我认为您提到的日志可能是 httpd 或 nginx 网络服务器等访问日志。如果将 pod 日志记录为正在运行的 Web 服务器或您的应用程序,您应该通过 Web 服务器或您的应用程序配置过滤“/health”。

例如,如果您使用 httpd Web 服务器,您可以按如下方式过滤访问日志。

SetEnvIf Request_URI "^/health$" health_check_log

CustomLog "logs/access_log" combined env=!health_check_log
于 2020-08-27T13:54:11.707 回答