Klicken Sie in Python auf die New Relic-API, um den Status des Servers abzurufen

Hintergrund

Neues Relikt · Überwachung der Leistung von Webanwendungen ・ Leistungsüberwachung der Webinfrastruktur ・ Überwachung / Alarm von Leben und Tod Es ist ein praktisches Serverüberwachungstool **, mit dem Sie dies tun können und dessen Statistiken auf der New Relic-Site angezeigt werden. http://qiita.com/y_uuki/items/dd4fce78b1bc32b64600 Ich musste mich jedoch ständig auf der Site umsehen, um den Echtzeit-Serverstatus zu ermitteln. Daher entschied ich mich, die NewRelic-API zu verwenden, um den Serverstatus abzurufen. Es scheint, dass die API von NewRelic in jeder Sprache wie Python, Ruby, NodeJS vorbereitet ist. Daher habe ich vorerst versucht, Pythons newrelic-api zu verwenden.

Installieren Sie newrelic-api

Es kann mit pip oder easy_install installiert werden.

easy_install newrelic-api

API-Schlüssel abrufen

Erhaltener API-Schlüssel als Administrator. ・ Referenzartikel http://qiita.com/CkReal/items/23a08cd8088876761911

Holen Sie sich den Status jedes Servers mit newrelic-api

Ich habe den Status des Servers anhand des offiziellen Dokuments der NewRelic API erhalten. http://new-relic-api.readthedocs.org/en/develop/ref/servers.html

Wenn Sie auf die API klicken, können Sie die ID, den Namen, den Status usw. jedes Servers in einem Array abrufen. Diesmal habe ich also den Wert ** "health_status" erhalten, der den Status des Servers anhand der ** Farbe darin angibt.

health_status
grün: normal
gelb: Warnung
rot: Gefahr
grau: Kein Bericht

Array abrufen

{u'links': {u'server.alert_policy': u'/v2/alert_policies/{alert_policy_id}'},
 u'servers': [{u'account_id': #{newrelic_account_id},
   u'health_status': u'green',
   u'host': #{newrelic_host},
   u'id': #{server_id},
   u'last_reported_at': u'2016-01-28T07:22:06+00:00',
   u'links': {u'alert_policy': 205236},
   u'name': #{server_name},
   u'reporting': True,
   u'summary': {u'cpu': 0.06,
    u'cpu_stolen': 0.0,
    u'disk_io': 0.0,
    u'fullest_disk': 63.2,
    u'fullest_disk_free': 7547000000,
    u'memory': 63.7,
    u'memory_total': 1043333120,
    u'memory_used': 664797184}},
...
}]}

Beispielcode

Python


#!/usr/bin/env python
# -*- coding:utf-8 -*-

from newrelic_api import servers

health_statuses = []
states = servers.Servers(#{API-key}).list()["servers"]
    for state in states:
        if state.has_key("health_status"):
            health_statuses.append(state["health_status"])

    print health_statues

Ausgabeergebnis

Ich konnte den Status jedes der 9 Server abrufen

[u'green', u'green', u'green', u'green', u'green', u'green', u'green', u'green', u'orange']

newrelic.png

Zusammenfassung

Ich konnte den Status des Servers abrufen, indem ich auf die API von New Relic traf Auf dieser Grundlage möchte ich es anwenden, z. B. in regelmäßigen Abständen den Status des Servers abrufen und lokal eine Warnung ausgeben, wenn eine gefährliche Situation auftritt.

Recommended Posts

Klicken Sie in Python auf die New Relic-API, um den Status des Servers abzurufen
Drücken Sie in Python auf REST, um Daten von New Relic abzurufen
Klicken Sie in Python auf die Sesami-API
Klicken Sie auf die Web-API in Python
So erhalten Sie die Dateien im Ordner [Python]
Klicken Sie in Python auf die Firebase Dynamic Links API
Codebeispiel zum Abrufen von oauth_token und oauth_token_secret der Twitter-API in Python 2.7
Hit Mastodons API in Python
So erhalten Sie den Variablennamen selbst in Python
So ermitteln Sie die Anzahl der Stellen in Python
Holen Sie sich Ihre Herzfrequenz von der Fitbit-API in Python!
So erhalten Sie den letzten (letzten) Wert in einer Liste in Python
Rufen Sie github api in Python auf, um Informationen zur Pull-Anforderung zu erhalten
Abrufen der arXiv-API in Python
[Python] Klicken Sie auf die Google Übersetzungs-API
Holen Sie sich den Desktop-Pfad in Python
Holen Sie sich den Skriptpfad in Python
Im Python-Befehl zeigt Python auf Python3.8
So erhalten Sie die Python-Version
Klicken Sie mit Python auf die Etherpad-Lite-API
Holen Sie sich den Desktop-Pfad in Python
Holen Sie sich den Hostnamen in Python
Greifen Sie mit Python auf die Twitter-API zu
So erhalten Sie mithilfe der Mastodon-API Follower und Follower von Python
Python-Anfänger nutzen die inoffizielle API von Google Play Music, um Musik abzuspielen
Versuchen Sie es mit der Wunderlist-API in Python
Versuchen Sie, die Kraken-API mit Python zu verwenden
Tweet mit der Twitter-API in Python
Holen Sie sich Google Fit API-Daten in Python
Wie bekomme ich Stacktrace in Python?
Holen Sie sich Youtube-Daten in Python mithilfe der Youtube-Daten-API
Ruft die EDINET-Codeliste in Python ab
So ermitteln Sie mit Python den Unterschied zwischen Datum und Uhrzeit in Sekunden
Klicken Sie auf die Rakuten-Ranking-API, um das Ranking einer beliebigen Kategorie in CSV zu speichern
Ich habe versucht, den Authentifizierungscode der Qiita-API mit Python abzurufen.
Ich habe versucht, die Filminformationen der TMDb-API mit Python abzurufen
Verwendung der C-Bibliothek in Python
Melden Sie sich mit SSH bei einem Remote-Server an
[Python] Holen Sie sich die Dateien mit Python in den Ordner
Holen Sie sich das Wetter in Osaka über Web-API (Python)
Lassen Sie uns Wiki-Informationen mithilfe der MediaWiki-API abrufen
Holen Sie sich den Aufrufer einer Funktion in Python
Versuchen Sie es mit der BitFlyer Ligntning API in Python
Holen Sie sich die Bild-URL mithilfe der Flickr-API in Python
Dynamisches Ersetzen der nächsten Methode in Python
Tipps zum Erreichen der ATND-API mit Python
Ruft den Fenstertitel des X-Fenstersystems in Python ab
Tipps zum Schreiben werden in Python kurz abgeflacht
Abrufen von Zeigern auf Strukturelemente in Python-ctypes
Beispiel-API-Server, der JSON in Golang empfängt
Was tun, um eine Google-Tabelle in Python zu erhalten?
[Python] Ich werde FTP auf den FTP-Server hochladen.
Loggen Sie sich mit json mit pygogo ein.
Ich möchte den Fortschritt in Python anzeigen!
Versuchen Sie, die DropBox Core-API mit Python zu verwenden
Verwenden Sie os.getenv, um Umgebungsvariablen in Python abzurufen
Ich möchte den Dateinamen, die Zeilennummer und den Funktionsnamen in Python 3.4 erhalten
So senden Sie automatisch E-Mails mit Anhängen mithilfe der Google Mail-API in Python
Rufen Sie weiterhin Tweets mit bestimmten Schlüsselwörtern mithilfe der Streaming-API in Python ab