Skip to content

Latest commit

 

History

History
84 lines (72 loc) · 2.82 KB

README_ja.md

File metadata and controls

84 lines (72 loc) · 2.82 KB

mackerel-sql-metric-collector

DB からメトリックを収集して Mackerel のサービスメトリックとして投稿する CLI です。

使い方

./bin/mackerel-sql-metric-collector \
  --dsn="ssm://PARAMETER_NAME?withDecryption=true" \
  --mackerel-apikey="ssm://PARAMETER_NAME?withDecryption=true" \
  --default-service="myapp" \
  --query-file "s3://BUCKET/KEY"
  • --dsn は環境変数 DSN でも設定可能です
  • --mackerel-apikey は環境変数 MACKEREL_APIKEY でも設定可能です
  • --default-service は環境変数 DEFAULT_SERVICE でも設定可能です
  • --query-file を指定しない場合は標準入力からクエリ設定 (YAML) を読み込みます

オプションのデータソース

--query-file では YAML のデータソースとして 以下の形式をサポートします。 --query-file 以外では オプション値のデータソースとして 以下の形式をサポートします。

  • STRING: 文字列
  • file:///PATH/TO/FILE: ファイル
  • s3://BUCKET/KEY?regisonHint=REGION: s3
  • ssm://NAME?withDecryption=(true|false): パラメータストア

DSN 例

クエリ設定例

---
- keyPrefix: "users"
  valueKey:
    "count": "user_num" # users.count メトリックとして user_num の値を使用します
  sql: |-
    SELECT
      COUNT(id) AS user_num
    FROM
      users
    WHERE
      created_at >= current_timestamp - INTERVAL '30 DAYS'
- keyPrefix: "users"
  service: "other_service" # 投稿先のサービスを --default-service とは別にしたい場合に定義します
  valueKey:
    "status.#{status}": "user_num" # クエリ結果をメトリック名に使用する
  sql: |-
    SELECT
      status,
      COUNT(id) AS user_num,
    FROM
      users
    WHERE
      is_admin = $1
      AND users.updated_at >= current_timestamp - INTERVAL '30 DAYS'
    GROUP BY status
  params: # プレースホルダのパラメータ値を指定します
    - false