8장. 서비스 검색
이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com
지금까지는static_configs 을 통해 정적 구성을 사용하여 스크랩할 항목을 Prometheus가 찾도록 했습니다. 이것은 간단한 사용 사례에는 괜찮습니다,1 하지만 머신이 추가되고 제거될 때마다prometheus.yml을 수동으로 최신 상태로 유지해야 하는 것은 특히 매분 새로운 인스턴스가 생성될 수 있는 동적 환경에서는 매우 번거로울 수 있습니다. 이 장에서는 Prometheus에 스크랩할 항목을 알려주는 방법을 보여드리겠습니다.
귀사는 이미 모든 머신과 서비스가 어디에 있는지, 어떻게 배치되어 있는지 알고 있습니다. 서비스 검색(SD)을 사용하면 어떤 데이터베이스에 저장하든 해당 정보를 Prometheus에 제공할 수 있습니다. Prometheus는 Consul, Amazon EC2, Kubernetes와 같은 많은 일반적인 서비스 정보 소스를 기본으로 지원합니다. 특정 소스가 아직 지원되지 않는 경우, 파일 기반 및 HTTP 기반 서비스 검색 메커니즘을 사용하여 해당 소스를 연결할 수 있습니다. 파일 기반 서비스 검색의 경우, Ansible이나 Chef와 같은 구성 관리 시스템이 알고 있는 머신 및 서비스 목록을 올바른 형식으로 작성하도록 하거나, 사용하는 데이터 소스에서 정기적으로 실행되는 스크립트를 통해 이를 가져올 수 있습니다. HTTP 기반 서비스 검색의 경우, NetBox와 같은 타사 도구는 Prometheus와 호환되는 HTTP 서비스 검색 엔드포인트를 제공하기 위해 설치할 수 있는 플러그인을 제공합니다. 일부 SD 프로젝트는2 는 HTTP 기반 서비스 검색과 파일 기반 서비스 검색을 모두 지원합니다.
모니터링 대상이 무엇인지, 따라서 무엇을 스크랩해야 하는지 아는 것은 첫 번째 단계에 불과합니다. 레이블은 Prometheus의 핵심 부분이며(5장 참조), 대상에 대상 레이블을 할당하면 사용자에게 적합한 방식으로 대상을 그룹화 및 구성할 수 있습니다. 대상 레이블을 사용하면 동일한 역할을 수행하거나, 동일한 환경에 있거나, 동일한 팀에서 운영하는 대상을 집계할 수 있습니다.
대상 레이블은 애플리케이션과 내보내기 프로그램 자체가 아닌 Prometheus에서 구성되므로 여러 팀에서 각자에게 적합한 레이블 계층 구조를 가질 수 있습니다. 예를 들어 인프라 팀은 어떤 랙과 PDU에 머신이 있는지3 를 사용하는지, 데이터베이스 팀은 프로덕션 환경의 PostgreSQL 마스터가 무엇인지에만 관심을 가질 수 있습니다. 드물게 발생하는 문제를 조사하는 커널 개발자가 있다면 어떤 커널 버전이 사용 중인지에만 관심을 가질 수도 있습니다.
서비스 검색과 풀 모델을 사용하면 각 팀이 자신에게 적합한 대상 레이블을 사용하여 자체 Prometheus를 실행할 수 있으므로 이러한 모든 관점이 공존할 수 있습니다.
서비스 검색 메커니즘
서비스 검색은 이미 보유하고 있는 머신 및 서비스 데이터베이스와 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access