• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    미해결

프로메테우스 질문

21.10.22 20:09 작성 조회수 154

0

안녕하세요. 먼저, 질 좋은 강의 제공해주셔서 감사합니다

프로메테우스 관련해서 질문을 드리고 싶은데요,

현재 프로메테우스를 AWS EC2 인스턴스로 띄어서 aws instance들의 데이터는 잘 scrape하고 있습니다.

 

그런데 만약에 GCP의 instance를 aws prometheus가 설치된 인스턴스에서 가져올려면 어떻게 해야 될까요?

Prometheus가 실행되고 있는 AWS EC2에 gcloud를 설치해야 aws instance쪽에서 gcp데이터를 가져올 수 있을까요?

 

prometheus.yml 파일에서 아래와 같이 설정을 하긴 했는데, 과연 AWS Instance에서 어떻게 GCP VM을 바라보고 데이터를 scrape할 수 있을지 감이 안잡히네요. 고견을 들을 수 있으면 좋겠습니다.

- job_name: 'us-east4-c GCE'

    scrape_interval: 60s

    gce_sd_configs:

      - project: 'project-id'

        zone: us-east4-c

    relabel_configs:

      - source_labels: [__meta_gce_public_ip]

        target_label: __address__

        replacement: "${1}:9090"

      - source_labels: [__meta_gce_zone]

        regex: ".+/([^/]+)"

        target_label: zone

      - source_labels: [__meta_gce_project]

답변 1

답변을 작성해보세요.

1

gasbugs님의 프로필

gasbugs

2021.10.25

안녕하세요  강사 최일선입니다.

우선 답변이 늦어서 죄송합니다.

전에 남겨주신 글을 봤었는데 어떻게 말씀을 드려야하나 고민만 하다가 계속 답변이 늦어졌습니다.

제가 이해한 것은 AWS 환경에서 프로메테우스로 데이터를 잘 모으고 있다는 의미로 이해됩니다. AWS에 프로메테우스 서버가 떠있고 추가로 GCP 인스턴스에서 데이터를 수집해  프로메테우스로 전송할 수 있을지 말씀하신다고 생각됩니다.

다시 이야기하면 "멀티 클라우드 환경에서 모든 인스턴스를 프로메테우스 하나로 데이터를 모아서 모니터링"하고자 하시는 것 같습니다.  그렇다고 GCP 인스턴스를 공용 네트워크로 모두 노출해 통신하는 것은 바람직하지 않기 때문에 고민이신 것 같구요.

고견을 물어보셨습니다만 저도 게속 공부하고 연구해 나가는터라 엄청난 고견을 드리기는 좀 어렵습니다 ㅠ 고민을 좀 해봤는데 AWS와 GCP 사이에 VPN 터널을 하나 뚫어보는 것은 어떠신가 싶어 감히 말씀드립니다.

이미 알고 계시겠지만 gce_sd_configs는 gce 메타데이터 값을 사용해 스크레이프 대상을 검색하는 기능입니다. 따라서 AWS와 연동은 어려워 보입니다. 그래서 VPN을 통해 클라우드간 네트워크를 연결하고 VPC로 연결을 라우팅하는 방법이 어떤가 싶습니다. IP는 static_config를 사용해 정적으로  연결을 시도하는 형태가 좋아 보입니다.

VPC 연결 예제: https://zigispace.net/1024

static_config 연결 예제: https://stackoverflow.com/questions/49829423/prometheus-add-target-specific-label-in-static-configs

최적화할 수 있는 방법인지까지는 가늠하기는 어렵습니다만 진행하시는 업무에  약간이라도 도움이 되시길 바랍니다. 부족한 답변 확인해주셔서 감사합니다.

감사합니다.