Holen Sie sich eine Liste der CloudWatch-Metriken und eine Entsprechungstabelle der Einheiteneinheiten mit Python boto

Motivation

Ich wollte herausfinden, was jede Einheit in Metrics of CloudWatch ist, aber ich hatte keine gute Liste, also habe ich es geschafft. bash + aws-cli scheint nervig zu sein, also scheint es, dass Sie es mit Ruby schnell schaffen können, aber wenn Sie lernen, mit Python.

Betriebsumgebung

Quelle

#!/usr/bin/env python

import sys
import datetime
import re
from boto.ec2 import cloudwatch

end    = datetime.datetime.utcnow()
start  = end - datetime.timedelta(minutes=10)

cw = cloudwatch.connect_to_region('ap-northeast-1')

def main():

    if len(sys.argv) not in [2,3]:
        print('Usage: python %s <namespace> [separator]' % sys.argv[0])
        quit()

    namespace = sys.argv[1]
    separator = "\t" if len(sys.argv) == 2 else sys.argv[2]
    results   = []

    for metric in cw.list_metrics(namespace=namespace):
        for data in metric.query(start_time=start, end_time=end, statistics='Average'):
            results.append(separator.join([namespace, metric.name, data['Unit']]))

    results = list(set(results))
    for ret in results:
        print(ret)

if __name__ == '__main__':
	main()

Wie benutzt man

python <script-file-name> <namespace> [separator]

Wenn "Trennzeichen" nicht angegeben ist, wird es durch Tabulatoren getrennt.

Ausführungsergebnis

Für diejenigen, die nicht wissen, ob sie da sind, sondern nur die Ergebnisse wissen wollen. (Nur EC2, EBS, RDS)

$ python get-metrics-unit-type.py AWS/EC2
AWS/EC2	CPUCreditUsage	Count
AWS/EC2	CPUCreditBalance	Count
AWS/EC2	StatusCheckFailed	Count
AWS/EC2	DiskReadOps	Count
AWS/EC2	StatusCheckFailed_System	Count
AWS/EC2	DiskWriteBytes	Bytes
AWS/EC2	NetworkOut	Bytes
AWS/EC2	DiskReadBytes	Bytes
AWS/EC2	NetworkIn	Bytes
AWS/EC2	DiskWriteOps	Count
AWS/EC2	StatusCheckFailed_Instance	Count
AWS/EC2	CPUUtilization	Percent

$ python get-metrics-unit-type.py AWS/EBS
AWS/EBS	VolumeWriteBytes	Bytes
AWS/EBS	VolumeQueueLength	Count
AWS/EBS	VolumeReadOps	Count
AWS/EBS	VolumeIdleTime	Seconds
AWS/EBS	VolumeTotalWriteTime	Seconds
AWS/EBS	VolumeWriteOps	Count

$ python get-metrics-unit-type.py AWS/RDS
AWS/RDS	FreeableMemory	Bytes
AWS/RDS	NetworkTransmitThroughput	Bytes/Second
AWS/RDS	DatabaseConnections	Count
AWS/RDS	WriteIOPS	Count/Second
AWS/RDS	ReadIOPS	Count/Second
AWS/RDS	ReadLatency	Seconds
AWS/RDS	WriteThroughput	Bytes/Second
AWS/RDS	ReadThroughput	Bytes/Second
AWS/RDS	FreeStorageSpace	Bytes
AWS/RDS	WriteLatency	Seconds
AWS/RDS	DiskQueueDepth	Count
AWS/RDS	CPUUtilization	Percent
AWS/RDS	CPUCreditUsage	Count
AWS/RDS	NetworkReceiveThroughput	Bytes/Second
AWS/RDS	CPUCreditBalance	Count
AWS/RDS	BinLogDiskUsage	Bytes
AWS/RDS	SwapUsage	Bytes

Eindruck von Boto

―― Zuerst war es nicht offiziell, sondern wurde von der Community erstellt (nicht wahr?). Ich bin also der Meinung, dass sich die Benutzerfreundlichkeit ein wenig von anderen SDKs unterscheidet. ――Im Gegenteil, es scheint praktisch wichtig zu sein. Wenn Sie sich also daran gewöhnen, ist es möglicherweise einfacher zu verwenden als andere.

Recommended Posts

Holen Sie sich eine Liste der CloudWatch-Metriken und eine Entsprechungstabelle der Einheiteneinheiten mit Python boto
Holen Sie sich eine Liste der IAM-Benutzer mit Boto3
Python: Ruft eine Liste der Methoden für ein Objekt ab
Holen Sie sich eine Liste der mit Python + Selen gekauften DMM-E-Books
Ruft eine Liste der Dateien in einem Ordner mit Python ohne Pfad ab
[Python] Nur eine Liste der Ordner abrufen
Holen Sie sich mit QIIME2 die Korrespondenztabelle des OTU-Namens und seiner Abstammung (Tor, Familie, Gattung usw.)
Für Windows: Ruft eine Liste der Verzeichnisse und Dateien in einem bestimmten Verzeichnis ab.
Rufen Sie mit Python eine Liste der in der aktuellen Umgebung installierten Pakete ab
Ich habe die Geschwindigkeit der Listeneinschlussnotation für und während mit Python2.7 gemessen.
[Python] Erstellen Sie eine Liste mit Datum und Uhrzeit (Datum / Uhrzeit-Typ) für einen bestimmten Zeitraum
Holen Sie sich eine Liste der Artikel, die von Benutzern mit Python 3 Qiita API v2 veröffentlicht wurden
Holen Sie sich mit Python den Aktienkurs eines japanischen Unternehmens und erstellen Sie eine Grafik
So erhalten Sie mit Python eine Liste der Dateien im selben Verzeichnis
[Einführung in Python] So erhalten Sie den Datenindex mit der for-Anweisung
Liste der Python-Bibliotheken für Datenwissenschaftler und Dateningenieure
Holen Sie sich mit Python eine große Menge von Starbas Twitter-Daten und probieren Sie die Datenanalyse Teil 1 aus
Nachdem Sie mit Python auf die Qiita-API geklickt haben, um eine Liste mit Artikeln für Anfänger zu erhalten, werden wir die Artikel von God besuchen
[Python] Erstellen Sie eine Datums- und Zeitliste für einen bestimmten Zeitraum
Installationsverfahren für Python und Ansible mit einer bestimmten Version
Holen Sie sich die Anzahl der spezifischen Elemente in der Python-Liste
[Python] So löschen Sie eine Zeile / Spalte in einer Tabelle (Liste der Optionen für die Drop-Methode)
Discords Python 1.5 oder höher, ich kann keine Liste der Mitglieder erhalten
Rufen Sie die Excel-Liste rekursiv in einem bestimmten Ordner mit Python ab und schreiben Sie sie in Excel.
Befreien Sie sich mit Python und regulären Ausdrücken von schmutzigen Daten
Erkennen Sie mit Python Objekte einer bestimmten Farbe und Größe
So erhalten Sie eine Liste der integrierten Ausnahmen für Python
Python: Erstellen Sie ein Wörterbuch aus einer Liste von Schlüsseln und Werten
Beispiel für das Parsen von HTTP GET und JSON mit Pfefferpython
Bibliothek zur Angabe eines Nameservers in Python und Dig
Drehen Sie ein Array von Zeichenfolgen mit einer for-Anweisung (Python3).
python Hinweis: enumerate () - Index und Element der Liste gleichzeitig abrufen und zur Anweisung wenden
Extrahieren Sie das Bigquery-Dataset und die Tabellenliste mit Python und geben Sie es in CSV aus
Erstellen und testen Sie eine CI-Umgebung für mehrere Versionen von Python
Versuchen Sie, die Thread-Liste der Nachrichten (Abneigung) mit Python zu erhalten.
Erstellen Sie eine gestreifte Illusion mit Gammakorrektur für Python3 und openCV3
Ich habe versucht, mit Python eine Liste von Primzahlen zu erstellen
Holen Sie sich Daten von VPS MySQL mit Python 3 und SQL Alchemy
Die Geschichte, einen Standardtreiber für db mit Python zu erstellen.
Ich habe versucht, mit Boto3 eine Liste der AMI-Namen zu erhalten
Versuchen Sie, CloudWatch-Metriken mit der Python-Datenquelle re: dash abzurufen
Erste Schritte mit Python3
Koexistenz von Python2 und 3 mit CircleCI (1.0)
[Python] Erstellen einer Wörterbuchtypliste, Hinzufügen / Ändern / Löschen von Elementen und Extrahieren mit einer for-Anweisung
Rufen Sie eine Liste der Kameraparameter ab, die mit cv2.VideoCapture festgelegt werden können, und machen Sie daraus einen Wörterbuchtyp
Berechnen Sie die kürzeste Route eines Diagramms mit der Dyxtra-Methode und Python
Holen Sie sich Bilder von OpenStreetMap und Geographical Institute Map mit Python + py-staticmaps
Eine Sammlung von Tipps zur Beschleunigung des Lernens und Denkens mit PyTorch
[Einführung in Python] So sortieren Sie den Inhalt einer Liste effizient mit Listensortierung
Erhalten Sie eine Liste der Ergebnisse der Parallelverarbeitung in Python mit Starmap
Holen Sie sich Bilder von OpenStreetMap und Geographical Institute Map mit Python + staticmap
Erhalten und schätzen Sie die Form des Kopfes mit Dlib und OpenCV mit Python
Erläuterung zum Erstellen einer Anwendung zum Anzeigen von Bildern und Zeichnen mit Python
Zeigen Sie eine Liste der Alphabete in Python 3 an
Ein Memo mit Python2.7 und Python3 in CentOS
Verbinde viel Python oder und und
Holen Sie sich ein Zeichen für Conoha mit Python
Für diejenigen, die Excel VBA lernen und mit Python beginnen möchten
Bis Sie tägliche Daten für mehrere Jahre japanischer Bestände erhalten und diese in einer einzigen CSV (Python) speichern