Sinatra
Rapport de recherche Datadog : Bilan sur l'adoption de l'informatique sans serveur Rapport : Bilan sur l'adoption de l'informatique sans serveur

Sinatra

Supported OS: Linux Mac OS Windows

Présentation

Cette intégration vous permet de recueillir les logs d’accès Web pour vos applications Sinatra afin de surveiller les éléments suivants :

  • Les logs d’erreurs (codes 4xx, codes 5xx)
  • Le délai de réponse de pages Web
  • Le nombre de requêtes
  • Le nombre d’octets échangés

Configuration

Installation

Installez l’Agent sur l’instance qui exécute votre application Sinatra.

Configuration

Par défaut, les logs Sinatra sont envoyés à stdout. Datadog recommande d’utiliser le Common Logger Rack afin de générer les logs dans un fichier et dans la console.

Voici un exemple de configuration permettant de générer les logs dans un fichier et dans la console. Ces lignes peuvent être ajoutées au fichier de configuration de Rack (config.ru) ou au bloc de configuration de votre application Sinatra.

require 'sinatra'

configure do
  # l'enregistrement des logs est activé par défaut dans les applications classiques,
  # `enable :logging` n'est donc pas nécessaire
  file = File.new("/var/log/sinatra/access.log", 'a+')
  file.sync = true
  use Rack::CommonLogger, file
end

get '/' do
  'Hello World'
end

Pour en savoir plus, consultez la documentation relative aux recettes Rack (en anglais).

Ce logger utilise le format Apache Access commun et génère des logs au format suivant :

127.0.0.1 - - [15/Jul/2018:17:41:40 +0000] "GET /uptime_status HTTP/1.1" 200 34 0.0004
127.0.0.1 - - [15/Jul/2018 23:40:31] "GET /uptime_status HTTP/1.1" 200 6997 1.8096

Collecte de logs

Disponible à partir des versions > 6.0 de l’Agent

  1. La collecte de logs est désactivée par défaut dans l’Agent Datadog. Vous devez l’activer dans datadog.yaml avec :

    logs_enabled: true
  2. Ajoutez ce bloc de configuration à votre fichier sinatra.d/conf.yaml à la racine du répertoire de configuration de votre Agent pour commencer à recueillir vos logs d’application Sinatra :

    logs:
      - type: file
        path: /var/log/sinatra/access.log
        source: sinatra
        service: webapp

    Modifiez les valeurs des paramètres path et service et configurez-les pour votre environnement.

  3. Redémarrez l’Agent