Silence 구성
Silence 구성 (Configure silences)
Silence는 지정된 시간 창 동안 알림이 생성되는 것을 멈추지만 알림 평가는 중단하지 않아요. 인시던트 대응이나 유지보수 창 동안 알림을 일시적으로 방지하는 데 사용해요. silence는 특정 Alertmanager에 지정되며 그 Alertmanager가 관리하는 알림에 대해서만 알림을 억제해요.
출처: 문서
본문
Note: Grafana Cloud에서는 독립형 Alertmanager UI가 더 이상 사용되지 않으며 더 이상 사용할 수 없어요. 대신 여기 Grafana Alerting UI에서 silence를 관리하세요. 자세한 내용은 "Configure Alertmanagers" 문서를 참고하세요.
음소거 타이밍/활성 시간 간격과 silence의 차이
음소거 타이밍·활성 시간 간격과 silence는 알림을 억제하는 서로 다른 방법이에요. 둘 다 알림 규칙이 평가되는 것을 막지 않고, 알림 인스턴스가 UI에 나타나는 것도 막지 않으며, 알림이 생성되는 것만 방지해요.
| Mute timing | Silence | |
|---|---|---|
| Setup | 생성 후 알림 정책에 추가 | 라벨로 알림을 일치시켜 silence할지 결정 |
| Period | 주기적으로 반복할 수 있는 시간 간격 정의 사용 | 고정된 시작·종료 시간 |
Silence 추가
- 왼쪽 메뉴에서 Alerts & IRM, 그리고 Alerting을 클릭해요.
- Silences를 클릭해요.
- Alertmanager 드롭다운에서 외부 데이터 소스용 silence를 만들고 관리할 외부 Alertmanager를 선택해요. 그렇지 않으면 기본 옵션인 Grafana를 유지해요.
- Create silence를 클릭해 Create silence 페이지를 열어요.
- Silence start and end에서 silence가 효과를 발휘하고 만료될 시작·종료 날짜를 선택해요.
- 선택: Duration에서 silence가 시행되는 시간을 지정해요. 이는 Silence start and end 필드의 종료 시간을 자동 업데이트해요.
- Label과 Value 필드에서 silence가 적용될 알림을 결정하는 하나 이상의 Matching Labels를 입력해요.
라벨 매칭 동작 방식
라벨과 라벨 매처를 사용해 알림 규칙을 알림 정책과 silence에 연결해요. 라벨 매처는 라벨, 값, 연산자 3개의 별개 부분으로 구성돼요.
- Label 필드: 일치시킬 라벨의 이름. 라벨 이름과 정확히 일치해야 해요.
- Value 필드: 지정된 Label 이름에 대한 대응 값에 대해 일치시켜요. 어떻게 일치하는지는 Operator 값에 따라 달라져요.
- Operator 필드: 라벨 값에 대해 일치시킬 연산자. 사용 가능한 연산자:
| Operator | Description |
|---|---|
| = | 값과 정확히 같은 라벨 선택. |
| != | 값과 같지 않은 라벨 선택. |
| =~ | 값에 정규식 일치하는 라벨 선택. |
| !~ | 값에 정규식 일치하지 않는 라벨 선택. |
Note: 여러 라벨 매처를 사용하면 AND 논리 연산자로 결합돼요. 즉 규칙을 정책에 연결하려면 모든 매처가 일치해야 해요.
라벨 매칭 예제: 알림에 대해 다음 라벨 세트를 정의했다면:
{ foo=bar, baz=qux, id=12 }
foo=bar매처는 이 알림 규칙과 일치.foo!=bar매처는 일치하지 않음.id=~[0-9]+매처는 일치.baz!~[0-9]+매처는 일치.foo=bar와id=~[0-9]+두 매처는 일치.
라벨 제외: 라벨 매처로 라벨을 제외할 수도 있어요. Team 라벨을 제외하는 예:
| Label | Operator | Value |
|---|---|---|
| team | = | "" |
| team | !~ | .+ |
| team | =~ | ^$ |
일치하는 알림(firing 상태만)은 Affected alert instances 아래에 표시돼요.
- Comment에서 silence에 대한 세부 정보를 추가해요.
- Submit을 클릭해요.
Silence 편집
- 왼쪽 메뉴에서 Alerts & IRM, 그리고 Alerting을 클릭해요.
- Silences를 클릭해 기존 silence 목록을 봐요.
- 편집할 silence를 찾고 Edit(연필 아이콘)을 클릭해요.
- 원하는 변경을 한 뒤 Submit을 클릭해 저장해요.
Silence 제거
- 왼쪽 메뉴에서 Alerts & IRM, 그리고 Alerting을 클릭해요.
- Silences를 클릭해 기존 silence 목록을 봐요.
- 끝내려는 silence를 선택하고 Unsilence를 클릭해요.
Note: Unsilence를 클릭하면 silence가 즉시 종료되며, 이는 구성된 종료 시간 전에 silence를 끝내는 유일한 방법이에요. Silence를 영구 삭제할 수는 없어요.
Silence 지속 시간과 보존
지속 시간 제한: silence의 최대 지속 시간은 없어요. 언제든 원하는 길이로 silence를 만들 수 있어요. 하지만 관리자는 다음 제한을 구성할 수 있어요:
alertmanager_max_silences_count: 테넌트당 활성·대기 silence의 최대 수(기본 0, 무제한), 만료된 silence도 집계돼요.alertmanager_max_silence_size_bytes: silence의 최대 크기(바이트)(기본 0, 무제한).
만료 silence 보존: 만료된 silence는 5일 후 자동 삭제돼요. 이 보존 기간은 구성할 수 없어요. 정리 프로세스는 보존 기간보다 오래된 만료 silence를 제거하기 위해 15분마다 자동 실행돼요.
규칙 특정 silence (Rule-specific silences)
규칙 특정 silence는 특정 알림 규칙에만 적용되는 silence예요. UI에서 Silence notifications 작업으로 알림 규칙을 직접 silence할 때 생성돼요. 일반 silence와 달리 규칙 특정 silence의 접근은 대상으로 하는 알림 규칙에 직접 연결돼요. 특정 라벨 매처 __alert_rule_uid__=<alert rule UID>를 포함해 수동으로 만들 수 있어요.
Silence 폼에 대한 URL 링크
기본 알림 메시지에는 알림을 silence하는 링크가 포함되는 경우가 많아요. 커스텀 알림 템플릿에서는 .Alert.SilenceURL을 사용해 사용자를 주어진 알림을 silence할 수 있는 UI로 리디렉션할 수 있어요. .Alert.SilenceURL이 사용 사례에 맞지 않으면 커스텀 템플릿용 커스텀 silence 링크를 만들 수도 있어요.
커스텀 silence 링크 만들기: silence 폼에 연결할 때 matcher와 comment 쿼리 파라미터로 기본 일치 라벨과 코멘트를 제공해요. matcher 파라미터는 [label][operator][value] 형식이어야 하며, operator는 =(같음, 정규식 아님), !=(같지 않음, 정규식 아님), =~(같음, 정규식), !~(같지 않음, 정규식) 중 하나일 수 있어요. URL은 matcher 키로 많은 쿼리 파라미터를 포함할 수 있어요. 예를 들어 severity=critical 및 cluster!~europe-.* 일치 라벨과 "Silence critical EU alerts" 코멘트의 silence 폼에 연결하려면 https://mygrafana/alerting/silence/new?matcher=severity%3Dcritical&matcher=cluster!~europe-*&comment=Silence%20critical%20EU%20alert. URL을 만들어요. 외부 Alertmanager의 새 silence 페이지에 연결하려면 Alertmanager 데이터 소스 이름과 함께 alertmanager 쿼리 파라미터를 추가해요.
억제 규칙 (Inhibition rules)
억제 규칙은 관련 소스 알림이 이미 발동 중일 때 대상 알림의 알림을 억제해요. 자세한 내용은 "Configure inhibition rules" 문서를 참고하세요.