Versuchen Sie, Metriken über Python DogStatsD an datadog zu senden

Einführung

datadog ist ein Tool zur Überwachung des Serverbetriebs im SaaS-Format Durch Senden jeder Metrik an Datadog von verschiedenen überwachten Servern Im Browser können verschiedene Analysen durchgeführt werden.

datadog bietet einen Agenten, der die Ressourcen jedes Servers, die Häufigkeit der Ausführung der Anwendung und die TAT an datadog sendet. In diesem Artikel habe ich jedoch ein Skript erstellt, das weiterhin einen bestimmten Wert mit Python an datadog sendet. Ich werde es versuchen.

Ich denke, es gibt viele Verwendungsmöglichkeiten, z. B. das Senden der Datenmenge in einer bestimmten Tabelle in der Datenbank oder das Senden der Häufigkeit, mit der ein Shell-Skript ausgeführt wird.

Annahme

Verwenden Sie python3

Erstellen eines Skripts zum Senden von Metriken

Versuchen Sie, Metriken über den DogStats D-Server zu senden

Installieren der Datadog-Bibliothek

pip3 install datadog

Beispielskript

sample.py


import random
from datadog import initialize
from datadog import statsd

#Erste Initialisierung
options = {
    'statsd_host':'127.0.0.1',
    'statsd_port':8125
}

initialize(**options)

#Tag und Wert erstellen
tags = ['version:1', 'application:web']
value=random.randint(0, 100)

#metrischer Satz
metric="myapp.testdata.set"
statsd.set(metric, value, tags=tags)
#metrische Spurweite
metric="myapp.testdata.gauge"
statsd.gauge(metric, value, tags=tags)

Kommentar

Probe erste Hälfte.py


options = {
    'statsd_host':'127.0.0.1',
    'statsd_port':8125
}

initialize(**options)

Erstens ist die Initialisierung. Geben Sie die Adresse und den Port des DogStatsD-Servers an. Der Standardwert ist UDP: 8125.

Zweite Hälfte der Probe.py


#Tag und Wert erstellen
tags = ['version:1', 'application:web']
value=random.randint(0, 100)

#metrischer Satz
metric="myapp.testdata.set"
statsd.set(metric, value, tags=tags)
#metrische Spurweite
metric="myapp.testdata.gauge"
statsd.gauge(metric, value, tags=tags)

Sie müssen beim Senden von Metriken eine der folgenden Methoden verwenden.

Methodenname Kommentar
set() Die Häufigkeit, mit der die Methode aufgerufen wird, wird gesendet
gauge() Wert in Methode senden

Bitte wählen Sie entsprechend Ihrer Bewerbung. Wenn Sie es auf den ersten Blick nicht verstehen, werden wir es im nächsten Abschnitt erklären, damit Sie es sinnlich verstehen können.

Beispielskriptergebnis

Im Beispielskript werden sowohl die Set-Methode als auch die Eichmethode aufgerufen. Lassen Sie uns das Ergebnis des Aufrufs dieses Skripts jede Minute mit datadog anzeigen.

datadog_result.png

Da die eingestellte Methode zählt, dass sie einmal pro Minute aufgerufen wird, können Sie sehen, dass der Wert 1 jede Minute fortgesetzt wird und die Messmethode weiterhin zufällige Werte (0 bis 100) sendet. Überlegen.

Schließlich

Wäre es nicht möglich, die Daten besser zu visualisieren, wenn sie auf diese Weise verwendet werden könnten?

Recommended Posts

Versuchen Sie, Metriken über Python DogStatsD an datadog zu senden
Versuchen Sie, Python selbst zu verstehen
Versuchen Sie, Facebook mit Python zu betreiben
Versuchen Sie, Trace in Python zu berechnen
Versuchen Sie, die cloudmonkey-CLI in python3 -1 zu konvertieren
Versuchen Sie, CloudWatch-Metriken mit der Python-Datenquelle re: dash abzurufen
Versuchen Sie, Farbfilme mit Python zu reproduzieren
Versuchen Sie, sich mit Python bei qiita anzumelden
Versuchen Sie, ein SYN-Paket in Python zu senden
Versuchen Sie Python
Versuchen Sie, Excel mit Python (Xlwings) zu betreiben.
Python Amateur versucht die Liste zusammenzufassen ①
Erste Schritte zum Testen von Google CloudVision in Python
Versuchen Sie, Oni Mai Tsuji Miserable mit Python zu implementieren
Berechnen wir das statistische Problem mit Python
3,14 π Tag, versuchen Sie also, in Python auszugeben
Versuchen Sie automatisch, Enum in Python 3.6 automatisch zu bewerten
Versuchen Sie, das Problem der Python-Klassenvererbung zu lösen
Versuchen Sie, das Mensch-Maschine-Diagramm mit Python zu lösen
Versuchen Sie, mit Python eine Lebenskurve zu zeichnen
Versuchen Sie, in Python einen "Entschlüsselungs" -Code zu erstellen
Versuchen Sie, Python-Dokumente automatisch mit Sphinx zu generieren
Versuchen Sie, RPN mit Python zu berechnen (für Anfänger)
Python-Mock, um AWS IoT Device Shadow auszuprobieren
Versuchen Sie, mit Python eine Diedergruppe zu bilden
Versuchen Sie, Fische mit Python + OpenCV2.4 (unvollendet) zu erkennen.
Python> try: / außer:
"Backport" zu Python 2
Versuchen Sie, das Programmier-Herausforderungsbuch mit Python3 zu lösen
POST-Nachrichten von Python an Slack über eingehenden Webhook
Python-Anfänger versucht, dem Administrator von Django eine grundlegende Authentifizierung hinzuzufügen
Versuchen Sie, ein Python-Modul in C-Sprache zu erstellen
[Python] Versuchen Sie, die coole Antwort auf das FizzBuzz-Problem zu lesen
Lassen Sie uns ein Befehls-Standby-Tool mit Python erstellen
Versuchen Sie, Ihr eigenes Intro-Quiz mit Python zu verbessern
(Python) Versuchen Sie, eine Webanwendung mit Django zu entwickeln
Versuchen Sie, das Problem der Zuweisung von Schulungsärzten mit Python zu lösen
[Wiedereinführung in Python] Importieren über das übergeordnete Verzeichnis
Probieren Sie die DB-Operation mit Python aus und visualisieren Sie sie mit d3
Senden Sie Daten von Python über die Socket-Kommunikation an Processing
Versuchen Sie, hochfrequente Wörter mit NLTK (Python) zu extrahieren.