コンテンツにスキップ

Druid

Druid データベース接続プール関連のメトリクス情報を収集します。

インストール設定

JMX で Druid データベース接続プール関連のメトリクス情報を公開し、DDTrace で読み取ります。DDTrace は内部の statsd モジュールを通じて送信します。

1. DDTrace をダウンロード

wget -O dd-java-agent.jar 'https://guance.com/dd-image/dd-java-agent.jar'

2. Druid jmx を設定

druid.yaml ファイルを新規作成し、内容は以下のとおりです。

init_config:
  is_jmx: true
  collect_default_metrics: true

instances:
  - jvm_direct: true
    name: duird-DruidDataSource-monitoring
    collect_default_jvm_metrics: false
    collect_default_metrics: false
    refresh_beans: 60
    conf:
      - include:
          bean_regex: "com.alibaba.druid:type=DruidDataSource,id=\\d+"
          tags:
            pool: druid
          attribute:
            MaxActive:
              metric_type: gauge
              alias: druid.max_active
            ConnectCount:
              metric_type: gauge
              alias: druid.connect_count
            WaitThreadCount:
              metric_type: gauge
              alias: druid.wait_thread_count
            ActivePeak:
              metric_type: gauge
              alias: druid.active_peak
            InitialSize:
              metric_type: gauge
              alias: druid.initial_size
            ConnectErrorCount:
              metric_type: gauge
              alias: druid.connect_error_count
            ActiveCount:
              metric_type: gauge
              alias: druid.active_count
            CloseCount:
              metric_type: gauge
              alias: druid.close_count
            PoolingCount:
              metric_type: gauge
              alias: druid.pooling_count
            RecycleCount:
              metric_type: gauge
              alias: druid.recycle_count
            CreateCount:
              metric_type: gauge
              alias: druid.create_count
            DestroyCount:
              metric_type: gauge
              alias: druid.destroy_count
            CommitCount:
              metric_type: gauge
              alias: druid.commit_count
            RollbackCount:
              metric_type: gauge
              alias: druid.rollback_count              
            MaxWait:
              metric_type: gauge
              alias: druid.max_wait
            MinIdle:
              metric_type: gauge
              alias: druid.min_idle
            MaxIdle:
              metric_type: gauge
              alias: druid.max_idle

3. 起動コマンドを調整

java \
-javaagent:/xxx/dd-java-agent.jar \
-Ddd.agent.port=9529 \
-Ddd.service=<application-name> \
-Ddd.jmxfetch.check-period=1000 \
-Ddd.jmxfetch.enabled=true \
-Ddd.jmxfetch.config.dir=/xxx/ \
-Ddd.jmxfetch.config=druid.yaml \
-jar xxxx.jar 

4. DataKit コレクター設定

Druid のメトリクスは主に DDTrace で処理して送信されます。DDTrace を有効にすると、APM と metrics データが同時に収集されます。そのため、2 つのコレクターを有効にする必要があります。

  • ddtrace コレクターを有効化する

cd /usr/local/datakit/conf.d/samples cp ddtrace.conf.sample ddtrace.conf

  • statsd コレクターを有効化する

cd /usr/local/datakit/conf.d/samples cp statsd.conf.sample statsd.conf

  • DataKit を再起動する
systemctl restart datakit

メトリクス

メトリクスセット druid

メトリクス 説明 単位
active_count 現在使用中の接続数。 count
active_peak アクティブ接続数の過去最大値。 count
close_count クローズされた接続数。 count
commit_count コミットされたトランザクション数。 count
connect_count 正常に確立された接続の総数。 count
connect_error_count 接続失敗回数。 count
create_count 作成された接続数。 count
destroy_count 破棄された接続数。 count
initial_size 接続プール初期化時に作成された接続数。 count
max_active 接続プールで許可される最大アクティブ接続数。 count
max_idle 接続プールで許可される最大アイドル接続数。 count
max_wait 接続プールで接続を取得する際の最大待機時間。 ms
min_idle 接続プールで許可される最小アイドル接続数。 count
pooling_count 現在のアイドル接続数。 count
recycle_count 回収された接続数。 count
rollback_count ロールバックされたトランザクション数。 count
wait_thread_count 現在接続取得を待機しているスレッド数。 count

フィードバック

このページは役に立ちましたか?