K8S 的 Kafka 监控 (Prometheus+Grafana),java 语法规则视频
NFS 服务:IP 地址 192.168.50.135,文件夹/volume1/nfs-storageclass-test
Helm:2.16.1
Kafka:2.0.1
Zookeeper:3.5.5
Prometheus:2.0.0
Grafana:5.0.0
准备完毕就可以开始实战了;
[](
)确认 kafka-exporter 参数
即将部署的 kafka-exporter 要从 kafka 取得数据,因此要准备 kafka-exporter 参数;
查看 kafka 的服务中 TYPE 是 ClusterIP 的那个,如下图红框所示:
上述红框中的服务名字是 kafka、端口是 9092,因此稍后在 kafka-exporter 中配置的 kafka 信息就是 kafka:9092
[](
)实际操作
添加 Helm 仓库(该仓库中有我们需要的 kafka-exporter):helm repo add gkarthiks https://gkarthiks.github.io/helm-charts
下载 kafka-exporter:helm fetch gkarthiks/prometheus-kafka-exporter
解压下载的 chart 文件:tar -zxvf prometheus-kafka-exporter-0.1.0.tgz
进入解压后的目录:cd prometheus-kafka-exporter
修改 values.yaml 文件,如下图红框,kafka:9092 就是同一 namespace 下访问 kafka 的地址:
在 values.yaml 文件所在目录执行:helm install --name-template kafka-exporter -f values.yaml . --namespace kafka-test (kafka 的 namespace 是 kafka-test,这里的 namespace 要和 kafka 保持一致)
查看服务和 pod 是否就绪:
此时我们部署好了 kafka-exporter,能给 prometheus 提供监控数据了,但 prometheus 并不知道要来这里采集数据,因此接下来要配置 prometheus;
确认 kafka-exporter 服务的访问地址,prometheus 采集数据要用到,名字和端口如下图红框所示,因此可以拼接处跨 namespace 的访问地址:kafka-exporter-prometheus-kafka-exporter.kafka-test.svc.cluster.local:9308
如果您是参照[《kubernetes1.15 极速部署 prometheus 和 grafana》](
)部署的 prometheus,请打开部署时下载的 configmap.yaml 文件,里面是 prometheus 的配置,如果是其他途径部署的,请按照自己的部署情况找到 prometheus.yml 的位置;
configmap.yaml 中增加下图红框中的内容,这样 prometheus 就可以采集 kafka-exporter 的数据了:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200412114951
682.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2JvbGluZ19jYXZhbHJ5,size_16,color_FFFFFF,t_70)
使得配置生效:kubectl apply -f configmap.yaml
此时的 prometheus 容器用的还是旧配置,为了让配置生效,要把 prometheus 的 pod 删除,这样 K8S 自动创建的新 pod 就用上了新的配置,找出 prometheus 的 pod:kubectl get pods -n kube-system
删除旧的 pod:kubectl delete pod prometheus-68545d4fd8-f5q2w -n kube-system
评论