전체 문서, 예제 및 가이드를 보려면 prometheus.io를 방문하세요.
Cloud Native Computing Foundation 프로젝트인 Prometheus는 시스템 및 서비스 모니터링 시스템입니다. 지정된 간격으로 구성된 대상에서 지표를 수집하고, 규칙 표현식을 평가하고, 결과를 표시하고, 지정된 조건이 관찰되면 경고를 트리거할 수 있습니다.
Prometheus를 다른 측정항목 및 모니터링 시스템과 구별하는 기능은 다음과 같습니다.
다차원 데이터 모델(메트릭 이름 및 키/값 차원 세트로 정의된 시계열)
이러한 차원성을 활용하는 강력하고 유연한 쿼리 언어 인 PromQL
분산 스토리지에 의존하지 않습니다. 단일 서버 노드는 자율적입니다.
시계열 수집을 위한 HTTP 풀 모델
일괄 작업을 위한 중간 게이트웨이를 통해 시계열 푸시가 지원됩니다.
서비스 검색 또는 정적 구성을 통해 대상이 검색됩니다.
다양한 그래프 작성 및 대시보드 지원 모드
계층적 및 수평적 연합 지원
프로메테우스를 설치하는 방법은 다양합니다.
출시된 버전에 대해 미리 컴파일된 바이너리는 prometheus.io의 다운로드 섹션에서 사용할 수 있습니다. 최신 프로덕션 릴리스 바이너리를 사용하는 것이 Prometheus 설치에 권장되는 방법입니다. 자세한 내용은 설명서의 설치 장을 참조하세요.
Docker 이미지는 Quay.io 또는 Docker Hub에서 사용할 수 있습니다.
Prometheus 컨테이너를 실행하여 사용해 볼 수 있습니다.
docker run --name prometheus -d -p 127.0.0.1:9090:9090 prom/prometheus
이제 http://localhost:9090/에서 Prometheus에 연결할 수 있습니다.
소스 코드에서 Prometheus를 빌드하려면 다음이 필요합니다.
버전 1.17 이상으로 이동하세요.
NodeJS 버전 16 이상.
npm 버전 7 이상.
저장소를 복제하여 시작합니다.
자식 클론 https://github.com/prometheus/prometheus.gitcd 프로메테우스
go
도구를 사용하여 prometheus
및 promtool
바이너리를 빌드하고 GOPATH
에 설치할 수 있습니다.
GO111MODULE=on go install github.com/prometheus/prometheus/cmd/... 프로메테우스 --config.file=your_config.yml
그러나 go install
사용하여 Prometheus를 빌드하는 경우 Prometheus는 web/ui/static
및 web/ui/templates
아래의 로컬 파일 시스템 디렉터리에서 웹 자산을 읽을 수 있을 것으로 예상합니다. 이러한 자산을 찾으려면 복제된 저장소의 루트에서 Prometheus를 실행해야 합니다. 또한 이러한 디렉토리에는 make assets
또는 make build
사용하여 명시적으로 빌드되지 않는 한 React UI가 포함되지 않습니다.
위 구성 파일의 예는 여기에서 찾을 수 있습니다.
Prometheus를 어디서나 실행할 수 있도록 웹 자산에서 컴파일되는 make build
사용하여 빌드할 수도 있습니다.
빌드하다 ./prometheus --config.file=your_config.yml
Makefile은 여러 대상을 제공합니다.
build : prometheus
및 promtool
바이너리를 빌드합니다(웹 자산의 빌드 및 컴파일 포함).
test : 테스트를 실행
test-short : 간단한 테스트를 실행합니다.
format : 소스 코드의 형식을 지정합니다.
vet : 소스 코드에서 일반적인 오류를 확인하세요.
자산 : React UI 빌드
Prometheus는 다양한 서비스 검색 플러그인과 함께 번들로 제공됩니다. 소스에서 Prometheus를 빌드할 때plugins.yml 파일을 편집하여 일부 서비스 검색을 비활성화할 수 있습니다. 이 파일은 Prometheus 바이너리에 구축될 go 가져오기 경로의 yaml 형식 목록입니다.
파일을 변경한 후에는 make build
다시 실행해야 합니다.
Prometheus를 컴파일하기 위해 다른 방법을 사용하는 경우, make plugins
이에 따라 플러그인 파일을 생성합니다.
현재 우리가 보증하지 않는 외부 플러그인을 추가하는 경우 go.mod
및 go.sum
파일을 조정하기 위한 추가 단계가 필요할 수 있습니다. 언제나 그렇듯, 제3자 코드를 로드할 때는 각별히 주의하세요.
make docker
타겟은 CI 시스템에서 사용하도록 설계되었습니다. 다음 명령을 사용하여 로컬에서 Docker 이미지를 빌드할 수 있습니다.
홍보하다 promu 크로스빌드 -p linux/amd64 npm_licenses 만들기 common-docker-amd64를 만드세요.
우리는 buf.build에 Remote Write protobuf를 독립적으로 게시하고 있습니다.
이를 라이브러리로 사용할 수 있습니다.
buf.build/gen/go/prometheus/prometheus/protocolbuffers/go@latest로 이동하세요.
이것은 실험적입니다.
Go 모드 규칙을 준수하기 위해 Prometheus 릴리스 번호는 Go 모듈 릴리스와 정확히 일치하지 않습니다. Prometheus v2.yz 릴리스의 경우 동등한 v0.yz 태그를 게시하고 있습니다.
따라서 Prometheus v2.35.0을 라이브러리로 사용하려는 사용자는 다음을 수행할 수 있습니다.
github.com/prometheus/[email protected]으로 이동하세요.
이 솔루션을 사용하면 주요 버전 0에서는 주요 변경이 허용되므로 사용자가 접하는 소규모 릴리스 간에 내부 Go API가 중단될 수 있음이 분명해집니다.
React 기반 UI 구축, 실행, 개발에 대한 자세한 내용은 React 앱의 README.md를 참조하세요.
Godoc 문서는 pkg.go.dev를 통해 제공됩니다. Go 모듈의 특성으로 인해 v2.xy는 v0.xy로 표시됩니다.
다양한 커뮤니케이션 채널을 통해 Prometheus 개발자 및 사용자에게 접근하는 방법은 커뮤니티 페이지를 참조하세요.
CONTRIBUTING.md를 참조하세요.
Apache 라이센스 2.0, 라이센스를 참조하십시오.