DogStatsD をインストールした後、次の関数を使用して Datadog のイベントストリームにイベントを送信できます。
event(<タイトル>, <テキスト>, <タイムスタンプ>, <ホスト名>, <集計キー>, <優先度>, <ソースタイプ名>, <アラートタイプ>, <タグ>)
定義:
パラメーター | 種類 | 必須 | 説明 |
---|---|---|---|
<タイトル> | 文字列 | はい | イベントのタイトル |
<テキスト> | 文字列 | はい | イベントのテキスト本文 |
<タイムスタンプ> | 整数 | はい | イベントの Epoch タイムスタンプ (デフォルトで DogStatsD サーバーからの現在時刻が入力されます) |
<ホスト名> | 文字列 | いいえ | ホストの名前 |
<集計キー> | 文字列 | いいえ | イベントを集計するために使用するキー |
<優先度> | 文字列 | いいえ | イベントの優先度を指定します (normal または low )。 |
<ソースタイプ名> | 文字列 | いいえ | ソースタイプの名前 |
<アラートタイプ> | 文字列 | いいえ | error 、warning 、success 、または info (デフォルトは info ) |
<タグ> | 文字列のリスト | いいえ | このイベントに関連付けられるタグのリスト |
DogStatsD イベントによる Datadog 内でのエラーと例外を表示します。
event.py
from datadog import initialize, statsd
options = {
'statsd_host':'127.0.0.1',
'statsd_port':8125
}
initialize(**options)
statsd.event('An error occurred', 'Error message', alert_type='error', tags=['env:dev'])
event.rb
require 'datadog/statsd'
statsd = Datadog::Statsd.new('localhost', 8125)
statsd.event('An error occurred', "Error message", alert_type: 'error', tags: ['env:dev'])
event.go
package main
import (
"log"
"time"
<span class="s">"github.com/DataDog/datadog-go/statsd"</span>
)
func main() {
<span class="nx">dogstatsdClient</span><span class="p">,</span> <span class="nx">err</span> <span class="o">:=</span> <span class="nx">statsd</span><span class="p">.</span><span class="nf">New</span><span class="p">(</span><span class="s">"127.0.0.1:8125"</span><span class="p">)</span>
<span class="k">if</span> <span class="nx">err</span> <span class="o">!=</span> <span class="kc">nil</span> <span class="p">{</span>
<span class="nx">log</span><span class="p">.</span><span class="nf">Fatal</span><span class="p">(</span><span class="nx">err</span><span class="p">)</span>
<span class="p">}</span>
<span class="k">for</span> <span class="p">{</span>
<span class="nx">dogstatsdClient</span><span class="p">.</span><span class="nf">SimpleEvent</span><span class="p">(</span><span class="s">"An error occurred"</span><span class="p">,</span> <span class="s">"Error message"</span><span class="p">)</span>
<span class="nx">time</span><span class="p">.</span><span class="nf">Sleep</span><span class="p">(</span><span class="mi">10</span> <span class="o">*</span> <span class="nx">time</span><span class="p">.</span><span class="nx">Second</span><span class="p">)</span>
<span class="p">}</span>
}
event.java
import com.timgroup.statsd.Event;
import com.timgroup.statsd.NonBlockingStatsDClientBuilder;
import com.timgroup.statsd.StatsDClient;
public class DogStatsdClient {
<span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
<span class="n">StatsDClient</span> <span class="n">Statsd</span> <span class="o">=</span> <span class="k">new</span> <span class="n">NonBlockingStatsDClientBuilder</span><span class="o">()</span>
<span class="o">.</span><span class="na">prefix</span><span class="o">(</span><span class="s">"statsd"</span><span class="o">).</span>
<span class="o">.</span><span class="na">hostname</span><span class="o">(</span><span class="s">"localhost"</span><span class="o">)</span>
<span class="o">.</span><span class="na">port</span><span class="o">(</span><span class="n">8125</span><span class="o">)</span>
<span class="o">.</span><span class="na">build</span><span class="o">();</span>
<span class="n">Event</span> <span class="n">event</span> <span class="o">=</span> <span class="n">Event</span><span class="o">.</span><span class="na">builder</span><span class="o">()</span>
<span class="o">.</span><span class="na">withTitle</span><span class="o">(</span><span class="s">"An error occurred"</span><span class="o">)</span>
<span class="o">.</span><span class="na">withText</span><span class="o">(</span><span class="s">"Error message"</span><span class="o">)</span>
<span class="o">.</span><span class="na">withAlertType</span><span class="o">(</span><span class="n">Event</span><span class="o">.</span><span class="na">AlertType</span><span class="o">.</span><span class="na">ERROR</span><span class="o">)</span>
<span class="o">.</span><span class="na">build</span><span class="o">();</span>
<span class="n">Statsd</span><span class="o">.</span><span class="na">recordEvent</span><span class="o">(</span><span class="n">event</span><span class="o">);</span>
<span class="o">}</span>
}
event.cs
using StatsdClient;
public class DogStatsdClient
{
public static void Main()
{
var dogstatsdConfig = new StatsdConfig
{
StatsdServerName = "127.0.0.1",
StatsdPort = 8125,
};
<span class="k">using</span> <span class="p">(</span><span class="kt">var</span> <span class="n">dogStatsdService</span> <span class="p">=</span> <span class="k">new</span> <span class="n">DogStatsdService</span><span class="p">())</span>
<span class="p">{</span>
<span class="n">dogStatsdService</span><span class="p">.</span><span class="n">Configure</span><span class="p">(</span><span class="n">dogstatsdConfig</span><span class="p">);</span>
<span class="n">dogStatsdService</span><span class="p">.</span><span class="n">Event</span><span class="p">(</span><span class="s">"An error occurred"</span><span class="p">,</span> <span class="s">"Error message"</span><span class="p">,</span> <span class="n">alertType</span><span class="p">:</span> <span class="s">"error"</span><span class="p">,</span> <span class="n">date_happened</span><span class="p">=</span><span class="err">'</span><span class="n">TIMESTAMP</span><span class="err">'</span><span class="p">,</span> <span class="n">tags</span><span class="p">:</span> <span class="k">new</span><span class="p">[]</span> <span class="p">{</span> <span class="s">"env:dev"</span> <span class="p">});</span>
<span class="p">}</span>
<span class="p">}</span>
}
event.php
<?php
require DIR . '/vendor/autoload.php';
use DataDog\DogStatsd;
$statsd = new DogStatsd(
array('host' => '127.0.0.1',
'port' => 8125,
)
);
$statsd->event('An error occurred.',
array( 'text' => 'Error message',
'alert_type' => 'error'
)
);
DogStatsD-PHP ライブラリを使用すると、イベントを TCP 経由で直接 Datadog API に送信できます。速度は遅くなりますが、イベントが UDP を使用してアプリケーションから Agent に転送されるため、Agent の DogStatsD インスタンスを使うよりも信頼性が高くなります。これを使用するには、ローカルの DogStatD インスタンスの代わりに Datadog API とアプリケーションのキーを使用してライブラリを構成する必要があります。
event_through_api.php
<?php
require DIR . '/vendor/autoload.php';
use DataDog\DogStatsd;
$statsd = new DogStatsd(
array('api_key' => '<DATADOG_API_キー>',
'app_key' => '<DATADOG_アプリケーションキー>',
)
);
$statsd->event('An error occurred.',
array( 'text' => 'Error message',
'alert_type' => 'error'
)
);
注:
try
/catch
のコード ブロックを使用する必要があります。このページ