amazon-web-servicesamazon-cloudwatchamazon-eks

How to disable application logs for EKS Cloudwatch Observability addon and other configurations


I am attempting to deploy the EKS add-on for container insights using the cloudwatch observability addon (version: v1.2.1-eksbuild.1) but I do not want container logs enabled as we already deploy fluentd for this. I'm facing an issue where I want to pass --configuration-values '{ "containerLogs": { "enabled": false } }' but within the larger context of setting the entire configuration on what to run

Docs I am following: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Observability-EKS-addon.html#install-CloudWatch-Observability-EKS-addon-configuration

When deployed like this the block containerLogs.enabled shows up in the configMap (if it's not deployed this way it doesn't show up in the configmap) however logs are still being created and fluentbit is deployed

{
    "agent" : {
      "config" : {
        "logs" : {
          "metrics_collected" : {
            "app_signals" : {},
            "kubernetes" : {
              "enhanced_container_insights" : true
            }
          }
        },
        "containerLogs" : {
          "enabled" : false
        }
      }
    }
  }

Can anyone provide me with the correct configuration for this add-on so that I don't deploy application logs with fluentbit?

I have checked the logs for the pods cloudwatch-agent and i cannot find any configuration details that are setting container logs disabled and i am noticing log groups being created for

Is there a way to disable these logs groups from being created, as the default seems to be enabled with never expire which can get expensive


Solution

  • It seems incorrectly assumed that the cw-agent config should have this block in it, which is why I updated my configuration to include it within agent.config, but that seems to have not caused any errors with the agent, and allowed container logs to be enabled. Revisting the docs i realize that containerLogs should exist at the top level of json along with "agent".

    Updating to this fixes my issue and there are no longer any application logs being produced

    {
        "agent" : {
          "config" : {
            "logs" : {
              "metrics_collected" : {
                "app_signals" : {},
                "kubernetes" : {
                  "enhanced_container_insights" : true
                }
              }
            }
          }
        },
        "containerLogs" : {
          "enabled" : false
        }