grafana告警配置

grafana 4 版本以上就支持了报警功能,这使得我们利用 grafana 作为监控面板更为完整,因为报警是监控系统中必不可少的环节,grafana 支持很多种形式的报警功能,比如 email、钉钉、slack、webhook 等等,我们这里来测试下 email 和 钉钉。

email报警

要启用 email 报警需要在启动配置文件中/etc/grafana/grafan.ini开启 SMTP 服务,我们这里同样利用一个 ConfigMap 资源对象挂载到 grafana Pod 中:(grafana-cm.yaml)

apiVersion: v1
kind: ConfigMap
metadata:
  name: grafana-config
  namespace: kube-ops
data:
  grafana.ini: |
    [smtp]
    enabled = true
    host = smtp.163.com:25
    user = [email protected]
    password = <邮箱密码>
    skip_verify = true
    from_address = [email protected]
    [alerting]
    enabled = true
    execute_alerts = true

当然我们还得将这个 ConfigMap 文件挂载到 Pod 中去:

        volumeMounts:
        - mountPath: /var/lib/grafana
          subPath: grafana
          name: storage
        - mountPath: "/etc/grafana"
          name: config
      securityContext:
        fsGroup: 472
        runAsUser: 472
      volumes:
      - name: storage
        persistentVolumeClaim:
          claimName: grafana
      - name: config
        configMap:
          name: grafana-config

创建 ConfigMap 对象,更新 Deployment:

$ kubectl create -f grafana-cm.yaml
$ kubectl apply -f grafana-deploy.yaml

更新完成后,在 grafana 的 webui 中Alert页面测试邮件报警:
grafana告警配置_第1张图片发送测试后,正常情况下就可以收到测试报警邮件:
grafana告警配置_第2张图片

钉钉告警

忽略

目前只有 Graph 支持报警功能,所以我们选择 Graph 相关图表,点击编辑,进入 Graph 编辑页面可以看到有一个 Alert 模块,切换过来创建报警:
grafana告警配置_第3张图片然后配置相关参数:

1、Alert 名称,可以自定义。
2、执行的频率,这里我选择每60s检测一次。
3、判断标准,默认是 avg,这里是下拉框,自己按需求选择。
4、query(A,5m,now),字母A代表选择的metrics 中设置的 sql,也可以选择其它在 metrics中设置的,但这里是单选。5m代表从现在起往之前的五分钟,即5m之前的那个点为时间的起始点,now为时间的结束点,此外这里可以自己手动输入时间。
5、设置的预警临界点,这里手动输入,和6是同样功能,6可以手动移动,两种操作是等同的。

然后需要设置报警发送信息,点击侧边的Notifications:
grafana告警配置_第4张图片其中Send to就是前面我们配置过的发送邮件和钉钉的报警频道的名称。

配置完成后需要保存下这个 graph,否则发送报警可能会失败,然后点击 Alert 区域的Test Rule可以来测试报警规则,然后邮件和钉钉正常来说就可以收到报警信息了。

邮件报警信息:
grafana告警配置_第5张图片到这里就完成了使用 grafana 来展示 Kubernetes 集群的监控图表信息以及报警配置,但是我们明显可以感觉到 grafana 的优势在于图表的展示,报警功能有点弱,所以一般来说,在生产环境我们不会直接使用 grafana 的报警功能,更多的是使用功能更加强大的 AlertManager,下节课我们再来和大家介绍了。

你可能感兴趣的:(grafana)