Datadog


1Présentation

Datadog est un service qui permet − notamment − de centraliser les logs de vos applications au sein d'un unique interface. Cela peut être très pratique lorsque votre application web est répartie sur plusieurs serveurs et qu'il devient difficile de suivre plusieurs fichiers de log simultanément.


2Configuration

Dans le fichier de configuration etc/temma.php, il faut ajouter l'objet \Temma\LogManagers\Datadog à la directive logManager.

Il faut aussi ajouter une configuration étendue x-datadog, avec les clés suivantes :

  • url : (obligatoire) URL de connexion à l'API Datadog, en fonction de l'emplacement que vous avez choisi
    • EU : https://http-intake.logs.datadoghq.eu/api/v2/logs
    • US : https://http-intake.logs.datadoghq.com/api/v2/logs
    • US3 : https://http-intake.logs.us3.datadoghq.com/api/v2/logs
    • US5 : https://http-intake.logs.us5.datadoghq.com/api/v2/logs
    • US1-FED : https://http-intake.logs.ddog-gov.com/api/v2/logs
  • apiKey : (obligatoire) Votre clé d'API
  • service : (optionnel) Nom du service (site web ou application) qui envoie le log

Voici un exemple de fragment de configuration :

<?php

return [
    'application' => [
        'logManager' => '\Temma\LogManagers\Datadog'
    ],
    'x-datadog' => [
        'url'     => 'https://http-intake.logs.datadoghq.eu/api/v2/logs',
        'apiKey'  => '...API_KEY...',
        'service' => 'temma.net',
    ]
];

3Utilisation

Dans l'interface web de Datadog, il est recommandé de créer deux facettes :

  • Traceid, qui contiendra une chaîne de quatre caractères, permettant d'identifier les logs provenant de la même exécution.
  • Class, qui contiendra la classe d'enregsitrement du log.

Vous pouvez ajouter ces facettes en tant que colonnes dans le tableau de suivi général, cela rendra la lecture du flux de logs plus explicite.