默认的helm官方安装方式
#添加kafka exporter helm仓库
helm repo add gkarthiks https://gkarthiks.github.io/helm-charts
#下载安装kafka exporter
helm install kafka-exporter --set "replicaCount=1" gkarthiks/prometheus-kafka-exporter
默认是当前的namespace
#修改values.yaml执行
helm install kafka-exporter -f values.yaml gkarthiks/prometheus-kafka-exporter
#values.yaml文件可以到$HOME/.cache/helm/repository下解压对应的tar包获得
这种方式,安装之后可以正常打开kafka exporter的metrics,在创建prometheus的ServiceMonitor的无法获取到正确的endpoint,刚接触prometheus的exporter还不是很熟悉具体的机制(其实是kubernetes的基础薄弱 - -),下面我采用github上提供的helm chart安装
helm创建自定义的chart
1.helm create my-app 官方会帮你创建好基础的模板
或者下载已经有的chart上传到helm服务器,修改下values.yaml,如下载kafka-exporter
链接地址是https://github.com/danielqsj/kafka_exporter/tree/master/charts/kafka-exporter
下载了可以省去create这步
2.修改kafka-exporter/values.yaml
这里我们只修改下kafka如下的部分,添加我们服务器的kafka的实际地址
kafkaExporter:
kafka:
servers: []
# - kafka:9092
# version: "1.0.0"
3.helm lint kafka-exporter 检查是否有语法错误,若执行结果如下
==> Linting kafka-exporter
[INFO] Chart.yaml: icon is recommended
1 chart(s) linted, 0 chart(s) failed
则可以进行下一步,若有错误再回去检查确认。
4.helm package kafka-exporter 打包
Successfully packaged chart and saved it to: /home/zhuhaibo/kafka-exporter-1.0.0.tgz
5.helm install kafka-exporter kafka-exporter-1.0.0.tgz 安装打好包的kafka-exporter-1.0.0.tgz
NAME: kafka-exporter
LAST DEPLOYED: Thu Jun 4 17:04:29 2020
NAMESPACE: monitoring
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
1.To see the metrics
kubectl port-forward svc/kafka-exporter 9308
echo "Visit http://127.0.0.1:9308 to use your application"
OK,你已成功安装了kafka exporter,并且安装的prometheus已经动态加载了,这个下载的chart里预定义好了servicemonitoring-svc.yaml文件(此文件是prometheus动态加载配置的关键步骤)
6.grafana添加kafka exporter的dashboard模板,https://grafana.com/grafana/dashboards/7589