使用IBM Cloud Private (ICP) 提供的Prometheus和Grafana工具,可以可视化应用程序的指标数据

目标

IBM Cloud Private(ICP)作为一种附带产品监视工具,Prometheus和Grafana在kube-system命名空间中运行。通常情况下,它们用于收集节点和ICP相关服务的指标。但我们可以顺便收集应用程序的指标并将其可视化。

测试环境
– IBM 云私有化 2.1.0.2(Kubernetes 1.9.1)

程序

应用程序对Prometheus的度量支持

有一种方法类似于过去的文章”启用Spring Boot 2中的/actuator/prometheus”。在这种情况下,应用程序的度量指标可以通过/actuator/prometheus来收集。

确认 Prometheus 的 ConfigMap

由于Prometheus的ConfigMap被定义为名为monitoring-prometheus的项,因此我们需要查看其中的内容。在确认过程中,我们发现了可疑的注释。

$ kubectl get configmap monitoring-prometheus -n kube-system -o yaml | more

      # Example scrape config for pods
      #
      # The relabeling allows the actual pod scrape endpoint to be configured via the
      # following annotations:
      #
      # * `prometheus.io/scrape`: Only scrape pods that have a value of `true`
      # * `prometheus.io/path`: If the metrics path is not `/metrics` override this.
      # * `prometheus.io/port`: Scrape the pod on the indicated port instead of the default of `9102`.
      - job_name: 'kubernetes-pods'

        kubernetes_sd_configs:
          - role: pod

实际上,如果在Pod的注释中指定prometheus.io/scrape: “true”,那么Prometheus将自动帮助我们收集指标数据。此外,我们还可以通过prometheus.io/path和prometheus.io/port来更改数据收集的路径和端口。

应用程序的部署

请使用以下方式指定注释。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: kube-sample-top
spec:
  replicas: 2
  selector:
    matchLabels:
      app: kube-sample-top
  template:
    metadata:
      labels:
        app: kube-sample-top
      annotations:
        prometheus.io/scrape: "true" # 収集の有効化
        prometheus.io/path: /actuator/prometheus # パス
        prometheus.io/port: "8080:8080" # Podのポート:コンテナポート
    spec:
      containers:
(略)

请确认Prometheus。

我会检查Prometheus的用户界面。因为端口没有被公开,所以我会执行端口转发。

$ kubectl get pod -n kube-system | grep monitoring-prometheus 
monitoring-prometheus-7994986858-4nwp8                    3/3       Running     0          5d
(略)

$ kubectl port-forward monitoring-prometheus-7994986858-4nwp8 9090:9090 -n kube-system

通过浏览器访问 http://localhost:9090/ ,然后选择菜单中的“状态→目标”。如果一切顺利,Scraping应该已经开始了。

image.png

确认Grafana

当您从ICP控制台中选择Platform→Monitoring,将显示Grafana。您可以尝试创建一个空的仪表板,并将JVM的堆使用量以图形方式显示出来。

设定如下条件。

image.png

然后图表被绘制出来了。

image.png

真是非常简单呢。

以上就是。

广告
将在 10 秒后关闭
bannerAds