Essayez d'envoyer des métriques à datadog via python, DogStatsD

introduction

datadog est un outil de surveillance des opérations de serveur au format SaaS En envoyant chaque métrique au datadog depuis divers serveurs surveillés Différentes analyses peuvent être effectuées sur le navigateur.

datadog fournit un agent qui envoie les ressources de chaque serveur, le nombre d'exécutions de l'application et le TAT vers datadog, mais dans cet article, j'ai créé un script qui continue d'envoyer une valeur spécifique à datadog avec python. Je vais essayer.

Je pense qu'il existe de nombreuses utilisations possibles, telles que l'envoi de la quantité de données dans une table spécifique de la base de données ou l'envoi du nombre de fois qu'un script shell est exécuté.

supposition

Utilisez python3

Créer un script pour envoyer des métriques

Essayez d'envoyer des métriques via le serveur DogStats D

Installation de la bibliothèque datadog

pip3 install datadog

Exemple de script

sample.py


import random
from datadog import initialize
from datadog import statsd

#Première initialisation
options = {
    'statsd_host':'127.0.0.1',
    'statsd_port':8125
}

initialize(**options)

#Créer une balise et une valeur
tags = ['version:1', 'application:web']
value=random.randint(0, 100)

#ensemble métrique
metric="myapp.testdata.set"
statsd.set(metric, value, tags=tags)
#jauge métrique
metric="myapp.testdata.gauge"
statsd.gauge(metric, value, tags=tags)

Commentaire

échantillon premier semestre.py


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

initialize(**options)

Le premier est l'initialisation. Spécifiez l'adresse et le port du serveur DogStatsD. La valeur par défaut est UDP: 8125.

Deuxième moitié de l'échantillon.py


#Créer une balise et une valeur
tags = ['version:1', 'application:web']
value=random.randint(0, 100)

#ensemble métrique
metric="myapp.testdata.set"
statsd.set(metric, value, tags=tags)
#jauge métrique
metric="myapp.testdata.gauge"
statsd.gauge(metric, value, tags=tags)

Vous devez utiliser l'une des méthodes suivantes lors de l'envoi de métriques.

Nom de la méthode Commentaire
set() Le nombre de fois que la méthode est appelée est envoyée
gauge() Envoyer la valeur dans la méthode

Veuillez choisir en fonction de votre application. Si vous ne comprenez pas à première vue, nous vous l'expliquerons dans la section suivante afin que vous puissiez le comprendre sensuellement.

Exemple de résultat de script

Dans l'exemple de script, la méthode set et la méthode gauge sont appelées. Affiche le résultat de l'appel de ce script toutes les minutes avec datadog.

datadog_result.png

Étant donné que la méthode set compte qu'elle est appelée une fois par minute, vous pouvez voir que la valeur 1 continue toutes les minutes et que la méthode de jauge continue d'envoyer des valeurs aléatoires (0 à 100). pense.

finalement

Ne serait-il pas possible de visualiser davantage les données si elles pouvaient être utilisées correctement?

Recommended Posts

Essayez d'envoyer des métriques à datadog via python, DogStatsD
Essayez de comprendre Python soi
Essayez d'exploiter Facebook avec Python
Essayez de calculer Trace en Python
Essayez de convertir la CLI cloudmonkey en python3 -1
Essayez d'obtenir des métriques CloudWatch avec la source de données python re: dash
Essayez de reproduire un film couleur avec Python
Essayez de vous connecter à qiita avec Python
Essayez d'envoyer un paquet SYN en Python
Essayez Python
Essayez d'utiliser Excel en utilisant Python (Xlwings)
Python amateur tente de résumer la liste ①
Premiers pas pour essayer Google CloudVision en Python
Essayez d'implémenter Oni Mai Tsuji Miserable avec python
Calculons en fait le problème statistique avec Python
3.14 π jour, alors essayez de sortir en Python
Essayez auto pour évaluer automatiquement Enum dans Python 3.6
Essayez de résoudre le problème de l'héritage de classe Python
Essayez de résoudre le diagramme homme-machine avec Python
Essayez de dessiner une courbe de vie avec python
Essayez de créer un code de "décryptage" en Python
Essayez de générer automatiquement des documents Python avec Sphinx
Essayez de calculer RPN avec Python (pour les débutants)
Python simulé pour essayer AWS IoT Device Shadow
Essayez de créer un groupe de dièdre avec Python
Essayez de détecter les poissons avec python + OpenCV2.4 (inachevé)
Python> essayez: / sauf:
"Backport" vers python 2
Essayez de résoudre le livre des défis de programmation avec python3
POSTER des messages de python vers Slack via un webhook entrant
python débutant essaie d'ajouter une authentification de base à l'administrateur de Django
Essayez de créer un module Python en langage C
[Python] Essayez de lire la bonne réponse au problème FizzBuzz
Faisons un outil de veille de commande avec python
Essayez d'améliorer votre propre quiz d'introduction avec Python
(Python) Essayez de développer une application Web en utilisant Django
Essayez de résoudre le problème d'affectation du médecin de formation avec Python
[Réintroduction à python] Comment importer via le répertoire parent
Essayez le fonctionnement de la base de données avec Python et visualisez avec d3
Envoyer des données de Python au traitement via une communication socket
Essayez d'extraire des mots à haute fréquence en utilisant NLTK (python)