告警 #
告警功能提供 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/