Alert

告警 #

告警功能提供 istio监控指标的告警功能,用户对监控指标设置告警规则,当监控指标触发用户设置的告警条件时,支持以邮箱、alertmanager、webhook等方式通知用户,让用户在第一时间得知云服务发生异常,迅速处理故障,避免因资源问题造成业务损失。

使用 #

安装 #

solarctl install grafana --name cluster01 # 这里的name需要与您注册的集群名称一致

确认安装:

$ kubectl get solaroperator -n solar-operator | grep grafana
NAMESPACE        NAME       AGE
solar-operator   grafana    13m
$ kubectl get po -l app=grafana -n service-mesh
NAME                       READY   STATUS    RESTARTS   AGE
grafana-6448fb6f65-tc84d   1/1     Running   0          14m

告警配置 #

grafana 的 告警入口在 service 界面。

点击 grafana 图标。点击左侧栏 alerting

当前没有 alert rule,也就是告警规则。点击 new alert rule 。

选择您需要告警的指标metrics,设置您的告警规则

创建收件人

创建收件人与告警的关联,这使得告警发送到指定人。这里注意需要 alertname 对应 您的 告警规则。然后 contact point 选择收件人

刚告警触发时,可以看到告警规则的状态为 Firing 。

查看您的邮箱,您已经收到告警邮箱了。

其他 #

1. silence等 #

告警功能还支持silence等功能,这里不多赘述,详情可以查看 grafana

2. 存储 #

默认情况下,solarmesh 安装的grafana没用挂载存储卷,当grafana 重启后,数据会丢失。如果您需要数据持久化,您需要在安装 grafana 的时候通过指定 -v true 去创建 pvc,它默认会为 grafana 挂载一个 1Gi 的存储卷。

solarctl install grafana -h
The grafana subcommand installs the grafana in the cluster.

Usage:
  solarctl install grafana [flags]

Flags:
  -c, --context string                The name of the kubeconfig context to use
  -h, --help                          help for grafana
      --hub string                    grafana image (default "registry.cn-shenzhen.aliyuncs.com/solarmesh/grafana")
      --name string                   cluster name require
  -n, --namespace string              grafana installation namespace (default "service-mesh")
  -p, --path string                   .kubeConfig path
  -v, --persistent                    grafana persistent installation
      --prometheus-namespace string   prometheus namespace is exist namespace (default "istio-system")
  -t, --tag string                    grafana image tag (default "9.2.1")
      --watch-namespace string        solar operator namespace (default "solar-operator")

对接其他的告警系统 #

大多数情况下,您公司可能已经有自己成熟的告警系统,您可能更习惯于使用自己的告警功能。如果您们的告警系统是基于 Prometheus 实现的,那么可以参考以下内容,配置 istio 相关告警指标,然后进行相关告警。

(1)采集指标

可以通过使用 servicemonitor、PodMonitor 去收集istio控制面以及数据面的metrics。

(2)设置istio相关的告警规则。 标准告警指标可以参考官网在这方面的描述: https://istio.io/latest/docs/reference/config/metrics/