Ich habe im letzten Monat eine Rechnung von Amazon für Cloudwatch-Dienste im Wert von $ 1.200 erhalten (speziell für 2 TB Protokolldatenaufnahme in "AmazonCloudWatch PutLogEvents"), als ich einige zehn Dollar erwartete. Ich habe mich im Abschnitt Cloudwatch der AWS-Konsole angemeldet und kann feststellen, dass eine meiner Protokollgruppen etwa 2 TB Daten verwendet hat. In dieser Protokollgruppe gibt es jedoch Tausende verschiedener Protokolldatenströme. Wie kann ich feststellen, welche Datei diesen Betrag verwendet hat? von Dateien?Mein AWS Cloudwatch Rechnung ist riesig. Wie finde ich heraus, welcher Log-Stream das verursacht?
Antwort
Okay, ich bin answering my own question hier, aber hier gehen wir (mit allen anderen Antworten willkommen):
Sie eine Kombination von AWS CLI-Tool verwenden können, das csvfix CSV-Paket und eine Tabelle, dies zu erarbeiten.
Leider können Sie in der Cloudwatch Console die Streams nicht nach "Stored Bytes" sortieren (was Ihnen sagen würde, welche die größten sind). Wenn in der Protokollgruppe zu viele Streams vorhanden sind, um in der Konsole nachzusehen, müssen Sie sie irgendwie ablegen. Hierfür können Sie die AWS CLI-Tool verwenden:
$ aws logs describe-log-streams --log-group-name test01-ecs
Der obige Befehl geben Sie JSON-Ausgang (vorausgesetzt, Ihr AWS CLI-Tool zu JSON Ausgang gesetzt - setzen Sie ihn auf output = json
in ~/.aws/config
wenn nicht) und es wird in etwa so aussehen:
{ "logStreams": [ { "creationTime": 1479218045690, "arn": "arn:aws:logs:eu-west-1:902720333704:log-group:test01-ecs:log-stream:test-spec/test-spec/0307d251-7764-459e-a68c-da47c3d9ecd9", "logStreamName": "test-spec/test-spec/0308d251-7764-4d9f-b68d-da47c3e9ebd8", "storedBytes": 7032 } ] }
Rohr dieser Ausgabe in eine JSON-Datei - in meinem Fall die Datei war 31 MB in Größe:
$ aws logs describe-log-streams --log-group-name test01-ecs >> ./cloudwatch-output.json
Verwenden Sie das in2csv Paket (Teil csvfix), um die JSON-Datei in eine CSV-Datei zu konvertieren, die leicht in ein Tabellenkalkulationsprogramm importiert werden kann, dafür, dass Sie die logStreams Schlüssel definieren, verwendet werden soll importieren auf:
$ in2csv cloudwatch-output.json --key logStreams >> ./cloudwatch-output.csv
Import der resultierenden CSV-Datei in eine Tabelle (ich benutze LibreOffice mich, wie es mit CSV zu tun haben scheint groß) dafür, dass die storedBytes Feld wird als Ganzzahl importiert.
In meinem Fall funktionierte das - es stellte sich heraus, dass einer meiner Protokollströme (mit Protokollen von einem defekten TCP-Rohr in einer Redis-Instanz) 4000 mal so groß war wie alle anderen Ströme zusammen!
- 1. Wie finde ich das heraus?
- 2. Wie finde ich heraus, welcher Prozess wp_mail verwendet?
- 3. Wie finde ich heraus, welcher Benutzer eine HIVE-Datenbank besitzt?
- 4. Wie finde ich heraus, welcher Port einen Prozess verwendet?
- 5. Wie finde ich heraus, welcher Aufruf den symbolischen Haltepunkt verursacht hat?
- 6. Wie finde ich heraus, welche Visual Studio-Erweiterung Speicherlecks verursacht?
- 7. Wie finde ich heraus, welcher Edelstein eine bestimmte Abhängigkeit hat?
- 8. Wie finde ich heraus, welcher Thread den Monitor hält?
- 9. Finde heraus, welcher CRC16-Algorithmus verwendet wurde
- 10. Wie finde ich heraus, was UITextField eine UIKeyboardWillShowNotification verursacht hat?
- 11. Wie finde ich heraus, ob das Blatt leer ist?
- 12. Wie finde ich heraus, wo das Python-Include-Verzeichnis ist?
- 13. Wie finde ich heraus, woher mein Fehler kommt?
- 14. Wie finde ich heraus, wohin mein Gedächtnis geht?
- 15. Wie finde ich heraus, welcher Spieler das nächstbeste Gebot hat? Price is Right game java?
- 16. Wie finde ich heraus, wo eine Funktion definiert ist?
- 17. Invocations Graph in AWS Cloudwatch
- 18. Wie finde ich heraus, ob ein Steuerelement gerade ungültig ist?
- 19. Wie finde ich heraus, was dieser Charakter ist?
- 20. Wie finde ich heraus, welcher Benutzer das aktuelle PHP-Skript ausführt?
- 21. Wie finde ich heraus, welcher Computer in Windows der Domänencontroller programmgesteuert ist?
- 22. JS: Wie finde ich heraus, wer das window.onbeforeunload() verursacht hat: F5 oder submit?
- 23. Wie finde ich heraus, welcher Abschnitt einer Website nicht mit neuen Browsern kompatibel ist?
- 24. In Ubuntu, wie finde ich heraus, welcher Prozess ist ein Netzwerk Schwein
- 25. Wie finde ich programmgesteuert heraus, welcher Modus von Location aktiviert ist?
- 26. AWS Lambda - CloudWatch Ereignistyp
- 27. Wie finde ich heraus, welchen Mailserver mein Host für mich installiert hat?
- 28. Wie finde ich heraus, wo eine Python-Warnung ist von
- 29. Wie finde ich heraus, wo eine Python-Warnung ist von
- 30. Wie finde ich das Dateisystem eines LVM heraus?