datadog에 python, DogStatsD를 통해 Metrics를 보냅니다.

5745 단어 파이썬Datadog

소개



datadog는 SaaS 형식의 서버 운영 모니터링 도구입니다.
감시 대상의 각종 서버로부터 각 메트릭을 datadog에 송신함으로써,
브라우저에서 다양한 분석을 할 수 있습니다.

datadog는 각 서버의 리소스와 응용 프로그램의 실행 횟수 · TAT를 datadog에 보내주는 에이전트를 제공해주고 있습니다. 보려고 생각합니다.

데이터베이스의 특정 테이블의 데이터량을 계속 보내거나 쉘 스크립트의 실행 횟수를 보내는 등 활용 용도는 여러가지 생각된다고 생각합니다.

전제



python3 사용

Metrics를 보내는 스크립트 만들기



DogStatsD 서버를 통해 Metrics를 보냅니다.

datadog 라이브러리 설치


pip3 install datadog

샘플 스크립트



sample.py
import random
from datadog import initialize
from datadog import statsd

#   まずは初期化
options = {
    'statsd_host':'127.0.0.1',
    'statsd_port':8125
}

initialize(**options)

#   tagと値を作る
tags = ['version:1', 'application:web']
value=random.randint(0, 100)

#   metricのset
metric="myapp.testdata.set"
statsd.set(metric, value, tags=tags)
#   metricのgauge
metric="myapp.testdata.gauge"
statsd.gauge(metric, value, tags=tags)

해설



샘플 전반.py
options = {
    'statsd_host':'127.0.0.1',
    'statsd_port':8125
}

initialize(**options)

우선은 초기화입니다. DogStatsD 서버의 주소와 포트를 지정합니다.
기본값은 UDP:8125입니다.

샘플 후반.py
#   tagと値を作る
tags = ['version:1', 'application:web']
value=random.randint(0, 100)

#   metricのset
metric="myapp.testdata.set"
statsd.set(metric, value, tags=tags)
#   metricのgauge
metric="myapp.testdata.gauge"
statsd.gauge(metric, value, tags=tags)

Metrics를 제출할 때 다음 방법 중 하나를 사용해야 합니다.


메소드 이름
해설


set()
메서드를 호출한 횟수가 전송됨

gauge()
메서드로 값 보내기


용도에 따라 선택하십시오.
언뜻 보지 못하는 분은 감각적으로 알 수 있도록 다음 섹션에서 설명합니다.

샘플 스크립트 결과



샘플 스크립트는 set 메소드와 gauge 메소드를 모두 호출합니다.
이 스크립트를 1분마다 계속 호출한 결과를 datagog에서 표시해 보겠습니다.



set 메소드가 1분에 1회 호출되고 있는 것을 카운트 하고 있기 때문에, 값 1이 매분 계속하고 있어, gauge 메소드는 랜덤값(0~100)이 계속 송신되고 있는 것을 알 수 있을까 생각합니다.

마지막으로


  • set () 메소드는 스크립트 실행 횟수 등을 사용합니다.
  • gauge () 메서드는 데이터 양의 변화 등을 기록하는 데 사용됩니다.

    이런 사용을 할 수 있으면 보다 데이터의 가시화를 할 수 있는 것은 아닐까요?
  • 좋은 웹페이지 즐겨찾기