2017-05-10 2 views
0

Wir verwenden Kubernetes, um unsere Anwendungs-Docker-Images bereitzustellen.So senden Sie Anwendungsprotokolle vom Andockfenster an cloudwatch

Wir möchten in der Lage sein, die Anwendungsprotokolle zu nehmen und es zu Cloudwatch schieben.

Die Anwendungsprotokolle werden mit log4j oder log4js generiert, je nachdem, in welcher Sprache der Microservice erstellt wurde.

Was ist der richtige Weg?

+0

@jersten Dies beschreibt die Vorgehensweise für die EC2-Instanz und nicht für die darin ausgeführten Docker-Instanzen. – user1676688

+0

@jersten Gibt es eine Dokumentation darüber, wie das geht? Und was ist mit der IAM-Richtlinie? Wird für IAM-Richtlinien etwas Spezifisches für Docker benötigt? – user1676688

Antwort

1

Erstellen Sie Container mit dem installierten Cloudwatch Agent; to do this you will need a Dockerfile. Amazon even has docs specifically for this.

Sie müssen sicherstellen, dass Ihr Basiscontainer entweder auf Debian oder RHEL basiert (Amazon-Dokumente scheinen nur diese Arten von Distributionen mit dem Agenten zu unterstützen); zum Beispiel werden Debian-basierte Systeme die Agenten installiert mit:

curl https://s3.amazonaws.com//aws-cloudwatch/downloads/latest/awslogs-agent-setup.py -O 

Also, müssen Sie die oben auszuführen, wenn Sie die Container bauen.

Einzelheiten zur Installation sind here.

Sie erwähnten IAM Policy Bedenken; Amazons example policy is below; Sie müssen sicherstellen, dass Ihre Container Zugriff haben.

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Effect": "Allow", 
      "Action": [ 
       "logs:CreateLogGroup", 
       "logs:CreateLogStream", 
       "logs:PutLogEvents", 
       "logs:DescribeLogStreams" 
      ], 
      "Resource": [ 
       "arn:aws:logs:*:*:*" 
      ] 
     }, 
     { 
      "Effect": "Allow", 
      "Action": [ 
       "s3:GetObject" 
      ], 
      "Resource": [ 
       "arn:aws:s3:::myawsbucket/*" 
      ] 
     } 
    ] 
} 

Jemand auf GitHub has done this already:

FROM ubuntu:latest 
MAINTAINER Ryuta Otaki <[email protected]>, Sergey Zhukov <[email protected]> 
... 
RUN apt-get install -q -y python python-pip wget 
RUN cd/; wget https://s3.amazonaws.com/aws-cloudwatch/downloads/latest/awslogs-agent-setup.py 

ich sehr empfehlen Sie ihrem Beispiel folgen; benutze Ubuntu und folge den Dokumenten. Erfinde das Rad nicht neu.

Verwandte Themen