# 模板化

一般来说，在告警规则文件的 annotations 中使&#x7528;**`summary`**&#x63CF;述告警的概要信息，**`description`**&#x7528;于描述告警的详细信息。同时 Alertmanager 的 UI 也会根据这两个标签值，显示告警信息。

为了让告警信息具有更好的可读性，Prometheus 支持模板化 label 和 annotations 的中标签的值。

* 通&#x8FC7;**`$labels.<labelname>`**&#x53D8;量可以访问当前告警实例中指定标签的值。
* 通过 **$value** 则可以获取当前 PromQL 表达式计算的样本值。

{% code overflow="wrap" %}

```yaml
groups:
- name: example
  rules:

  # Alert for any instance that is unreachable for >5 minutes.
  - alert: InstanceDown
    expr: up == 0
    for: 5m
    labels:
      severity: page
    annotations:
      summary: "Instance {{ $labels.instance }} down"
      description: "{{ $labels.instance }} of job {{ $labels.job }} has been down for more than 5 minutes."

  # Alert for any instance that has a median request latency >1s.
  - alert: APIHighRequestLatency
    expr: api_http_request_latencies_second{quantile="0.5"} > 1
    for: 10m
    annotations:
      summary: "High request latency on {{ $labels.instance }}"
      description: "{{ $labels.instance }} has a median request latency above 1s (current value: {{ $value }}s)"
```

{% endcode %}
