使用Prometheus将GemFire for Kubernetes的指标可视化
以前,我在这里搭建了VMware GemFire for Kubernetes并在Aria Operations for Applications(以下简称AOA)中进行了可视化确认。
在AOA中进行协作非常简单,但在监控Kubernetes方面,通常会使用Prometheus,所以这次我将继续上次的内容,并通过Prometheus来查看指标。
需要注意的是,由于是上次内容的延续,GemFire集群已经建立完毕,可以继续进行下一步。
添加Helm图表库来构建Prometheus起始。
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update
我安装了 Prometheus。由于我想从外部访问,因此我在 Prometheus 和 Grafana 中分别设置了 type: LoadBalancer。
helm install prometheus prometheus-community/kube-prometheus-stack -n prometheus --create-namespace --set grafana.service.type=LoadBalancer --set prometheus.service.type=LoadBalancer
在创建kind: ServiceMonitor之前,我们要先确认GemFire的Endpoint。为此,我们需要检查Prometheus的检测规则。
$ kubectl get prometheus -o yaml prometheus-kube-prometheus-prometheus -n prometheus
:(省略)
serviceMonitorSelector:
matchLabels:
release: prometheus
:(省略)
如果存在名为”prometheus”的Label,那么请创建包含此Label和ServiceMonitor的清单,并应用。
cat << EOF > ./gemfire-svcmonitor.yaml
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: gemfire-svcmonitor
namespace: gemfire-dev
labels:
release: prometheus
spec:
endpoints:
- interval: 10s
port: locator-metrics
scheme: http
path: /
- interval: 10s
port: server-metrics
scheme: http
path: /
selector:
matchLabels:
app.kubernetes.io/name: gemfire
namespaceSelector:
matchNames:
- gemfire-dev
EOF
kubectl apply -f gemfire-svcmonitor.yaml
