Datadog の MySQL インテグレーションでは、カスタムクエリからメトリクスを収集できます。

構成

詳細な設定手順は MySQL conf.yaml を参照してください。以下の追加事項も考慮してください。

データベースの明示

MySQL conf.yaml にカスタムクエリを追加する際は、参照する各テーブルにデータベース名を付けて修飾する必要があります。形式は次のとおりです。

SELECT * FROM database_name.table_name WHERE...

データベース名を省略すると、Agent は No database selected エラーでクエリを実行できません。

メトリクス名の指定

クエリで指定したメトリクス名はそのまま使用され、接頭辞は追加されません。例: myapp.custom_query.test

収集頻度

デフォルトでは、MySQL チェックによって 15〜20 秒ごとにメトリクスが収集されます。別の頻度で取得したい場合は、MySQL チェック全体の実行間隔を短くする (この場合、一般的な mysql.* メトリクスの頻度も変わります) か、API または DogStatsD を使用して CRON スクリプトでメトリクスを送信してください。

カスタムクエリの数

MySQL チェックで大量のカスタムクエリを実行すると、他の Agent チェックが遅延する場合があります。多数のカスタム MySQL クエリからメトリクスを収集する必要がある場合は、API または DogStatsD を使用して CRON スクリプトで送信してください。

tester というデータベースに test_table というテーブルがあり、以下のデータが含まれているとします。

col_1 | col_2 | col_3
---------------------
1     | a     | a
2     | b     | b
3     | c     | c

次のカスタムクエリを MySQL の conf.yaml に追加すると、値 2 のメトリクス myapp.custom_query.test.b が収集されます。

    custom_queries:
      - query: SELECT col_1 FROM tester.test_table WHERE col_2 = 'b'
        columns:
        - name: myapp.custom_query.test.b
          type: gauge
        tags:
        - tester:mysql

その他の参考資料

お役に立つドキュメント、リンクや記事: