PowerShellからDatadogにイベントを通知する
Pocket

LinuxのコンソールなどからコマンドでDatadogのDashboardとかを編集したり、イベントの通知をする場合はDatadogpyなどを用いれば良いのだが、Windows Server上からコマンドで実行させたい事があった。
で、結論としてはDatadogではRestAPIが用意されているので、PowerShellでそれ経由で処理させれば良い。

Sponsored Links

●datadog-sample.ps1

# ----------------------
# Datadog Powershellイベント通知スクリプト(Sample)
# ----------------------

$url_base = "https://app.datadoghq.com/"
$api_key = 'APIキー'
$app_key = 'APPキー'

$http_method = "POST"
$url_signature = "api/v1/events"
$currenttime = (Get-Date -date ((get-date).ToUniversalTime()) -UFormat %s) -Replace("[,\.]\d*", "")
$parameters = "{
    `"title`":`"PowerShell テスト`",
    `"text`":`"PowerShellでのDatadog通知テスト`",
    `"priority`": `"normal`",
    `"alert_type`": `"warning`"
    }"

$url = $url_base + $url_signature + "?api_key=$api_key" + "&" + "application_key=$app_key"
$http_request = New-Object -ComObject Msxml2.XMLHTTP
$http_request.open($http_method, $url, $false)
$http_request.setRequestHeader("Content-type", "application/json")
$http_request.setRequestHeader("Connection", "close")
$http_request.send($parameters)
$http_request.status
$http_request.responseText

 

イベント以外もRestAPIから操作可能なので、bashなどのサンプルを参考にPowerShellに書き直していけば良い。

Pocket

Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

Leave a Comment

メールアドレスが公開されることはありません。