Débuter avec le tracing
Rapport de recherche Datadog : Bilan sur l'adoption de l'informatique sans serveur Rapport : Bilan sur l'adoption de l'informatique sans serveur

Débuter avec le tracing

Présentation

La solution Application Performance Monitoring (APM ou tracing) Datadog sert à recueillir des traces à partir de votre code d’application en backend. Ce guide de prise en main vous explique comment obtenir votre première trace dans Datadog.

Remarque : l’APM Datadog est disponible pour de nombreux langages et frameworks. Consultez la documentation relative à l’instrumentation de votre application.

Compte Datadog

Si vous ne l’avez pas encore fait, créez un compte Datadog.

Agent Datadog

Avant d’installer l’Agent Datadog, configurez une machine virtuelle Vagrant Ubuntu 16.04 en utilisant les commandes suivantes. Pour en savoir plus sur Vagrant, consultez leur page Débuter.

vagrant init ubuntu/xenial64
vagrant up
vagrant ssh

Pour installer l’Agent Datadog sur un host, utilisez la commande d’installation d’une ligne en indiquant votre clé d’API Datadog :

DD_API_KEY=<CLÉ_API_DATADOG> bash -c "$(curl -L https://s3.amazonaws.com/dd-agent/scripts/install_script.sh)"

Validation

Vérifiez que l’Agent est en cours d’exécution avec la commande status :

sudo datadog-agent status

Attendez quelques minutes et vérifiez que l’Agent est connecté à votre compte en consultant la liste d’infrastructures dans Datadog.

APM Datadog

Activer l’APM

Pour les dernières versions de l’Agent 6 et 7, l’APM est activée par défaut. Pour vérifier cela, consultez le fichier de configuration datadog.yaml de l’Agent :

# apm_config:
#   Spécifie si l'Agent APM doit être exécuté ou non
#   enabled: true

Et trace-agent.log :

# /var/log/datadog/trace-agent.log:
2019-03-25 20:33:18 INFO (run.go:136) - trace-agent running on host ubuntu-xenial
2019-03-25 20:33:18 INFO (api.go:144) - listening for traces at http://localhost:8126
2019-03-25 20:33:28 INFO (api.go:341) - no data received
2019-03-25 20:34:18 INFO (service.go:63) - total number of tracked services: 0

Nom d’environnement

Pour obtenir la meilleure expérience possible, il est conseillé d’utiliser la variable d’environnement DD_ENV pour configurer env via le traceur de votre service.

En outre, si l’injection de logs est activée pour votre traceur, l’élément env sera cohérent dans les différents logs et traces. Pour en savoir plus, consultez la section Tagging de service unifié.

Sinon, nommez votre environnement en mettant à jour datadog.yaml de façon à définir env sous apm_config. Pour savoir comment définir env pour l’APM, consultez le guide de configuration des tags primaires.

Application APM

Installation

Avant de configurer l’application, installez pip, puis flask et ddtrace, sur votre machine virtuelle Ubuntu :

sudo apt-get install python-pip
pip install flask
pip install ddtrace

Création

Sur la machine virtuelle Ubuntu, créez l’application hello.py avec le contenu suivant :

from flask import Flask
app = Flask(__name__)

@app.route('/')
def index():
    return 'hello world'

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5050)

Exécution

Lancez hello.py avec ddtrace, qui instrumente automatiquement votre application dans Datadog :

export DD_SERVICE=hello
ddtrace-run python hello.py

La réponse devrait ressembler à ce qui suit :

* Serving Flask app "hello" (lazy loading)
  ...
* Running on http://0.0.0.0:5050/ (Press CTRL+C to quit)

Test

Testez votre application et envoyez vos traces à Datadog avec curl. Votre application devrait fonctionner (comme indiqué ci-dessus). Dans une invite de commande distincte, exécutez :

vagrant ssh
curl http://0.0.0.0:5050/

Cela donne :

hello world

Après quelques minutes, votre trace s’affiche dans Datadog sous le service hello. Consultez la page de services ou la liste de traces pour visualiser votre trace.

Pour aller plus loin