Nouvelles annonces sur les technologies sans serveur et réseau ainsi que sur le RUM (Real-User Monitoring) dévoilées à la conférence Dash ! Nouvelles annonces dévoilées à la conférence Dash !

Envoyer des logs à Datadog

Présentation

La solution Log Management de Datadog permet de recueillir des logs en provenance de votre application. Cette page décrit la marche à suivre pour recevoir vos premiers logs dans Datadog. Avant de poursuivre :

  1. Si vous ne l’avez pas déjà fait, créez un compte Datadog et activez Datadog Log Management.
  2. Configurez une machine virtuelle Vagrant Ubuntu 16.04 en utilisant les commandes suivantes. Pour en savoir plus sur Vagrant, consultez leur page Getting Started (en anglais) :

    vagrant init ubuntu/xenial64
    vagrant up
    vagrant ssh
    

Une fois cette opération terminée, lisez les sections ci-dessous pour découvrir comment :

Envoyer des logs manuellement

Pour envoyer des logs manuellement, utilisez la commande telnet avec votre clé d’API Datadog dans machine virtuelle Vagrant.

Les logs peuvent prendre la forme d’un message en texte intégral :

L’endpoint TCP sécurisé est intake.logs.datadoghq.com:10516 (utilisez le port 10514 pour les connexions non sécurisées).

telnet intake.logs.datadoghq.com 10514

<CLÉ_API_DATADOG> Log en texte brut envoyé via TCP

L’endpoint TCP sécurisé est tcp-intake.logs.datadoghq.eu:443 (utilisez le port 1883 pour les connexions non sécurisées).

telnet intake.logs.datadoghq.eu 1883

<CLÉ_API_DATADOG> Log en texte brut envoyé via TCP

On obtient alors ce qui suit sur la page Log Explorer :

ou un objet JSON qui est automatiquement parsé par Datadog :

telnet intake.logs.datadoghq.com 10514

<CLÉ_API_DATADOG> {"message":"Log au format JSON envoyé via TCP", "ddtags":"env:dev", "ddsource":"terminal", "hostname":"gs-hostname", "service":"user"}
telnet tcp-intake.logs.datadoghq.eu 1883

<CLÉ_API_DATADOG> {"message":"Log au format JSON envoyé via TCP", "ddtags":"env:dev", "ddsource":"terminal", "hostname":"gs-hostame", "service":"user"}

On obtient alors ce qui suit sur la page Log Explorer :

Envoyer des logs à partir d’un fichier

Installation de l’Agent

Pour installer l’Agent Datadog sur votre host Vagrant, utilisez la commande d’installation en une étape en spécifiant votre clé d’API Datadog :

DD_API_KEY=<VOTRE_CLÉ_API_DD>  bash -c "$(curl -L https://raw.githubusercontent.com/DataDog/datadog-agent/master/cmd/agent/install_script.sh)"

``` DD_API_KEY= DD_SITE=“datadoghq.eu” bash -c “$(curl -L https://raw.githubusercontent.com/DataDog/datadog-agent/master/cmd/agent/install_script.sh)"

Validation

Vérifiez que l’Agent est lancé avec la commande status sudo datadog-agent status. Puisque vous n’avez pas encore activé la collecte de logs, vous devriez voir :

==========
Logs Agent
==========

  Logs Agent is not running

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

Activer la collecte de logs

Pour activer la collecte de logs avec l’Agent, modifiez le fichier de configuration datadog.yaml qui se trouve dans /etc/datadog-agent/datadog.yaml et définissez le paramètre logs_enabled:true :

## @param logs_enabled - booléen - facultatif - par défaut : false
## Activez la collecte de logs avec l'Agent Datadog en définissant logs_enabled sur true.
#
logs_enabled: true

Surveiller un fichier personnalisé

Créer le fichier de log

Pour recueillir des logs à partir d’un fichier personnalisé, créez le fichier puis ajoutez-y une ligne de log :

$ touch fichier_log_à_surveiller.log

$ echo "Première ligne de log" >> fichier_log_à_surveiller.log

Configurer l’Agent

Pour indiquer à l’Agent de surveiller ce fichier de log :

  1. Créez un dossier de configuration dans le répertoire de configuration de l’Agent :

    sudo mkdir /etc/datadog-agent/conf.d/custom_log_collection.d/
    
  2. Créez votre fichier de configuration dans ce nouveau dossier de configuration :

    sudo touch /etc/datadog-agent/conf.d/custom_log_collection.d/conf.yaml
    
  3. Copiez le contenu suivant et collez-le dans ce fichier conf.yaml :

      logs:
        - type: file
          path: /home/ubuntu/log_file_to_monitor.log
          source: custom
          service: user
    
  4. Redémarrez l’Agent : sudo service datadog-agent restart

Validation

Si la configuration de log est correcte, la commande status sudo datadog-agent status renvoie ce qui suit :

==========
Logs Agent
==========
    LogsProcessed: 0
    LogsSent: 0

  custom_log_collection
  ---------------------
    Type: file
    Path: /home/ubuntu/fichier_log_à_surveiller.log
    Status: OK
    Inputs: /home/ubuntu/fichier_log_à_surveiller.log

Ajouter des logs dans le fichier

Maintenant que tout est correctement configuré, ajoutez des entrées dans votre fichier de logs pour les consulter dans Datadog :

$ echo "Nouvelle ligne de log dans le fichier de log" >> fichier_log_à_surveiller.log

On obtient alors ce qui suit sur la page Log Explorer :

Pour aller plus loin