前提条件:
1.已有ACK集群。
一、ACK集群中创建prometheus、alert的持久化的存储类(总共创建2个,步骤一致,名称和挂载的nas盘或者子目录不同而已)。grafana的dashboard持久化通过添加配置文件并打标签实现。
一、在应用市场找到ack-prometheus-operator,点击进入后选择"一键部署"。
二、选择集群名称后进入下一步
三、默认一键部署的yaml文件修改如下部分,左边为修改后,右边是一键部署默认参数。
四、点击"确定"进行部署,如果提示冲突,那就是之前安装过,有podsecuritypolicy、Clusterrole等冲突,按照提示删除即可。
五、可以查看我们配置的kafka的监控(当然如果你在yaml中未配置kafka监控或其他监控,后续按照下图格式手动添加也是可以的)
六、配置kafka的grafana图表
(1)登录grafana界面,账号是admin,密码是一键部署时yaml文件中配置的密码,然后在导入界面,导入官方的模板id为7589,但是下次grafana重启就会丢失这个dashboard。
(2)通过配置文件添加dashborad。
添加配置文件后需要给配置文件打上grafana_dashboard的标签才能生效
kubectl -n monitoring label cm ack-prometheus-operator-kafka grafana_dashboard=kafka-exportor-overview
(3)命令创建
kubectl -n monitoring create cm ack-prometheus-operator-kafka --from-file=kafka.json
kubectl -n monitoring label cm ack-prometheus-operator-kafka grafana_dashboard=kafka-exportor-overview
七、在k8s的ingress中添加路由信息,并解析对应域名,解析后访问grafana的域名,登录查看效果。
至此kafka的监控及界面展示就做完了。
八、告警信息配置
yaml文件如下
apiVersion: monitoring.coreos.com/v1
kind: PrometheusRule
metadata:
labels:
app: ack-prometheus-operator
release: ack-prometheus-operator
name: ack-prometheus-operator-kafka.rules
spec:
groups:
- name: kafka消费滞后告警
rules:
- alert: kafka消费滞后
expr: sum(kafka_consumergroup_lag{topic!="sop_free_study_fix-student_wechat_detail"}) by (consumergroup, topic) > 1000
for: 3m
labels:
serverity: warning
status: 严重
annotations:
summary: "kafka消费滞后"
description: "{{$.Labels.consumergroup}}##{{$.Labels.topic}}:消费滞后超过1000持续3分钟(当前:{{$value}})"
- alert: kafka-exporter down
expr: kafka_exporter_build_info < 1
for: 3m
labels:
serverity: warning
status: 严重
annotations:
summary: "kafka-exporter down"
description: "kafka-exporter down {{$.Labels.instance}}"
- alert: kafka server down
expr: kafka_brokers < 1
for: 3m
labels:
serverity: warning
status: 严重
annotations:
summary: "kafka server down"
description: "kafka server down {{$.Labels.job}}"
九、配置钉钉告警方式,这部分参考其他文档完成。
十、promotheus查看和维护
查看配置文件
kubectl get secret -n monitoring prometheus-ack-prometheus-operator-prometheus -o json | jq -r '.data."prometheus.yaml.gz"' | base64 -d | gzip -d文章来源:https://www.toymoban.com/news/detail-815431.html
1.先将现有的prometheus.yaml文件导出为prometheus.yaml。
kubectl get secret -n monitoring prometheus-ack-prometheus-operator-prometheus -o json | jq -r '.data."prometheus.yaml.gz"' | base64 -d | gzip -d > prometheus.yaml 2.打开文件进行编辑
vim prometheus.yaml
3.编辑后进行压缩 gzip prometheus.yaml
4.压缩后进行base64编码并拷贝编码后结果 base64 prometheus.yaml.gz -w 0 ## -w 0 表示不换行,不成块
5.编辑保密字典文件进行替换 kubectl edit secret -n monitoring prometheus-ack-prometheus-operator-prometheus
6.保存后再次查看是否为修改后内容 kubectl get secret -n monitoring prometheus-ack-prometheus-operator-prometheus -o json | jq -r '.data."prometheus.yaml.gz"' | base64 -d | gzip -d 7.必要时重启生效文章来源地址https://www.toymoban.com/news/detail-815431.html
到了这里,关于阿里云ACK托管版安装Prometheus并配置kafka告警的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!