2016-03-22 4 views
0

Wir verwenden Kubernetes und mehrere Tomcat/jws-Container, die auf mehreren Pods laufen. Was wäre der beste Ansatz für die zentrale Protokollierung mit fluentd, Elasticsearch und Kibana. Der Hauptzweck ist, die Tomcat-Protokolle, die in Pods (Beispiel: access.log und catalina.log) ausgeführt werden, auch das Anwendungsprotokoll, das auf dem Tomcat bereitgestellt wird, zu erhalten. Auch müssen wir unterscheiden die Protokolle aus verschiedenen Pods (Tomcat Container). Ich folgte unter dem Link https://access.redhat.com/documentation/en/red-hat-enterprise-linux-atomic-host/7/getting-started-with-containers/chapter-11-using-the-atomic-rsyslog-container-image Davon kann ich nur Container-Logs bekommen, aber nicht in der Lage, Tomcat Log zu bekommen.Logs von Tomcat-Containern, die in Kubernetes-Pods laufen, mit Hilfe von fluentd, elsasticsearch und kibana

-Praveen

Antwort

0

haben einen Blick auf dieses Beispiel:

https://github.com/kubernetes/contrib/tree/master/logging/fluentd-sidecar-es

Die Grundidee ist, einen zusätzlichen fluentd Container in Ihrer pod zu implementieren und ein Volumen zwischen den Behältern teilen. Der Anwendungscontainer schreibt die Protokolle in das Volume und der fluentd-Container lädt das gleiche Volume schreibgeschützt ein und leitet die Protokolle an elasticsearch weiter. In der Standardkonfiguration erhalten die Log-Ereignisse ein Tag wie "file.application.log".

Wir evaluieren dieses Setup im Moment, aber wir haben mehr Anwendungscontainer mit demselben Logfile-Namen. Also gibt es noch Arbeit zu erledigen.

Verwandte Themen