概要
このインテグレーションは、Sidekiq〜DogStatsD を監視します。Datadog の DogStatsD Ruby クライアントを介してメトリクスを収集します。
注 Sidekiq Pro (>= 3.6) または Enterprise (>= 1.1.0) のユーザーのみがメトリクスを収集できます。
セットアップ
インストール
Sidekiq インテグレーションは Datadog Agent にパッケージ化されています。
サーバーに追加でインストールする必要はありません。
構成
dogstatsd-ruby
gem をインストールします。
gem install dogstatsd-ruby
Sidekiq Pro メトリクス収集を初期化子に含めることで有効にします。コンテナ化されたデプロイの場合は、localhost
を Agent のコンテナのアドレスに更新します。
require 'datadog/statsd' # gem 'dogstatsd-ruby'
Sidekiq::Pro.dogstatsd = ->{ Datadog::Statsd.new('localhost', 8125, namespace:'sidekiq') }
Sidekiq.configure_server do |config|
config.server_middleware do |chain|
require 'sidekiq/middleware/server/statsd'
chain.add Sidekiq::Middleware::Server::Statsd
end
end
Sidekiq Enterprise を使用していて、履歴メトリクスを収集する場合は、次の行も含めます。
Sidekiq.configure_server do |config|
# history is captured every 30 seconds by default
config.retain_history(30)
end
詳細については、Sidekiq Pro および Enterprise のドキュメントを参照してください。詳細なコンフィギュレーションオプションについては、DogStatsD Ruby のドキュメントを参照してください。
下記のコンフィギュレーションを追加して、Datadog Agent のメインコンフィギュレーションファイルである datadog.yaml
を更新します。
# dogstatsd_mapper_cache_size: 1000 # default to 1000
dogstatsd_mapper_profiles:
- name: sidekiq
prefix: "sidekiq."
mappings:
- match: 'sidekiq\.sidekiq\.(.*)'
match_type: "regex"
name: "sidekiq.$1"
- match: 'sidekiq\.jobs\.(.*)\.perform'
name: "sidekiq.jobs.perform"
match_type: "regex"
tags:
worker: "$1"
- match: 'sidekiq\.jobs\.(.*)\.(count|success|failure)'
name: "sidekiq.jobs.worker.$2"
match_type: "regex"
tags:
worker: "$1"
これらのパラメーターは、Datadog Agent に DD_DOGSTATSD_MAPPER_PROFILES
環境変数を追加することで設定することも可能です。
Agent を再起動します。
収集データ
メトリクス
Sidekiq インテグレーションでは、カスタムメトリクスも使用できます。カスタムメトリクスのアイデアについては、Sidekiq Enterprise Historical Metrics を参照してください。
ログ収集
Datadog Agent でのログ収集は、デフォルトで無効になっています。以下のように、datadog.yaml
ファイルでこれを有効にします。
Sidekiq のログの収集を開始するには、次のコンフィギュレーションブロックを sidekiq.d/conf.yaml
ファイルに追加します。
logs:
- type: file
path: /var/log/sidekiq.log
source: sidekiq
service: <SERVICE>
path
パラメーターと service
パラメーターの値を変更し、環境に合わせて構成してください。ログが見つからない場合は、Sidekiq Logging を参照してください。
Agent を再起動します。
サービスチェック
Sidekiq には、サービスのチェック機能は含まれません。
イベント
Sidekiq には、イベントは含まれません。
トラブルシューティング
ご不明な点は、Datadog のサポートチームまでお問合せください。