datadog에 python, DogStatsD를 통해 Metrics를 보냅니다.
소개
datadog는 SaaS 형식의 서버 운영 모니터링 도구입니다.
감시 대상의 각종 서버로부터 각 메트릭을 datadog에 송신함으로써,
브라우저에서 다양한 분석을 할 수 있습니다.
datadog는 각 서버의 리소스와 응용 프로그램의 실행 횟수 · TAT를 datadog에 보내주는 에이전트를 제공해주고 있습니다. 보려고 생각합니다.
데이터베이스의 특정 테이블의 데이터량을 계속 보내거나 쉘 스크립트의 실행 횟수를 보내는 등 활용 용도는 여러가지 생각된다고 생각합니다.
전제
python3 사용
Metrics를 보내는 스크립트 만들기
DogStatsD 서버를 통해 Metrics를 보냅니다.
datadog 라이브러리 설치
pip3 install datadog
샘플 스크립트
sample.pyimport 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)
해설
샘플 전반.pyoptions = {
'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)이 계속 송신되고 있는 것을 알 수 있을까 생각합니다.
마지막으로
python3 사용
Metrics를 보내는 스크립트 만들기
DogStatsD 서버를 통해 Metrics를 보냅니다.
datadog 라이브러리 설치
pip3 install datadog
샘플 스크립트
sample.pyimport 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)
해설
샘플 전반.pyoptions = {
'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)이 계속 송신되고 있는 것을 알 수 있을까 생각합니다.
마지막으로
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)
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)
이런 사용을 할 수 있으면 보다 데이터의 가시화를 할 수 있는 것은 아닐까요?
Reference
이 문제에 관하여(datadog에 python, DogStatsD를 통해 Metrics를 보냅니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nyaoki_board/items/1883f6180f9a16b31c3f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)