共计 2608 个字符,预计需要花费 7 分钟才能阅读完成。
欢送拜访我的 GitHub
https://github.com/zq2599/blog_demos
内容:所有原创文章分类汇总及配套源码,波及 Java、Docker、Kubernetes、DevOPS 等;
对于部署在 K8S 上的 Kafka 来说,<font color=”blue”>Prometheus+Grafana</font> 是罕用的监控计划,明天就来实战通过 Prometheus+Grafana 监控 K8S 环境的 Kafka;
筹备工作
明天聚焦的是 Kafka 监控,因而须要 K8S、Helm、Kafka、Prometheus、Grafana 等服务都已就绪,上面提供了一些链接,在您做相干部署时能够作为参考:
- 搭建 K8S:《kubespray2.11 装置 kubernetes1.15》
- 搭建 Helm:《部署和体验 Helm(2.16.1 版本)》
- 搭建 Prometheus 和 Grafana:《kubernetes1.15 极速部署 prometheus 和 grafana》
- 部署 Kafka:《K8S 环境疾速部署 Kafka(K8S 内部可拜访)》
版本信息
- Kubernetes:1.15
- Kubernetes 宿主机:CentOS Linux release 7.7.1908
- 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 的那个,如下图红框所示:
- 上述红框中的服务名字是 <font color=”blue”>kafka</font>、端口是 <font color=”blue”>9092</font>,因而稍后在 kafka-exporter 中配置的 kafka 信息就是 <font color=”blue”>kafka:9092</font>
实际操作
- 增加 Helm 仓库 (该仓库中有咱们须要的 kafka-exporter):<font color=”blue”>helm repo add gkarthiks https://gkarthiks.github.io/h…</font>
- 下载 kafka-exporter:<font color=”blue”>helm fetch gkarthiks/prometheus-kafka-exporter</font>
- 解压下载的 chart 文件:<font color=”blue”>tar -zxvf prometheus-kafka-exporter-0.1.0.tgz</font>
- 进入解压后的目录:<font color=”blue”>cd prometheus-kafka-exporter</font>
- 批改 values.yaml 文件,如下图红框,<font color=”blue”>kafka:9092</font> 就是同一 namespace 下拜访 kafka 的地址:
- 在 values.yaml 文件所在目录执行:<font color=”blue”>helm install –name-template kafka-exporter -f values.yaml . –namespace kafka-test</font>(kafka 的 namespace 是 kafka-test,这里的 namespace 要和 kafka 保持一致)
- 查看服务和 pod 是否就绪:
- 此时咱们部署好了 <font color=”blue”>kafka-exporter</font>,能给 prometheus 提供监控数据了,但 prometheus 并不知道要来这里采集数据,因而接下来要配置 prometheus;
- 确认 <font color=”blue”>kafka-exporter</font> 服务的拜访地址,prometheus 采集数据要用到,名字和端口如下图红框所示,因而能够拼接处跨 namespace 的拜访地址:<font color=”blue”>kafka-exporter-prometheus-kafka-exporter.kafka-test.svc.cluster.local:9308</font>
- 如果您是参照《kubernetes1.15 极速部署 prometheus 和 grafana》部署的 prometheus,请关上部署时下载的 <font color=”blue”>configmap.yaml</font> 文件,外面是 prometheus 的配置,如果是其余路径部署的,请依照本人的部署状况找到 prometheus.yml 的地位;
- <font color=”blue”>configmap.yaml</font> 中减少下图红框中的内容,这样 prometheus 就能够采集 kafka-exporter 的数据了:
- 使得配置失效:<font color=”blue”>kubectl apply -f configmap.yaml</font>
- 此时的 prometheus 容器用的还是旧配置,为了让配置失效,要把 prometheus 的 pod 删除,这样 K8S 主动创立的新 pod 就用上了新的配置,找出 prometheus 的 pod:<font color=”blue”>kubectl get pods -n kube-system</font>
- 删除旧的 pod:<font color=”blue”>kubectl delete pod prometheus-68545d4fd8-f5q2w -n kube-system</font>
- 期待新的 pod 被主动创立;
- 接下来登录 Grafana,配置监控页面,如下图,做模板导入操作:
- 在导入模板的页面输出编号 7589:
- 抉择数据源的时候,要选 prometheus,如下图:
- 此时如果您的 kafka 有音讯的收发,就能够立刻看到数据了:
至此,K8S 环境下的 kafka 监控曾经部署实现,心愿本文能给您一些参考;
欢送关注公众号:程序员欣宸
微信搜寻「程序员欣宸」,我是欣宸,期待与您一起畅游 Java 世界 …
https://github.com/zq2599/blog_demos
正文完