Sinatra
セキュリティモニタリングが使用可能です セキュリティモニタリングが使用可能です

Sinatra

Supported OS: Linux Mac OS Windows

概要

このインテグレーションを使用すると、Sinatra アプリケーションから Web アクセスログを取得して、以下を監視できます。

  • エラーログ (4xx コード、5xx コード)
  • Web ページの応答時間
  • リクエスト数
  • 送受信されたバイト数

セットアップ

インストール

Sinatra アプリケーションを実行するインスタンスに Agent をインストールします。

コンフィギュレーション

Sinatra のログ機能は、デフォルトでログを stdout に記録します。RackCommonLogger を使用して、ログをファイルとコンソールに記録することをお勧めします。

以下に、ログをファイルとコンソールに生成する構成例を示します。これは、Rack 構成ファイル (config.ru) または Sinatra アプリケーションの構成ブロックで設定できます。

require 'sinatra'

configure do
  # クラシックスタイルのアプリケーションでは、ログはデフォルトで有効になっています。
  # したがって、`enable :logging` は必要ありません。
  file = File.new("/var/log/sinatra/access.log", 'a+')
  file.sync = true
  use Rack::CommonLogger, file
end

get '/' do
  'Hello World'
end

詳細については、Rack レシピのドキュメントを参照してください。

このロガーは、一般的な Apache アクセス形式を使用して、次の形式でログを生成します。

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

ログの収集

Agent バージョン 6.0 以降で利用可能

  1. Datadog Agent で、ログの収集はデフォルトで無効になっています。以下のように、datadog.yaml ファイルでこれを有効にします。

    logs_enabled: true
  2. Sinatra アプリケーションログの収集を開始するには、Agent の構成ディレクトリのルートにある sinatra.d/conf.yaml ファイルに次の構成ブロックを追加します。

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

    path パラメーターと service パラメーターの値を変更し、環境に合わせて構成してください。

  3. Agent を再起動します