Service Checks Submission: DogStatsD
이 페이지는 아직 한국어로 제공되지 않습니다. 번역 작업 중입니다.
현재 번역 프로젝트에 대한 질문이나 피드백이 있으신 경우
언제든지 연락주시기 바랍니다.While StatsD accepts only metrics, DogStatsD accepts all three of the major Datadog data types: metrics, events, and service checks. This section shows typical use cases for service checks with code examples.
Function
After installing DogStatsD, you can send service checks to Datadog with the following function:
service_check(<SERVICE_CHECK_NAME>, <STATUS>, <TAGS>, <HOSTNAME>, <MESSAGE>)
Service check function parameters:
| Parameter | Type | Required | Default Value | Description |
|---|
<SERVICE_CHECK_NAME> | String | Yes | - | The name of the service check. |
<STATUS> | Int | Yes | - | A constant describing the service status: 0 for OK, 1 for WARN, 2 for CRITICAL, and 3 for UNKNOWN. |
<TAGS> | List of key:value pairs | No | - | A list of tags to associate with the service check. |
<HOSTNAME> | String | No | Current host | The hostname to associate with the service check. |
<MESSAGE> | String | No | - | Additional information or a description of why the status occurred. |
Code examples
Run the following code to submit a service check through DogStatsD to Datadog. Remember to flush/close the client when it is no longer needed.
from datadog import initialize, statsd
options = {"statsd_host": "127.0.0.1", "statsd_port": 8125}
initialize(**options)
statsd.service_check(
check_name="application.service_check",
status="0",
message="Application is OK",
)
require 'datadog/statsd'
statsd = Datadog::Statsd.new('localhost', 8125)
statsd.service_check('application.service_check', 0, {'message' => 'Application is OK'})
package main
import (
"log"
"time"
"github.com/DataDog/datadog-go/statsd"
)
func main() {
dogstatsdClient, err := statsd.New("127.0.0.1:8125")
if err != nil {
log.Fatal(err)
}
for {
dogstatsdClient.SimpleServiceCheck("application.service_check", 0)
time.Sleep(10 * time.Second)
}
}
import com.timgroup.statsd.ServiceCheck;
import com.timgroup.statsd.NonBlockingStatsDClientBuilder;
import com.timgroup.statsd.StatsDClient;
public class DogStatsdClient {
public static void main(String[] args) throws Exception {
StatsDClient Statsd = new NonBlockingStatsDClientBuilder()
.prefix("statsd").
.hostname("localhost")
.port(8125)
.build();
ServiceCheck sc = ServiceCheck.builder()
.withName("Service.check.name")
.withStatus(ServiceCheck.Status.OK)
.build();
Statsd.serviceCheck(sc);
}
}
using StatsdClient;
public class DogStatsdClient
{
public static void Main()
{
var dogstatsdConfig = new StatsdConfig
{
StatsdServerName = "127.0.0.1",
StatsdPort = 8125,
};
using (var dogStatsdService = new DogStatsdService())
{
if (!dogStatsdService.Configure(dogstatsdConfig))
throw new InvalidOperationException("Cannot initialize DogstatsD. Set optionalExceptionHandler argument in the `Configure` method for more information.");
dogStatsdService.ServiceCheck("Service.check.name", 0, message: "Application is OK.", tags: new[] { "env:dev" });
}
}
}
<?php
require __DIR__ . '/vendor/autoload.php';
use DataDog\DogStatsd;
$statsd = new DogStatsd(
array('host' => '127.0.0.1',
'port' => 8125,
)
);
$statsd->service_check('Service.check.name', 0);
After a service check is reported, use it to trigger a service check monitor.
Further reading