KO
|
EN
gitlite — search
Search
#javascript
#python
#hacktoberfest
#react
#ai
#typescript
#llm
#go
#golang
#android
#machine-learning
#rust
#deep-learning
#linux
statsd
★ 18,070
Open GitHub ↗
간편하면서도 강력한 통계 집계를 위한 데몬
Download README (.md)
Explore Similar Repositories
sweetalert2
:
✨ A beautiful, responsive, highly customizable and accessible (WAI-ARIA) replacement for JavaScript's popup boxes. Zero dependencies. 🇺🇦🇪🇺
abseil-cpp
:
Abseil Common Libraries (C++)
diff-so-fancy
:
Make your diffs human readable for improved code quality and faster defect detection. :tada:
leetcode
:
LeetCode Problems' Solutions
xbar
:
Put the output from any script or program into your macOS Menu Bar (the BitBar reboot)
// repository documentation
원문보기 (View Original)
// original (English)
Was this content helpful?
★ 0
(0 ratings)
Select Rating:
★
★
★
★
★
Submit Feedback
Recent Feedback
×
Download README
Do you want to download the
README.md
file for
statsd
?
원문 다운로드 (English .md)
한글 번역본 다운로드 (Korean .md)
# StatsD [](https://gitter.im/statsd/statsd?utm\_source=badge&utm\_medium=badge&utm\_campaign=pr-badge) [](https://hub.docker.com/r/statsd/statsd) [Node.js][node] 플랫폼 위에서 실행되며, [UDP][udp] 또는 [TCP][tcp]를 통해 전송되는 카운터 및 타이머 같은 통계 데이터를 수신하고, 집계된 데이터를 하나 이상의 플러그인 가능한 백엔드 서비스(예: [Graphite][graphite])로 전송하는 네트워크 데몬입니다. ## 핵심 개념 * \*buckets\* 각 통계는 고유한 "버킷"에 속합니다. 버킷은 사전에 정의되어 있지 않습니다. 버킷 이름은 Graphite로 변환될 수 있는 것이라면 무엇이든 사용할 수 있습니다(마침표는 폴더를 생성하는 등의 역할을 합니다). * \*values\* 각 통계는 값을 가집니다. 이 값이 어떻게 해석되는지는 수정자(modifier)에 따라 다릅니다. 일반적으로 값은 정수여야 합니다. * \*flush\* 플러시 주기 타임아웃(`config.flushInterval`로 정의되며, 기본값은 10초)이 지나면 통계가 집계되어 업스트림 백엔드 서비스로 전송됩니다. ## 설치 및 설정 ### Docker StatsD는 세 가지 방식으로 Docker를 지원합니다: * [GitHub Container Registry](https://github.com/statsd/statsd/pkgs/container/statsd)의 공식 컨테이너 이미지 * [DockerHub](https://hub.docker.com/r/statsd/statsd)의 공식 컨테이너 이미지 * 번들로 제공되는 [Dockerfile](./Dockerfile)을 사용하여 이미지 빌드하기 ### 수동 설치 * Node.js 설치 (`Current` 및 `LTS` Node.js 버전이 모두 지원됩니다: [Node.js 버전 정보](https://nodejs.org/en/about/releases/)) * 프로젝트 복제 * `exampleConfig.js`를 참고하여 설정 파일을 생성하고 적절한 위치에 배치 * 데몬 시작: `node stats.js /path/to/config` ## 사용법 기본 라인 프로토콜은 메트릭이 다음 형식으로 전송될 것으로 예상합니다: :| 따라서 로컬호스트에서 기본 UDP 서버로 StatsD를 실행 중인 경우 커맨드 라인에서 메트릭을 전송하는 가장 간단한 방법은 다음과 같습니다: echo "foo:1|c" | nc -u -w0 127.0.0.1 8125 ## 추가 주제 * [메트릭 타입][docs\_metric\_types] * [Graphite 연동][docs\_graphite] * [지원되는 서버][docs\_server] * [지원되는 백엔드][docs\_backend] * [관리자 TCP 인터페이스][docs\_admin\_interface] * [서버 인터페이스][docs\_server\_interface] * [백엔드 인터페이스][docs\_backend\_interface] * [메트릭 네임스패싱][docs\_namespacing] * [StatsD 클러스터 프록시][docs\_cluster\_proxy] ## 디버깅 디버깅을 위해 사용할 수 있는 추가 설정 변수들이 있습니다: * `debug` - 예외를 로깅하고 진단 정보를 더 자세히 출력합니다. * `dumpMessages` - 들어오는 메시지에 대한 디버그 정보를 출력합니다. 자세한 내용은 `exampleConfig.js`를 확인하세요. ## 테스트 node-unit과 StatsD를 시작하고 조작하기 위한 몇 가지 커스텀 코드를 사용하여 테스트 프레임워크가 추가되었습니다. 새로운 기능이나 버그 수정 사항이 있는 경우 test/ 하위에 테스트를 추가해 주세요. 라이브 서버 테스트는 까다로울 수 있으며, 경쟁 상태(race condition)를 없애기 위한 시도가 이루어졌으나 멈춘 상태(stuck state)가 발생할 수도 있습니다. 개발 작업을 수행하는 동안 백그라운드에 남아 있는 테스트 서버를 종료하려면 `killall statsd`를 실행할 수 있습니다(운영 환경에서는 절대 실행하지 마세요!). 테스트는 `./run\_tests.sh`로 실행할 수 있습니다. ## 역사 StatsD는 원래 [Etsy][etsy]에서 작성되었으며, 작동 방식과 이를 만든 이유에 대한 [블로그 글][blog post]과 함께 공개되었습니다. ## 영감 StatsD는 Flickr의 동명 프로젝트로부터 (큰) 영감을 받았습니다. Cal Henderson이 이에 대해 자세히 설명한 글은 다음과 같습니다: [Counting and timing][counting-timing]. Cal은 최근에 코드를 다시 공개했습니다: [Perl StatsD][Flicker-StatsD] [graphite]: http://graphite.readthedocs.org/ [etsy]: http://www.etsy.com [blog post]: https://codeascraft.etsy.com/2011/02/15/measure-anything-measure-everything/ [node]: http://nodejs.org [nodemods]: http://nodejs.org/api/modules.html [counting-timing]: http://code.flickr.com/blog/2008/10/27/counting-timing/ [Flicker-StatsD]: https://github.com/iamcal/Flickr-StatsD [udp]: http://en.wikipedia.org/wiki/User\_Datagram\_Protocol [tcp]: http://en.wikipedia.org/wiki/Transmission\_Control\_Protocol [docs\_metric\_types]: docs/metric_types.md [docs\_graphite]: docs/graphite.md [docs\_server]: docs/server.md [docs\_backend]: docs/backend.md [docs\_admin\_interface]: docs/admin_interface.md [docs\_server\_interface]: docs/server_interface.md [docs\_backend\_interface]: docs/backend_interface.md [docs\_namespacing]: docs/namespacing.md [docs\_cluster\_proxy]: docs/cluster_proxy.md [pes]: https://github.com/statsd/statsd/blob/master/docs/metric\_types.md [docs\_graphite]: https://github.com/statsd/statsd/blob/master/docs/graphite.md [docs\_server]: https://github.com/statsd/statsd/blob/master/docs/server.md [docs\_backend]: https://github.com/statsd/statsd/blob/master/docs/backend.md [docs\_admin\_interface]: https://github.com/statsd/statsd/blob/master/docs/admin\_interface.md [docs\_server\_interface]: https://github.com/statsd/statsd/blob/master/docs/server\_interface.md [docs\_backend\_interface]: https://github.com/statsd/statsd/blob/master/docs/backend\_interface.md [docs\_namespacing]: https://github.com/etsy/statsd/blob/master/docs/namespacing.md [docs\_cluster\_proxy]: https://github.com/etsy/statsd/blob/master/docs/cluster\_proxy.md [travis-ci\_status\_img]: https://travis-ci.org/statsd/statsd.svg?branch=master [travis-ci\_statsd]: https://travis-ci.org/statsd/statsd