18장. 경고
이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com
"모니터링이란 무엇인가요?" 에서 알림은 문제가 있을 때 사람에게 알릴 수 있는 모니터링의 구성 요소 중 하나라고 설명했습니다.Prometheus를 사용하면 지속적으로 평가되는 PromQL 표현식의 형태로 조건을 정의하고 그 결과 시계열이 알림이 됩니다. 이 장에서는 Prometheus에서 알림을 구성하는 방법을 보여드리겠습니다.
"알림"의 예에서 보았듯이 Prometheus는 이메일, 채팅 메시지 또는 페이지와 같은 알림을 발송할 책임이 없습니다. 이 역할은 알림 관리자가 처리합니다.
Prometheus는 알림 여부를 결정하는 로직을 정의하는 곳입니다. Prometheus에서 알림이 발생하면 여러 Prometheus 서버에서 알림을 수신할 수 있는 Alertmanager로 전송됩니다. 그러면 알림 관리자가 알림을 그룹화하여 사용자에게 스로틀링된 알림을 보냅니다(그림 18-1).
그림 18-1. Prometheus 및 Alertmanager 아키텍처
그림 18-1에 표시된 이 아키텍처는 유연성뿐만 아니라 여러 다른 Prometheus 서버의 알림을 기반으로 단일 알림을 받을 수 있는 기능도 제공합니다. 예를 들어 모든 데이터센터에 데이터를 전송하는 데 문제가 있는 경우, 각 데이터센터에 대한 알림을 스팸으로 받지 않고 단일 알림만 받도록 알림 그룹을 구성할 수 있습니다.
알림 규칙
알림 규칙은17장에서 다룬 레코딩 규칙과 유사합니다. 알림 규칙은 레코딩 규칙과 동일한 규칙 그룹에 배치하며, 적절하다고 생각되는 대로 혼합하여 사용할 수 있습니다. 예를 들어, 한 작업에 대한 모든 규칙과 알림을 하나의 그룹에 두는 것이 일반적입니다:1
groups:
- name: node_rules
rules:
- record: job:up:avg
expr: avg without(instance)(up{job="node"})
- alert: ManyInstancesDown
expr: job:up:avg{job="node"} < 0.5
이것은 노드 내보내기의 절반 이상이 다운된 경우 ManyInstancesDown 이라는 이름의 알림을 정의합니다. record 필드가 아닌 alert 필드가 있으므로 알림 규칙임을 알 수 있습니다.
이 예에서는 by 대신 without 을 사용하여 시계열에 있는 다른 모든 레이블이 보존되고 알림 관리자에게 전달되도록 주의했습니다. 알림의 작업, 환경 및 클러스터와 같은 세부 정보를 알고 있으면 최종 알림을 받을 때 오히려 유용합니다.
기록 규칙의 경우 시계열이 나타나고 사라지는 것은 처리하기 어렵기 때문에 표현식에 필터링을 사용하지 않아야 합니다. 알림 규칙의 경우 필터링이 필수적입니다. 알림 표현식을 ...
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