Datadog (dogコマンド) service_check編
Datadog公式のツール dog 使用方法まとめ service_check 編です。

service_check Modes
カスタムステータスチェックの送信を行います。 APIは check_run が該当します。
check
usage: dog service_check check [-h] [--timestamp TIMESTAMP]
[--message MESSAGE] [--tags TAGS]
check host_name status
positional arguments:
| 引数 | 説明 |
|---|---|
| check | 送信メッセージ |
| host_name | 関連ホスト名 |
| status | ステータス値。整数。(‘0’:OK, ‘1’:WARNING, ‘2’:CRITICAL, ‘3’:UNKNOWN) |
optional arguments:
| ロングオプション | 説明 |
|---|---|
| –timestamp | イベント発生日時。POSIX。(デフォルト現在日時) |
| –message | ステータス値の説明 |
| –tags | タグを付与 |
実行例
timestamp、message オプションは必須のようです。
message 未指定だとエラーとなり、 timestamp 未指定だと Datadog(WebUI)側で表示されませんでした。
# message 未指定
$ dog service_check check "customService" "$(uname -n)" 0
ERROR: "message" parameter should be a string
# message 指定
$ dog service_check check --timestamp $(date +'%s') --message "CustomServiceMessage" "customService" "$(uname -n)" 0
{"status": "ok"}
正常に登録できた場合、[Check Summary]に表示されます。

host_name に指定した値の host: タグが付与されます。

Monitor(Custom Check) 作成時の指定も可能になります。

tag オプション
任意のタグを付与します。
複数タグはできないようです。
(タブ区切り、スペース区切りを試しましたが、 _ に置換され結合されてしまいました。)
$ dog service_check check --timestamp $(date +'%s') --message "CustomServiceMessage" "customService" --tags "stage:dev" "$(uname -n)" 0
{"status": "ok"}

status 値
status に不正な値を入れるとエラーが返ります。
Traceback (most recent call last):
File "/usr/bin/dog", line 9, in <module>
load_entry_point('datadog==0.15.0', 'console_scripts', 'dog')()
File "/usr/lib/python2.7/site-packages/datadog/dogshell/__init__.py", line 69, in main
args.func(args)
File "/usr/lib/python2.7/site-packages/datadog/dogshell/service_check.py", line 34, in _check
timestamp=args.timestamp, message=args.message, tags=args.tags)
File "/usr/lib/python2.7/site-packages/datadog/api/service_checks.py", line 37, in check
% ', '.join(str(v) for v in CheckStatus.ALL))
datadog.api.exceptions.ApiError: Invalid status, expected one of: 0, 1, 2, 3
message 値
Monitor に {{check_message}} を設定することで、 –message で指定した内容を通知に含むことができます。

- Slackへの通知例

0からカスタムチェックを作成するよりは、手軽に実装できると思います。