LabHub

PCA — 프로메테우스 인증 어소시에이트 · 진짜 지표로 확인하기 · 실습

지표가 실제로 흐르는 Prometheus

LabHub 에서 이어서 보기

이 실습은 진짜 Prometheus 에서 돕니다

VM 안에 Prometheus · Alertmanager · node-exporter 가 실제로 떠 있습니다.
node-exporter 가 진짜 지표를 내므로 PromQL 이 진짜 데이터를 다루고, 규칙은
실제로 평가되며, 알림은 실제로 발화해 Alertmanager 까지 갑니다.

PCA 과정의 다른 실습이 도는 가짜 클러스터에는 Prometheus 자체가 없습니다.
쿼리를 글로 쓰는 연습까지가 전부였습니다.

kube-prometheus-stack 을 쓰지 않습니다. 오퍼레이터가 설정을 대신 써
주면 prometheus.yml 을 만질 일이 없는데, PCA 가 묻는 것이 정확히 그
파일이기 때문입니다.

처음 뜨는 데 3분쯤 걸립니다.

준비된 것

Prometheus     http://127.0.0.1:30090   설정은 /etc/prometheus/prometheus.ymlAlertmanager   http://127.0.0.1:30093규칙           /etc/prometheus/rules/rules.yml대상           node-exporter(데몬셋) · demo-app · Prometheus 자신질의 도구      promq 'up'

목표

스크레이프 설정부터 알림이 Alertmanager 에 도달하기까지 **전 경로를 직접
연결**합니다.

왜 중요한가

Prometheus 를 다루면서 가장 자주 막히는 자리는 문법이 아닙니다.

마지막이 특히 값집니다. "서비스가 죽으면 알림이 오겠지" 라고 믿었는데,
파드가 통째로 사라지는 배포 사고에서는 아무 알림도 오지 않습니다.

단계

1. 지금 무엇을 긁고 있는지 확인해 /root/pca/targets.txt 에 담으세요.
2. kubernetes_sd_configs 로 파드를 자동으로 찾게 하고 결과를 /root/pca/sd.txt 에 담으세요.
3. relabel_configs 로 애노테이션이 붙은 것만 남기고 app 라벨을 만들어 /root/pca/relabel.txt 에 담으세요.
4. PromQL 을 써 /root/pca/promql.txt 에 담으세요. instant=, range=, rate_result= 세 줄이 필요합니다.
5. 레코딩 룰을 하나 만들어(이름은 level:metric:operation 관례) 결과가 실제로 나오는 것을 /root/pca/recording.txt 에 담으세요.
6. 알림 규칙을 만들고 대상을 실제로 고장 내 firing 까지 가는 것을 /root/pca/alert.txt 에 담으세요. for 절도 씁니다.
7. Prometheus 가 Alertmanager 로 보내게 하고 실제로 도착한 것을 /root/pca/am.txt 에 담으세요.
8. /root/pca/report.mdup_targets=, alert_fired=yes, recording_rule= 세 줄과 설명을 쓰세요.

참고

단계 8개

  1. 지금 무엇을 긁고 있나
  2. 대상을 손으로 적지 않는다
  3. 무엇을 남기고 무엇을 버릴까
  4. 진짜 데이터로 질의한다
  5. 미리 계산해 둔다
  6. 알림을 실제로 발화시킨다
  7. 알림이 갈 곳이 있어야 한다
  8. 무엇을 배웠나