[PYTHON] Ich habe nach dem Inhalt von CloudWatch Logs Agent gesucht

Einführung

Ich habe den Inhalt des CloudWatch Logs-Agenten überprüft (auf halbem Weg) Ich habe es nachgeschlagen. Ich gehe davon aus, dass ich den obigen Blog gelesen habe.

Fazit

/var/awslogs/lib/python2.7/site-packages/cwlogs/push.py

War der Code, der die überwachten Protokolle liest und das Ereignis an den CloudWatch-Protokolldienst weiterleitet. Es sind ungefähr 1800 Codezeilen. Es ist ein Schmerz für mich selbst zu lesen, der nicht daran gewöhnt ist, aber die Hauptverarbeitung ist in diesem Code abgeschlossen, sodass Sie den Vorgang verstehen können, indem Sie ihn lesen. "FileEventsReader._run (self)" ist der Teil, der das Protokoll tatsächlich liest

Die Zukunft ist eine Seite.

awscli enthält keinen Protokollcode

Weil es in aws cli enthalten ist,

/usr/lib/python2.7/dist-packages/awscli  (awscli Installationsverzeichnis)
https://github.com/aws/aws-cli  (awscli git repository)
https://github.com/boto/boto3/  (Bibliothek von awscli verwendet)

Ich suchte nach Untergebenen, aber es gab nichts.

Ausführungsprozess des Cloudwatch-Protokollagenten

Ich drehte mich um und sah mir die Laufzeitoptionen des Cloudwatch-Protokollagenten an. /var/awslogs/bin/awslogs-agent-launcher.sh Betrachtet man es so.

/usr/bin/env -i \
HTTPS_PROXY=$HTTPS_PROXY \
HTTP_PROXY=$HTTP_PROXY \
NO_PROXY=$NO_PROXY \
AWS_CONFIG_FILE=/var/awslogs/etc/aws.conf \
HOME=/root \
/bin/nice -n 4 \
/var/awslogs/bin/aws logs push \
--config-file /var/awslogs/etc/awslogs.conf \
--additional-configs-dir /var/awslogs/etc/config \
>> /var/log/awslogs.log 2>&1

Als ich diesen Befehl beim Löschen der Einstellung tatsächlich ausführte, funktionierte er, wenn Folgendes der Fall war

AWS_CONFIG_FILE=/var/awslogs/etc/aws.conf \
/var/awslogs/bin/aws logs push \
--config-file /var/awslogs/etc/awslogs.conf

Der Inhalt von AWS_CONFIG_FILE sieht folgendermaßen aus.

$ cat /var/awslogs/etc/aws.conf
[plugins]
cwlogs = cwlogs
[default]
region = us-west-2

awscli Plug-In

Oh. Plugin! Also, wenn Sie nach einem Python-Paket suchen /var/awslogs/lib/python2.7/site-packages/cwlogs Existiert und hat die folgenden Dateien

filter.py
__init__.py
kvstore.py
parser.py
pull.py
push.py
retry.py
threads.py
utils.py

Von diesen waren "push.py" und "pull.py" Befehle und der Rest waren Dienstprogrammklassen. Ich habe die Funktion des Ziehens nicht untersucht, weil ich keinen Mut habe.

abschließend

Zum ersten Mal habe ich erfahren, dass AWS CLI Funktionen mit Plugins hinzufügen kann. Ich denke, es ist möglich, ein Plug-In zu erstellen, indem auf cwlogs verwiesen wird.

Referenz

Ich habe den Inhalt des CloudWatch Logs-Agenten überprüft (auf halbem Weg) Zusammenfassung der Untersuchungen zum Verhalten des CloudWatch Logs Agent

Recommended Posts

Ich habe nach dem Inhalt von CloudWatch Logs Agent gesucht
Ich habe den Inhalt des Docker-Volumes überprüft
Ich habe nach Railway Kawayanagi aus den Daten gesucht
[Python] Ich habe nach dem längsten Pokemon Shiritori gesucht
Mongodb Kürzeste Einführung (2) Ich habe nach Zehntausenden gesucht
Simulation des Inhalts der Brieftasche
Ich habe nach CD-Befehlen gesucht.
Ändern des Aufbewahrungszeitraums für CloudWatch-Protokolle in Lambda
Ich habe den Mechanismus der Flaschenanmeldung untersucht!
Verstehen Sie den Inhalt der sklearn-Pipeline
Ich suchte mit Deep Learning nach einer ähnlichen Karte von Hearthstone
Siehe den Inhalt von Kumantic Segumantion
Erste Schritte mit Python3
Ich habe versucht, die Abstimmungsergebnisse der Metropolregion Osaka für jede Gemeinde zu analysieren
Ich habe das Sudachi-Synonymwörterbuch mit Pandas gelesen und versucht, nach Synonymen zu suchen
Ich habe den asynchronen Server von Django 3.0 ausprobiert
Ich habe zum ersten Mal Tensorflow ausprobiert
Ich habe die Optionen von copyMakeBorder von OpenCV überprüft
Die Ordnerstruktur von Flask ist zusammengefasst
Ich kannte die Grundlagen von Python nicht
Die dritte Nacht der Runde mit für
Pandas des Anfängers, vom Anfänger, für den Anfänger [Python]
Die Python-Projektvorlage, an die ich denke.
Lesen Sie den gesamten Inhalt von proc / [pid]
Ich habe mit Python nach einer Primzahl gesucht
Die zweite Nacht der Runde mit für
[Python] Ich habe nach verschiedenen Typen gesucht! (Tippen)
Ich habe versucht, die Einstellungen für verschiedene Datenbanken von Django (MySQL, PostgreSQL) zusammenzufassen.
[Bash] Übergibt den Inhalt der Datei beim Lesen an Variablen für jede Spalte
Ich möchte dem Anfang einer WAV-Datei 1 Sekunde lang Stille hinzufügen
Ich suchte nach den Fähigkeiten, die erforderlich sind, um Webingenieur bei Python zu werden
Ich habe versucht, die Gesichtsverdeckungsarbeit des Koordinationsbildes für das Tragen zu automatisieren
Holen Sie sich den Inhalt von Git Diff aus Python
Ich habe die Pivot-Table-Funktion von Pandas ausprobiert
Ich habe in der Bibliothek nach der Verwendung der Gracenote-API gesucht
Ich habe versucht, die Wetterkarte einer Clusteranalyse zu unterziehen
Die Geschichte, dass die Lernkosten von Python niedrig sind
vprof - Ich habe versucht, den Profiler für Python zu verwenden
Ich habe die Implementierung von range gelesen (Objects / rangeobject.c)
Der Inhalt des Python-Tutorials (Kapitel 5) ist in einem Aufzählungszeichen zusammengefasst.
Der Inhalt des Python-Tutorials (Kapitel 4) ist in einem Aufzählungszeichen zusammengefasst.
Ich habe das tiefste Problem von Hiroshi Yuki gelöst.
Achten Sie auf den Rückgabewert von __len__
Ich habe die Liste der Tastenkombinationen von Jupyter überprüft
Ich habe vorerst mit Floydhub gespielt
Ich habe zum ersten Mal versucht, Python zu programmieren.
Der Inhalt des Python-Tutorials (Kapitel 10) ist in einem Aufzählungszeichen zusammengefasst.
Ich habe versucht, die Trapezform des Bildes zu korrigieren
Probieren Sie Progate Free Edition [Python I]
Ich habe die Sitzungsaufbewahrungsdauer von Django überprüft
Ich habe die Verarbeitungsgeschwindigkeit der numpy eindimensionalisierung überprüft
Ich habe Mind Meld zum ersten Mal ausprobiert
Ich habe einige der neuen Funktionen von Python 3.8 touched angesprochen
Entleere den Inhalt der Redis-Datenbank mit Lua
Code zum Überprüfen des Betriebs von Python Matplot lib
Der Inhalt des Python-Tutorials (Kapitel 6) ist in einem Aufzählungszeichen zusammengefasst.
Ich habe die Varianten von UKR gelesen und implementiert
Der Inhalt des Python-Tutorials (Kapitel 3) ist in einem Aufzählungszeichen zusammengefasst.
Ich möchte das Erscheinungsbild von zabbix anpassen