<p>I have a scenario where I need to push application logs running on EKS Cluster to separate cloudwatch log streams. I have followed the below link, which pushes all logs to cloudwatch using fluentd. But the issue is, it pushes logs to a single log stream only.</p>

<blockquote>
  <p><a href="https://github.com/aws-samples/aws-workshop-for-kubernetes" rel="nofollow noreferrer">https://github.com/aws-samples/aws-workshop-for-kubernetes</a></p>
</blockquote>

<p>It also pushes all the logs under <code>/var/lib/docker/container/*.log</code>. How Can I filter this to can only application specific logs?</p>

<p><a href="https://collectord.io" rel="nofollow noreferrer">Collectord</a> now supports AWS CloudWatch Logs (and S3/Athena/Glue). It gives you flexibility to choose to what LogGroup and LogStream you want to forward the data (if the default does work for you).</p>

<ul>
<li><a href="https://collectord.io/docs/cloudwatch/kubernetes/installation/" rel="nofollow noreferrer">Installation instructions for CloudWatch</a></li>
<li><a href="https://collectord.io/docs/cloudwatch/kubernetes/annotations/#override-loggroup-and-logstream" rel="nofollow noreferrer">How you can specify LogGroup and LogStream with annotations</a></li>
</ul>

<p>Highly recommend to read <a href="https://collectord.io/blog/2019-03-13-aws-centralized-logging-for-kubernetes/" rel="nofollow noreferrer">Setting up comprehensive centralized logging with AWS Services for Kubernetes</a></p>
