Lassen Sie uns die Python-App mit dem APM von New Relic überwachen. Python verfügt über eine Vielzahl von Frameworks und eine Vielzahl von Veröffentlichungsmethoden im Web. Zunächst möchte ich jedoch vorstellen, wie New Relic- und Python-Apps auf einfachste Weise verknüpft werden können. Dieses Mal werden wir den Ablauf der Einbettung des New Relic-Codes in eine einfache Anwendung mit Flask überprüfen und auf dem Überwachungsbildschirm anzeigen.
CentOS 7 Python 2.7.5(default) Es wird davon ausgegangen, dass Sie ein New Relic-Konto haben. Bitte lesen Sie gegebenenfalls den LIZENZSCHLÜSSEL.
Offiziell Befolgen Sie die Installationsschritte.
Ein Beispiel für meine Umgebung. Es ist ein bisschen alt, also Klicken Sie hier für die neueste Version.
# wget https://download.newrelic.com/python_agent/release/newrelic-2.8.0.7.tar.gz
# tar xvzf newrelic-2.8.0.7.tar.gz
# cd newrelic-2.8.0.7
# python setup.py install
Dies ist einfacher, wenn Sie es einfach ausprobieren. Der Aufwand kann sich nicht viel ändern ...
pip install newrelic
or
easy_install newrelic
Sie können es konfigurieren, indem Sie den folgenden Befehl an einem beliebigen Ort ausführen. Es ist kein Problem, wenn Sie die Konfigurationsdatei verschieben.
newrelic-admin generate-config LICENSE-KEY newrelic.ini
Ändern Sie den Inhalt der Konfiguration. Ich habe den App-Namen in "New Relic Hello!" Geändert. Dies ist der App-Name auf dem New Relic-Bildschirm. Ich habe es auskommentiert, damit das Protokoll ausgegeben werden kann. Im Folgenden werden nur die korrigierten Punkte aufgeführt.
app_name = New Relic Hello!
log_file = /tmp/newrelic-python-agent.log
Überprüfen Sie, ob der Python-Agent mit dem folgenden Befehl ausgeführt werden kann.
newrelic-admin validate-config newrelic.ini
Nach einigen Sekunden wird auf dem APM-Bildschirm der Name "Python Agent Test" angezeigt. Es spielt keine Rolle, wie oft Sie es ausführen. Es kann verwendet werden, um die Fehlerbehebung im zukünftigen Prozess zu isolieren.
# easy_install Flask
Eine App, die nur New Relic Hello!
# cat flask_hello.py
import newrelic.agent
newrelic.agent.initialize('/root/newrelic-2.8.0.7/newrelic.ini')
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return "New Relic Hello!"
if __name__ == '__main__':
app.run(host='0.0.0.0')
#
Die beiden oberen Zeilen sind der Einbettungscode für New Relic. Gibt den Speicherort von newrelic.ini an.
import newrelic.agent
newrelic.agent.initialize('/root/newrelic-2.8.0.7/newrelic.ini')
Öffnen Sie zwei Klemmen.
Mach Folgendes: "0.0.0.0" ist eine spezielle IP-Adresse, die diesen Host in diesem Netzwerk darstellt. Wenn Sie die Portnummer nicht im Code angeben, wird sie zur Laufzeit auf 5000 erhöht.
# python flask_hello.py
* Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
Mach Folgendes: Sie können die Adresse Ihres eigenen Servers anstelle von 127.0.0.1 angeben.
# curl http://127.0.0.1:5000
New Relic Hello!
Mit dem Befehl watch können Sie den Zugriff jede Sekunde anzeigen.
watch -n 1 "curl http://127.0.0.1:5000"
Wenn Sie sich in einer Entwicklungsumgebung befinden, möchten Sie möglicherweise versuchen, die Ausführung der Anwendung mit supevisor zu dämonisieren. Oder funktioniert es mit Apache oder Nginx? Es ist eine Frage der Beratung mit Zeit und Mühe.
Es kam mit "New Relic Hello!".
Es ist eine Anwendung, die nur New Relic Hallo anzeigt, aber Sie können sehen, dass Sie auch den Funktionsnamen und die WSGI-Informationen sehen können.
das ist alles
Recommended Posts