Datadog公式のツール dog 使用方法まとめ metric 編です。
目次
* metric Modes
— post
—– positional arguments:
—– optional arguments:
—– 実行例
—– 単純実行
—– 1分以下の間隔で投稿
—– 20秒間隔
—– 5秒間隔
—– 登録データ確認(pointlist)
—– 小数点(decimal)
—– hostオプション
—– no_hostオプション
—– deviceオプション
—– typeオプション
—– 実行時エラー
* metric編まとめ
metric Modes
ヘルプに Post metrics.
とある通り、現在時刻でのメトリクス投稿が行えます。 現時点では参照系は未対応です。
サブコマンド | 説明 |
---|---|
post | メトリクス投稿 |
post
usage: dog metric post [-h] [--host HOST] [--no_host] [--device DEVICE] [--tags TAGS] [--localhostname] [--type TYPE] name value
positional arguments:
引数 | 説明 |
---|---|
name | メトリクス名 |
value | メトリクス値 |
optional arguments:
ロングオプション | 説明 |
---|---|
–host | 関連ホスト名(デフォルトはローカルホスト名) |
–no_host | 関連ホスト無し(–hostオプションは無視される) |
–device | 関連デバイス名 |
–tags | タグのリスト(カンマ区切り) |
–localhostname | 非推奨オプション(–hostオプションがない場合のデフォルトの挙動) |
–type | メトリクスのタイプ指定。gauge(32bit float) or counter(64bit integer) |
実行例
単純実行
name,value のみで投稿します。 成功時のレスポンスは特にありません。
$ dog metric post TestMetrics 1 $
hostオプションを使用していないため、実行 hostname に紐付けられます。
1分以下の間隔で投稿
グラフ上最短の丸め間隔である 20秒
を基準に挙動を確認してみます。
20秒間隔
投稿毎の値が表示できます。
5秒間隔
丸められます。
登録データ確認(pointlist)
登録されているデータ自体も20秒間隔となるようです。
小数点(decimal)
まず必要になることはなさそうですが、precision(有効桁) = 9 でしょうか。
以下のような値を連続で投稿してみます。
0.1 0.12 0.123 0.1234 0.12345 0.123456 0.1234567 0.12345678 0.123456789 0.12345678910 0.1234567891011 0.123456789101112 0.12345678910111213 0.1234567891011121314 0.123456789101112131415 0.12345678910111213141516 0.1234567891011121314151617 0.123456789101112131415161718 0.12345678910111213141516171819 0.1234567891011121314151617181920
hostオプション
dog metric post --host hogehost TestMetrics 5
指定した hostname で投稿できます。
no_hostオプション
# host有 dog metric post --host hogehost --no_host TestMetrics 10 # host無 dog metric post --no_host TestMetrics 3
host:N/A
となります。
deviceオプション
DatadogAgent を導入するとディスク関連のメトリクスが device タグとして登録されます。 その device タグに関連させるオプションと思われます。
存在しない device タグでも投稿はできるので、 device タグを付与するオプション と言い換えて良さそうです。
- 存在する device タグ
# 存在しないdeviceタグ $ dog metric post --device sda1 TestMetrics 5 # 存在するdeviceタグ $ dog metric post --device tmpfs TestMetrics 4
tagオプション
任意のタグ名とタグに関連付けが行えます。
$ dog metric post --tags tag1,tag2:2,hoge:fuga TestMetrics 15 $ dog metric post --tags tag1,tag2:3,hoge:hoge TestMetrics 7
localhostnameオプション
helpから削除してもらいたいオプションです。 非推奨なので、 WARNING が出力されます。
$ dog metric post --localhostname TestMetrics 1 WARNING: `--localhostname` command line flag is deprecated, made default when no `--host` is specified. See the `--host` option for more information.
動作としては、 –host オプションを使用しない(デフォルト)で実行した結果と同様、実行 hostname に紐付けられます。
typeオプション
違いがわかりませんでした。
type が任意の値でも登録されること、APIでサポートしているのは guage のみという記載があることから、実際は guage で登録されているのかもしれません。
HTTP API Submission
For the API all metrics are submitted the same way, with the type specified as a parameter.
Gauge Stored in Web App as GAUGE type
# gauge 整数 $ dog metric post --type gauge TestMetrics 1 # gauge 少数 $ dog metric post --type gauge TestMetrics 2.123 # counter 整数 $ dog metric post --type counter TestMetrics 3 # counter 少数 $ dog metric post --type counter TestMetrics 4.456 # type オプション無し $ dog metric post TestMetrics 5 $ dog metric post TestMetrics 6.789 # type に適当な値指定 $ dog metric post --type xxxxx TestMetrics 7
- gauge と counter を同時に投稿した結果
実行時エラー
value に数値以外を指定するとエラーが返ります。
$ dog metric post TestMetrics XXXXX usage: dog metric post [-h] [--host HOST] [--no_host] [--device DEVICE] [--tags TAGS] [--localhostname] [--type TYPE] name value dog metric post: error: argument value: invalid float value: 'XXXXX'
metric編まとめ
カスタムメトリクスを投稿する際、APIを使用するより簡単に扱えると思います。
今回 value 不正以外のエラーを発生させることが出来ませんでしたが、タグやタイプを間違えていても基本的には受け付けてしまうようです。