mirror of
https://github.com/rancher/rancher-docs.git
synced 2026-05-04 20:23:24 +00:00
Adding version 2.11 Rancher documentation for the UI preview.
Signed-off-by: Sunil Singh <sunil.singh@suse.com>
This commit is contained in:
+23
@@ -0,0 +1,23 @@
|
||||
---
|
||||
title: 示例
|
||||
---
|
||||
|
||||
## ServiceMonitor
|
||||
|
||||
你可以在[此处](https://github.com/prometheus-operator/prometheus-operator/blob/master/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml)找到 ServiceMonitor 自定义资源的示例。
|
||||
|
||||
## PodMonitor
|
||||
|
||||
你可以在[此处](https://github.com/prometheus-operator/prometheus-operator/blob/master/example/user-guides/getting-started/example-app-pod-monitor.yaml)找到 PodMonitor 示例,还可以在[此处](https://github.com/prometheus-operator/prometheus-operator/blob/master/example/user-guides/getting-started/prometheus-pod-monitor.yaml)找到引用它的 Prometheus 资源示例。
|
||||
|
||||
## PrometheusRule
|
||||
|
||||
PrometheusRule 包含你通常放置在 [Prometheus 规则文件](https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/)中的告警和记录规则。
|
||||
|
||||
要在集群中更细粒度地应用 PrometheusRules,你可以使用 Prometheus 资源的 ruleSelector 字段,从而根据添加到 PrometheusRules 资源的标签来选择要加载到 Prometheus 上的 PrometheusRule。
|
||||
|
||||
你可以在[此页面](https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/user-guides/alerting.md)找到 PrometheusRule 示例。
|
||||
|
||||
## Alertmanager 配置
|
||||
|
||||
有关示例配置,请参阅[本节](./receivers.md#alertmanager-配置示例)。
|
||||
+68
@@ -0,0 +1,68 @@
|
||||
---
|
||||
title: Helm Chart 选项
|
||||
---
|
||||
|
||||
## 配置资源限制和请求
|
||||
|
||||
安装 `rancher-monitoring` 时可以配置资源请求和限制。
|
||||
|
||||
默认值在 `rancher-monitoring` Helm Chart 的 [values.yaml](https://github.com/rancher/charts/blob/main/charts/rancher-monitoring/values.yaml) 中。
|
||||
|
||||
下表中的默认值是所需的最低资源限制和请求:
|
||||
|
||||
| 资源名称 | 内存限制 | CPU 限制 | 内存请求 | CPU 请求 |
|
||||
| ------------- | ------------ | ----------- | ---------------- | ------------------ |
|
||||
| alertmanager | 500Mi | 1000m | 100Mi | 100m |
|
||||
| grafana | 200Mi | 200m | 100Mi | 100m |
|
||||
| kube-state-metrics subchart | 200Mi | 100m | 130Mi | 100m |
|
||||
| prometheus-node-exporter subchart | 50Mi | 200m | 30Mi | 100m |
|
||||
| prometheusOperator | 500Mi | 200m | 100Mi | 100m |
|
||||
| prometheus | 2500Mi | 1000m | 1750Mi | 750m |
|
||||
| **总计** | **3950Mi** | **2700m** | **2210Mi** | **1250m** |
|
||||
|
||||
建议至少配 50Gi 存储。
|
||||
|
||||
|
||||
## Notifiers 的可信 CA
|
||||
|
||||
如果你需要将受信任的 CA 添加到 Notifiers,请执行以下步骤:
|
||||
|
||||
1. 创建 `cattle-monitoring-system` 命名空间。
|
||||
1. 将你信任的 CA 密文添加到 `cattle-monitoring-system` 命名空间。
|
||||
1. 部署或升级 `rancher-monitoring` Helm Chart。在 Chart 选项中,引用**告警 > 补充密文**中的密钥。
|
||||
|
||||
**结果**:默认的 Alertmanager 自定义资源将有权访问你信任的 CA。
|
||||
|
||||
|
||||
## 其它抓取配置
|
||||
|
||||
如果无法通过 ServiceMonitor 或 PodMonitor 指定你想要的抓取配置,你可以在部署或升级 `rancher-monitoring` 时提供 `additionalScrapeConfigSecret`。
|
||||
|
||||
[scrape_config](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config) 指定一组目标以及抓取这些目标的参数。在一般情况下,一个抓取配置指定一个 job。
|
||||
|
||||
Istio 就是一个可能用到这个配置的例子。有关详细信息,请参阅[本节](../../integrations-in-rancher/istio/configuration-options/selectors-and-scrape-configurations.md)。
|
||||
|
||||
|
||||
## 配置打包在 Monitoring V2 中的应用
|
||||
|
||||
我们使用 Monitoring V2 来部署 kube-state-metrics 和 node-exporter。node-exporter 部署为 DaemonSet。对于 Monitoring V2 helm Chart,values.yaml 中的所有东西都部署为子 Chart。
|
||||
|
||||
我们还部署了不由 prometheus 管理的 Grafana。
|
||||
|
||||
如果你查看 Helm Chart 在 kube-state-metrics 中的功能,则还有很多可以设置的值没有在顶层 Chart 中显示。
|
||||
|
||||
但是,你可以在顶层 Chart 中添加覆盖子 Chart 的值。
|
||||
|
||||
### 增加 Alertmanager 的副本
|
||||
|
||||
作为 Chart 部署选项的一部分,你可以选择增加部署到集群上的 Alertmanager 副本的数量。这些副本使用相同的底层 Alertmanager Config Secret 进行管理。有关 Alertmanager Config Secret 的更多信息,请参阅[本节](../../how-to-guides/advanced-user-guides/monitoring-v2-configuration-guides/advanced-configuration/alertmanager.md#多个-alertmanager-副本)。
|
||||
|
||||
### 为持久化 Grafana 仪表板配置命名空间
|
||||
|
||||
要让 Grafana 监控所有命名空间中的 ConfigMap,请在 `rancher-monitoring` Helm chart 中指定以下值:
|
||||
|
||||
```
|
||||
grafana.sidecar.dashboards.searchNamespace=ALL
|
||||
```
|
||||
|
||||
请注意,Monitoring Chart 用于添加 Grafana 仪表板的 RBAC 角色仅能让用户将仪表板添加到定义在 `grafana.dashboards.namespace` 中的命名空间,默认为 `cattle-dashboards`。
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: Monitoring V2 配置
|
||||
---
|
||||
|
||||
<head>
|
||||
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/reference-guides/monitoring-v2-configuration"/>
|
||||
</head>
|
||||
|
||||
以下将说明在 Rancher 中如何配置 Monitoring V2 的基本重要选项:
|
||||
|
||||
- [接收器配置](receivers.md)
|
||||
- [路由配置](routes.md)
|
||||
- [ServiceMonitor 和 PodMonitor 配置](servicemonitors-and-podmonitors.md)
|
||||
- [Helm Chart 选项](helm-chart-options.md)
|
||||
- [示例](examples.md)
|
||||
+299
@@ -0,0 +1,299 @@
|
||||
---
|
||||
title: 接收器配置
|
||||
---
|
||||
|
||||
[Alertmanager Config](https://prometheus.io/docs/alerting/latest/configuration/#configuration-file) Secret 包含 Alertmanager 实例的配置,该实例根据 Prometheus 发出的告警发送通知。
|
||||
|
||||
:::note
|
||||
|
||||
本节参考假设你已经熟悉 Monitoring 组件的协同工作方式。有关 Alertmanager 的详细信息,请参阅[本节](../../integrations-in-rancher/monitoring-and-alerting/how-monitoring-works.md#3-alertmanager-的工作原理)。
|
||||
|
||||
:::
|
||||
|
||||
|
||||
## 在 Rancher UI 中创建接收器
|
||||
|
||||
:::note 先决条件:
|
||||
|
||||
- 已安装 Monitoring 应用。
|
||||
- 如果你使用现有的 Alertmanager Secret 配置 Monitoring,则它必须具有 Rancher 的 UI 支持的格式。否则,你将只能直接修改 Alertmanager Secret 来进行更改。请注意,对于通过使用路由和接收器 UI 支持的 Alertmanager 配置类型,我们会继续进行强化。因此如果你有增强功能的请求,请[提交 issue](https://github.com/rancher/rancher/issues/new)。
|
||||
|
||||
:::
|
||||
|
||||
要在 Rancher UI 中创建通知接收器:
|
||||
|
||||
<Tabs>
|
||||
<TabItem value="Rancher v2.6.5+">
|
||||
|
||||
1. 转到要创建接收器的集群。单击 **监控 -> 告警 -> AlertManagerConfigs**。
|
||||
1. 单击**创建**。
|
||||
1. 点击**添加接收器**。
|
||||
1. 输入接收器的**名称**。
|
||||
1. 为接收器配置一个或多个提供程序。如需获取填写表单的帮助,请参阅下方的配置选项。
|
||||
1. 单击**创建**。
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="Rancher 版本低于 v2.6.5">
|
||||
|
||||
1. 转到要创建接收器的集群。单击**监控**,然后单击**接收器**。
|
||||
2. 输入接收器的名称。
|
||||
3. 为接收器配置一个或多个提供程序。如需获取填写表单的帮助,请参阅下方的配置选项。
|
||||
4. 单击**创建**。
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
**结果**:告警可以向接收器发送通知。
|
||||
|
||||
## 接收器配置
|
||||
|
||||
通知集成是通过 `receiver` 配置的,[Prometheus](https://prometheus.io/docs/alerting/latest/configuration/#receiver) 文档对此进行了说明。
|
||||
|
||||
### 原生和非原生接收器
|
||||
|
||||
默认情况下,AlertManager 提供与一些接收器的原生集成,这些接收器在[本节](https://prometheus.io/docs/alerting/latest/configuration/#receiver)中列出。所有原生支持的接收器都可以通过 Rancher UI 进行配置。
|
||||
|
||||
对于 AlertManager 不提供原生支持的通知机制,可使用 [webhook 接收器](https://prometheus.io/docs/alerting/latest/configuration/#webhook_config)实现集成。你可以在[此处](https://prometheus.io/docs/operating/integrations/#alertmanager-webhook-receiver)找到提供此类集成的第三方驱动程序列表。Alerting Drivers 应用能让你访问这些驱动程序,以及它们相关的集成。启用后,你将可以在 Rancher UI 中配置非原生的接收器。
|
||||
|
||||
目前 Rancher Alerting Drivers 应用支持访问以下集成:
|
||||
- Microsoft Teams,基于 [prom2teams](https://github.com/idealista/prom2teams) 驱动程序
|
||||
- SMS,基于 [Sachet](https://github.com/messagebird/sachet) 驱动程序
|
||||
|
||||
你可以在 Rancher UI 中可以配置以下类型的接收器:
|
||||
|
||||
- <a href="#slack">Slack</a>
|
||||
- <a href="#email">电子邮件</a>
|
||||
- <a href="#pagerduty">PagerDuty</a>
|
||||
- <a href="#opsgenie">Opsgenie</a>
|
||||
- <a href="#webhook">Webhook</a>
|
||||
- <a href="#custom">自定义</a>
|
||||
- <a href="#teams">Teams</a>
|
||||
- <a href="#sms">SMS</a>
|
||||
|
||||
你可以在 YAML 中使用自定义接收器选项,从而配置无法通过 Rancher UI 表单配置的接收器。
|
||||
|
||||
## Slack
|
||||
|
||||
| 字段 | 类型 | 描述 |
|
||||
|------|--------------|------|
|
||||
| URL | String | 输入你的 Slack webhook URL。有关创建 Slack webhook 的说明,请参阅 [Slack 文档](https://get.slack.help/hc/en-us/articles/115005265063-Incoming-WebHooks-for-Slack)。 |
|
||||
| 默认频道 | String | 输入要发送告警通知的频道名称。格式:`#<channelname>`。 |
|
||||
| 代理 URL | String | webhook 通知的代理。 |
|
||||
| 发送已解决告警 | Bool | 如果告警已解决(例如 [已解决] CPU 使用率过高问题),是否发送后续通知。 |
|
||||
|
||||
## 电子邮件
|
||||
|
||||
| 字段 | 类型 | 描述 |
|
||||
|------|--------------|------|
|
||||
| 默认收件人地址 | String | 接收通知的电子邮件地址。 |
|
||||
| 发送已解决告警 | Bool | 如果告警已解决(例如 [已解决] CPU 使用率过高问题),是否发送后续通知。 |
|
||||
|
||||
SMTP 选项:
|
||||
|
||||
| 字段 | 类型 | 描述 |
|
||||
|------|--------------|------|
|
||||
| 发件人 | String | 你的 SMTP 邮件服务器上可用的电子邮件地址,用于发送通知。 |
|
||||
| 主机 | String | SMTP 服务器的 IP 地址或主机名。示例:`smtp.email.com`。 |
|
||||
| 使用 TLS | Bool | 使用 TLS 进行加密。 |
|
||||
| 用户名 | String | 用户名,用于通过 SMTP 服务器进行身份验证。 |
|
||||
| 密码 | String | 密码,用于通过 SMTP 服务器进行身份验证。 |
|
||||
|
||||
## PagerDuty
|
||||
|
||||
| 字段 | 类型 | 描述 |
|
||||
|------|------|-------|
|
||||
| 集成类型 | String | `Events API v2` 或 `Prometheus`。 |
|
||||
| 默认集成密钥 | String | 有关获取集成密钥的说明,请参阅 [PagerDuty 文档](https://www.pagerduty.com/docs/guides/prometheus-integration-guide/)。 |
|
||||
| 代理 URL | String | PagerDuty 通知的代理。 |
|
||||
| 发送已解决告警 | Bool | 如果告警已解决(例如 [已解决] CPU 使用率过高问题),是否发送后续通知。 |
|
||||
|
||||
## Opsgenie
|
||||
|
||||
| 字段 | 描述 |
|
||||
|------|-------------|
|
||||
| API 密钥 | 有关获取 API 密钥的说明,请参阅 [Opsgenie 文档](https://docs.opsgenie.com/docs/api-key-management)。 |
|
||||
| 代理 URL | Opsgenie 通知的代理。 |
|
||||
| 发送已解决告警 | 如果告警已解决(例如 [已解决] CPU 使用率过高问题),是否发送后续通知。 |
|
||||
|
||||
Opsgenie 响应者:
|
||||
|
||||
| 字段 | 类型 | 描述 |
|
||||
|-------|------|--------|
|
||||
| 类型 | String | 计划程序、团队、用户或升级。有关告警响应者的更多信息,请参阅 [Opsgenie 文档](https://docs.opsgenie.com/docs/alert-recipients-and-teams)。 |
|
||||
| 发送至 | String | Opsgenie 收件人的 ID、名称或用户名。 |
|
||||
|
||||
## Webhook
|
||||
|
||||
| 字段 | 描述 |
|
||||
|-------|--------------|
|
||||
| URL | 你所选的应用的 Webhook URL。 |
|
||||
| 代理 URL | webhook 通知的代理。 |
|
||||
| 发送已解决告警 | 如果告警已解决(例如 [已解决] CPU 使用率过高问题),是否发送后续通知。 |
|
||||
|
||||
<!-- TODO add info on webhook for teams and sms and link to them -->
|
||||
|
||||
## 自定义
|
||||
|
||||
此处提供的 YAML 将直接附加到 Alertmanager Config Secret 的接收器中。
|
||||
|
||||
## Teams
|
||||
|
||||
### 为 Rancher 管理的集群启用 Teams 接收器
|
||||
|
||||
Teams 接收器不是原生接收器,因此需要启用后才能使用。你可以通过转到应用页面,安装 rancher-alerting-drivers 应用,然后选择 Teams 选项,从而为 Rancher 管理的集群启用 Teams 接收器。
|
||||
|
||||
1. 在 Rancher UI 中,转到要安装 rancher-alerting-drivers 的集群,然后单击 **Apps**。
|
||||
1. 点击 **Alerting Drivers** 应用。
|
||||
1. 单击 **Helm 部署选项**选项卡。
|
||||
1. 选择 **Teams** 并单击**安装**。
|
||||
1. 记下使用的命名空间,后续步骤中将需要该命名空间。
|
||||
|
||||
### 配置 Teams 接收器
|
||||
|
||||
可以通过更新 ConfigMap 来配置 Teams 接收器。例如,以下是最小的 Teams 接收器配置:
|
||||
|
||||
```yaml
|
||||
[Microsoft Teams]
|
||||
teams-instance-1: https://your-teams-webhook-url
|
||||
```
|
||||
|
||||
配置完成后,按照[本节](#在-rancher-ui-中创建接收器)中的步骤添加接收器。
|
||||
|
||||
使用以下示例作为 URL,其中:
|
||||
|
||||
- 将 `ns-1` 替换为安装 `rancher-alerting-drivers` 应用的命名空间。
|
||||
|
||||
```yaml
|
||||
url: http://rancher-alerting-drivers-prom2teams.ns-1.svc:8089/v2/teams-instance-1
|
||||
```
|
||||
|
||||
<!-- https://github.com/idealista/prom2teams -->
|
||||
|
||||
## SMS
|
||||
|
||||
### 为 Rancher 管理的集群启用 SMS 接收器
|
||||
|
||||
SMS 接收器不是原生接收器,因此需要启用后才能使用。你可以通过转到应用页面,安装 rancher-alerting-drivers 应用,然后选择 SMS 选项,从而为 Rancher 管理的集群启用 SMS 接收器。
|
||||
|
||||
1. 在左上角,单击 **☰ > 集群管理**。
|
||||
1. 在**集群**页面上,转到要安装 `rancher-alerting-drivers` 的集群,然后单击 **Explore**。
|
||||
1. 在左侧导航栏中,单击**应用 & 应用市场**。
|
||||
1. 点击 **Alerting Drivers** 应用。
|
||||
1. 单击 **Helm 部署选项**选项卡。
|
||||
1. 选择 **SMS** 并单击**安装**。
|
||||
1. 记下使用的命名空间,后续步骤中将需要该命名空间。
|
||||
|
||||
### 配置 SMS 接收器
|
||||
|
||||
可以通过更新 ConfigMap 来配置 SMS 接收器。例如,以下是最小的 SMS 接收器配置:
|
||||
|
||||
```yaml
|
||||
providers:
|
||||
telegram:
|
||||
token: 'your-token-from-telegram'
|
||||
|
||||
receivers:
|
||||
- name: 'telegram-receiver-1'
|
||||
provider: 'telegram'
|
||||
to:
|
||||
- '123456789'
|
||||
```
|
||||
|
||||
配置完成后,按照[本节](#在-rancher-ui-中创建接收器)中的步骤添加接收器。
|
||||
|
||||
使用以下示例作为名称和 URL,其中:
|
||||
|
||||
- 分配给接收器的名称(例如 `telegram-receiver-1`)必须与 ConfigMap 中 `receivers.name` 字段中的名称(例如 `telegram-receiver-1`)匹配。
|
||||
- 将 URL 中的 `ns-1` 替换为安装 `rancher-alerting-drivers` 应用的命名空间。
|
||||
|
||||
```yaml
|
||||
name: telegram-receiver-1
|
||||
url http://rancher-alerting-drivers-sachet.ns-1.svc:9876/alert
|
||||
```
|
||||
|
||||
<!-- https://github.com/messagebird/sachet -->
|
||||
|
||||
|
||||
## 配置多个接收器
|
||||
|
||||
你可以编辑 Rancher UI 中的表单来设置一个接收器资源,其中包含 Alertmanager 将告警发送到你的通知系统所需的所有信息。
|
||||
|
||||
也可以向多个通知系统发送告警。一种方法是使用自定义 YAML 来配置接收器。如果你需要让两个系统接收相同的消息,则可以为多个通知系统添加配置。
|
||||
|
||||
你还可以通过使用路由的 `continue` 选项来设置多个接收器。这样,发送到接收器的告警会在路由树(可能包含另一个接收器)的下一级进行评估。
|
||||
|
||||
|
||||
## Alertmanager 配置示例
|
||||
|
||||
### Slack
|
||||
要通过 Slack 设置通知,你可以将以下 Alertmanager Config YAML 放入 Alertmanager Config Secret 的 `alertmanager.yaml` 键中,你需要更新 `api_url` 来使用来自 Slack 的 Webhook URL:
|
||||
|
||||
```yaml
|
||||
route:
|
||||
group_by: ['job']
|
||||
group_wait: 30s
|
||||
group_interval: 5m
|
||||
repeat_interval: 3h
|
||||
receiver: 'slack-notifications'
|
||||
receivers:
|
||||
- name: 'slack-notifications'
|
||||
slack_configs:
|
||||
- send_resolved: true
|
||||
text: '{{ template "slack.rancher.text" . }}'
|
||||
api_url: <user-provided slack webhook url here>
|
||||
templates:
|
||||
- /etc/alertmanager/config/*.tmpl
|
||||
```
|
||||
|
||||
### PagerDuty
|
||||
要通过 PagerDuty 设置通知,请使用 [PagerDuty 文档](https://www.pagerduty.com/docs/guides/prometheus-integration-guide/) 中的以下示例作为指导。此示例设置了一个路由,该路由捕获数据库服务的告警,并将告警发送到链接到服务的接收器,该服务将直接通知 PagerDuty 中的 DBA,而其他告警将被定向到具有不同 PagerDuty 集成密钥的默认接收器。
|
||||
|
||||
你可以将以下 Alertmanager Config YAML 放入 Alertmanager Config Secret 的 `alertmanager.yaml` 键中。你需要将 `service_key` 更新为使用你的 PagerDuty 集成密钥,可以根据 PagerDuty 文档的 "Integrating with Global Event Routing" 找到该密钥。有关配置选项的完整列表,请参阅 [Prometheus 文档](https://prometheus.io/docs/alerting/latest/configuration/#pagerduty_config)。
|
||||
|
||||
```yaml
|
||||
route:
|
||||
group_by: [cluster]
|
||||
receiver: 'pagerduty-notifications'
|
||||
group_interval: 5m
|
||||
routes:
|
||||
- match:
|
||||
service: database
|
||||
receiver: 'database-notifcations'
|
||||
|
||||
receivers:
|
||||
- name: 'pagerduty-notifications'
|
||||
pagerduty_configs:
|
||||
- service_key: 'primary-integration-key'
|
||||
|
||||
- name: 'database-notifcations'
|
||||
pagerduty_configs:
|
||||
- service_key: 'database-integration-key'
|
||||
```
|
||||
|
||||
## CIS 扫描告警的示例路由配置
|
||||
|
||||
在为 `rancher-cis-benchmark` 告警配置路由时,你可以使用键值对 `job:rancher-cis-scan` 来指定匹配。
|
||||
|
||||
例如,以下路由配置示例可以与名为 `test-cis` 的 Slack 接收器一起使用:
|
||||
|
||||
```yaml
|
||||
spec:
|
||||
receiver: test-cis
|
||||
group_by:
|
||||
# - string
|
||||
group_wait: 30s
|
||||
group_interval: 30s
|
||||
repeat_interval: 30s
|
||||
match:
|
||||
job: rancher-cis-scan
|
||||
# key: string
|
||||
match_re:
|
||||
{}
|
||||
# key: string
|
||||
```
|
||||
|
||||
有关为 `rancher-cis-benchmark` 启用告警的更多信息,请参阅[本节](../../how-to-guides/advanced-user-guides/cis-scan-guides/enable-alerting-for-rancher-cis-benchmark.md)。
|
||||
|
||||
## Notifiers 的可信 CA
|
||||
|
||||
如果你需要将受信任的 CA 添加到 Notifiers,请按照[本节](helm-chart-options.md#notifiers-的可信-ca)中的步骤操作。
|
||||
+64
@@ -0,0 +1,64 @@
|
||||
---
|
||||
title: 路由配置
|
||||
---
|
||||
|
||||
路由(Route)配置是 Alertmanager 自定义资源的一部分,用于控制 Prometheus 触发的告警在到达接收器之前的分组和过滤方式。
|
||||
|
||||
当路由更改时,Prometheus Operator 会重新生成 Alertmanager 自定义资源以反映更改。
|
||||
|
||||
有关配置路由的更多信息,请参阅[官方 Alertmanager 文档](https://www.prometheus.io/docs/alerting/latest/configuration/#route)。
|
||||
|
||||
:::note
|
||||
|
||||
本节参考假设你已经熟悉 Monitoring 组件的协同工作方式。有关详细信息,请参阅[本节](../../integrations-in-rancher/monitoring-and-alerting/how-monitoring-works.md)。
|
||||
|
||||
:::
|
||||
|
||||
|
||||
|
||||
## 路由限制
|
||||
|
||||
Alertmanager 根据接收器和路由树来代理 Prometheus 的告警,该路由树根据标签将告警过滤到指定接收器。
|
||||
|
||||
Alerting Drivers 为 Alertmanager 将告警代理到非原生接收器,例如 Microsoft Teams 和 SMS。
|
||||
|
||||
在配置路由和接收器的 Rancher UI 中,你可以配置有一个根的路由树,然后再配置一个深度,这样的树就有两个深度。但是如果在直接配置 Alertmanager 时使用 `continue` 路由,你可以让树更深。
|
||||
|
||||
每个接收器用于一个或多个通知提供商。因此,如果你需要将发送到 Slack 的每个告警也发送到 PagerDuty,你可以在同一个接收器中配置两者。
|
||||
|
||||
## 路由配置
|
||||
|
||||
### 标签和注释的注意事项
|
||||
|
||||
标签用于识别可能影响通知路由的信息。告警的标识信息可能包括容器名称,或应接收通知的团队的名称。
|
||||
|
||||
注释用于标识不影响告警接收者的信息,例如 Runbook URL 或错误消息。
|
||||
|
||||
|
||||
### 接收器
|
||||
路由需要引用一个已经配置好的[接收器](./receivers.md)。
|
||||
|
||||
### 分组
|
||||
|
||||
| 字段 | 默认 | 描述 |
|
||||
|-------|--------------|---------|
|
||||
| 分组依据 | N/A | 用于分组的标签列表。所有标签都必须是唯一的。如果提供了特殊标签“...”(由所有可能的标签聚合),标签必须在列表中是唯一的元素。接受字符串列表。有关详细信息,请参阅[上游文档](https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#route)。 |
|
||||
| 组等待时长 | 30s | 在发送之前,缓冲同一组告警的等待时间。 |
|
||||
| 组间隔 | 5m | 等待多长时间才发送已添加到告警组的告警,其中该告警组的初次通知已被发送。 |
|
||||
| 重复间隔 | 4h | 等待多长时间后,才重新发送已发送的告警。 |
|
||||
|
||||
### 匹配
|
||||
|
||||
**Match** 字段指一组相等匹配器,用于根据告警上定义的标签来识别要发送到指定路由的告警。在 Rancher UI 中添加键值对时,它们对应于以下格式的 YAML:
|
||||
|
||||
```yaml
|
||||
match:
|
||||
[ <labelname>: <labelvalue>, ... ]
|
||||
```
|
||||
|
||||
**Match Regex** 字段指一组正则表达式匹配器,用于根据在该告警上定义的标签来识别要发送到指定路由的告警。在 Rancher UI 中添加键值对时,它们对应于以下格式的 YAML:
|
||||
|
||||
```yaml
|
||||
match_re:
|
||||
[ <labelname>: <regex>, ... ]
|
||||
```
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
---
|
||||
title: ServiceMonitor 和 PodMonitor 配置
|
||||
---
|
||||
|
||||
ServiceMonitor 和 PodMonitor 都是伪 CRD,它们映射 Prometheus 自定义资源的抓取配置。
|
||||
|
||||
这些配置对象以声明方式指定 Prometheus 抓取指标的端点。
|
||||
|
||||
ServiceMonitor 比 PodMonitor 更常用,推荐用于大多数用例。
|
||||
|
||||
:::note
|
||||
|
||||
本节参考假设你已经熟悉 Monitoring 组件的协同工作方式。有关 Alertmanager 的详细信息,请参阅[本节](../../integrations-in-rancher/monitoring-and-alerting/how-monitoring-works.md)。
|
||||
|
||||
:::
|
||||
|
||||
## ServiceMonitor
|
||||
|
||||
这个伪 CRD 映射到 Prometheus 自定义资源配置的一部分。它以声明方式指定应如何监控 Kubernetes 服务组。
|
||||
|
||||
创建 ServiceMonitor 时,Prometheus Operator 会更新 Prometheus 抓取配置,从而包含 ServiceMonitor 配置。然后 Prometheus 开始从 ServiceMonitor 中定义的端点抓取指标。
|
||||
|
||||
如果集群中的任何 Service 与 ServiceMonitor `selector` 字段中的标签匹配,则会根据 ServiceMonitor 指定的 `endpoints` 进行监控。有关可以指定的字段的更多信息,请查看 Prometheus Operator 的[规范](https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#servicemonitor)。
|
||||
|
||||
有关 ServiceMonitor 工作原理的更多信息,请参阅 [Prometheus Operator 文档](https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/user-guides/running-exporters.md)。
|
||||
|
||||
## PodMonitor
|
||||
|
||||
这个伪 CRD 映射到 Prometheus 自定义资源配置的一部分。它以声明方式指定应如何监控 Pod 组。
|
||||
|
||||
创建 PodMonitor 时,Prometheus Operator 会更新 Prometheus 抓取配置,从而包含 PodMonitor 配置。然后 Prometheus 开始从 PodMonitor 中定义的端点抓取指标。
|
||||
|
||||
如果集群中的任何 Pod 与 PodMonitor `selector` 字段中的标签匹配,则会根据 PodMonitor 指定的 `podMetricsEndpoints` 进行监控。有关可以指定的字段的更多信息,请查看 Prometheus Operator 的[规范](https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#podmonitorspec)。
|
||||
Reference in New Issue
Block a user