Grafana Prometheus仪表板教程(详细操作指南)

Grafana Prometheus用法教程介绍如何使用Grafana Prometheus仪表板?Prometheus 是一个开源事件监控软件,用于大容量分布式应用程序。它具有实时指标和警报、灵活查询、HTTP 拉取模型,是监控 Kubernetes 集群的不错选择。虽然 Prometheus 是一个独立的应用程序,但将其与可视化仪表板一起使用有助于更好地了解 Kubernetes 集群。这种场景的一个流行选择是 Grafana,一种开源可视化软件,它支持 Prometheus 作为开箱即用的数据源。本教程将向你展示如何在 Kubernetes 集群中安装 Grafana,将其连接到 Prometheus 并在仪表板中组织数据。先决条件

  • Kubernetes集群
  • 安装了 kubectl 命令行工具
  • 安装并设置了 Prometheus
安装 GrafanaGrafana Prometheus仪表板教程:要在 Kubernetes 集群上安装 Grafana,请创建并应用一系列yaml文件。1. 首先在一个名为 的文件中创建一个 ConfigMapgrafana-datasource-config.yaml
nano grafana-datasource-config.yaml

该文件由以下声明组成:
apiVersion: v1 kind: ConfigMap metadata: name: grafana-datasources namespace: default data: prometheus.yaml: |- { "apiVersion": 1, "datasources": [ { "access":"proxy", "editable": true, "name": "prometheus", "orgId": 1, "type": "prometheus", "url": "http://prometheus-service.monitoring.svc:9090", "version": 1 } ] }

2. 通过指定你希望安装 Grafana 的命名空间来调整文件的内容以满足你的需求。3. 保存并退出文件。4.使用 kubectl将更改应用到你的集群:
kubectl create -f grafana-datasource-config.yaml

输出确认 ConfigMap 的创建:
Grafana Prometheus仪表板教程(详细操作指南)

文章图片
5. 接下来,yaml为 Grafana 部署创建一个文件:
nano deployment.yaml

该文件包含 Grafana 部署配置:
apiVersion: apps/v1 kind: Deployment metadata: name: grafana namespace: default spec: replicas: 1 selector: matchLabels: app: grafana template: metadata: name: grafana labels: app: grafana spec: containers: - name: grafana image: grafana/grafana:latest ports: - name: grafana containerPort: 3000 resources: limits: memory: "1Gi" cpu: "1000m" requests: memory: 500M cpu: "500m" volumeMounts: - mountPath: /var/lib/grafana name: grafana-storage - mountPath: /etc/grafana/provisioning/datasources name: grafana-datasources readOnly: false volumes: - name: grafana-storage emptyDir: {} - name: grafana-datasources configMap: defaultMode: 420 name: grafana-datasources

6. Grafana Prometheus用法教程:保存文件,然后将其应用到集群:
kubectl create -f deployment.yaml

输出确认部署创建:
Grafana Prometheus仪表板教程(详细操作指南)

文章图片
7. 最后,创建service.yaml配置 Grafana 服务的文件:
nano service.yaml

该文件由以下声明组成:
apiVersion: v1 kind: Service metadata: name: grafana namespace: default annotations: prometheus.io/scrape: 'true' prometheus.io/port:'3000' spec: selector: app: grafana type: NodePort ports: - port: 3000 targetPort: 3000 nodePort: 32000

8. 根据集群的需要调整文件,然后保存并应用它:
kubectl create -f service.yaml

输出确认服务已成功创建:
Grafana Prometheus仪表板教程(详细操作指南)

文章图片
9. 使用kubectl port-forward 命令将 Grafana 服务转发到端口3000
kubectl port-forward svc/grafana 3000

Grafana Prometheus仪表板教程(详细操作指南)

文章图片
10. 现在打开浏览器并导航到http://localhost:3000/。11. Grafana 登录屏幕出现,要求你输入用户名和密码。键入admin这两个领域,然后点击登录。
Grafana Prometheus仪表板教程(详细操作指南)

文章图片
12. Grafana 要求你设置新密码,然后显示主页。将 Prometheus 添加为 Grafana 数据源如何使用Grafana Prometheus仪表板?要开始在 Grafana 中使用 Prometheus,请将 Prometheus 添加为数据源。1. 在左侧边栏中,将鼠标悬停在齿轮图标上以显示配置子菜单。2. 单击数据源。
Grafana Prometheus仪表板教程(详细操作指南)

文章图片
2. 配置页面打开。单击添加数据源按钮。
Grafana Prometheus仪表板教程(详细操作指南)

文章图片
3. 单击右侧的选择按钮,选择 Prometheus 作为数据源类型。
Grafana Prometheus仪表板教程(详细操作指南)

文章图片
4. Prometheus 的配置页面打开。在此指定源名称、Prometheus 服务的 URL 和端口以及访问类型(服务器访问是默认选项)。
Grafana Prometheus仪表板教程(详细操作指南)

文章图片
5. 完成后,向下滚动到页面底部并单击“保存并测试”按钮。
Grafana Prometheus仪表板教程(详细操作指南)

文章图片
Grafana 测试与 Prometheus 的连接并完成添加数据源。注意:如果你收到“Error Bad Gateway”错误,请尝试将HTTP 访问选项从Server更改为Browser。将 Prometheus Stats 作为仪表板导入 GrafanaGrafana Prometheus仪表板教程:Grafana 支持开箱即用的 Prometheus,你可以轻松访问预制的 Prometheus 仪表板。1. 导航回Data Sources部分并选择Prometheus。2. 打开设置下拉菜单。3. 然后单击仪表板。
Grafana Prometheus仪表板教程(详细操作指南)

文章图片
4. 出现可用仪表板列表。单击仪表板名称右侧的“导入”按钮,导入所需的仪表板。
Grafana Prometheus仪表板教程(详细操作指南)

文章图片
5. 要访问仪表板,请将鼠标悬停在左侧边栏中的四个正方形图标上以显示仪表板菜单。6. 单击管理。
Grafana Prometheus仪表板教程(详细操作指南)

文章图片
7.从列表中选择要管理的Prometheus仪表板。
Grafana Prometheus仪表板教程(详细操作指南)

文章图片
来自你的 Prometheus 服务器的统计信息Prometheus 仪表板由几个单统计图表组成,如下所述。单一统计图
Dashboard Management页面上选择Prometheus Stats仪表板后,统计信息显示在面板中。
Grafana Prometheus仪表板教程(详细操作指南)

文章图片
第一行由以下面板组成:
  • Uptime:自 Prometheus 服务器启动以来已经过去了多长时间
  • Local Storage Memory Series  : Prometheus 当前在内存中保存的系列数
  • 内部存储队列长度:这个数字越小越好。'Empty' 消息意味着队列号为零。
所述样品摄取面板提供有关普罗米修斯摄取以5分钟的速率采样的消息的数量的信息。Prometheus 抓取指标
Scrape 指标面板位于 Samples 摄取面板的正下方。
  • 的目标擦伤面板显示刮目标的频率,即,普罗米修斯,取值范围为矢量测量在过去五分钟,每时间序列。
  • Scrape Duration面板显示在相同的五分钟时间内测量的刮擦持续时间。
Grafana Prometheus仪表板教程(详细操作指南)

文章图片
评估持续时间
所述规则评估持续时间发现下面的刮度量板面板提供有关所有评估来执行的长度的信息。创建新仪表板如何使用Grafana Prometheus仪表板?要创建新的 Grafana 仪表板:1. 导航到仪表板页面并单击新建仪表板按钮。
Grafana Prometheus仪表板教程(详细操作指南)

文章图片
2. 出现一个屏幕,你可以在其中添加新的空面板和行。
Grafana Prometheus仪表板教程(详细操作指南)

文章图片
3. 出现一个带有单个虚拟面板的新屏幕。
Grafana Prometheus仪表板教程(详细操作指南)

文章图片
使用 Prometheus 查询编辑器自定义仪表板Grafana Prometheus仪表板教程:要编辑特定的 Grafana 面板:1. 单击面板标题打开下拉菜单。2. 在菜单中,点击编辑。
Grafana Prometheus仪表板教程(详细操作指南)

文章图片
3. 出现编辑窗口。通过引入新查询或修改当前查询来自定义面板。使用 Prometheus 查询语言执行查询。
Grafana Prometheus仪表板教程(详细操作指南)

文章图片
4. Grafana 的预制 Prometheus 仪表板中不包含以下指标,但可用于监控 Prometheus:
  • prometheus_local_storage_memory_chunks  – 监控 Prometheus 存储在内存中的内存块。
  • prometheus_local_storage_memory_series  – 监控 Prometheus 存储在内存中的内存系列。
  • prometheus_local_storage_ingested_samples_total  – 测量样本的摄取率。
  • prometheus_target_interval_length_seconds  – 测量目标刮擦之间的时间量。
  • prometheus_local_storage_chunk_ops_total  – 监控所有 Prometheus 存储块操作的每秒速率。
Grafana Prometheus用法教程:使用预制仪表板和插件如何使用Grafana Prometheus仪表板?Grafana 提供了大量可供选择的预制仪表板和插件,可在其网站上下载。要安装预制仪表板:1. 下载插件json文件。2. 单击导入按钮并按照说明将文件上传到 Grafana。
Grafana Prometheus仪表板教程(详细操作指南)

文章图片
3. 要安装插件,请使用 登录集群中的 Grafana pod  kubectl exec
kubectl exec -it [ grafana-pod] -- [ shell]

Grafana Prometheus仪表板教程(详细操作指南)

文章图片
4. 现在使用grafana-cli命令行工具安装插件:
grafana-cli plugins install grafana-worldmap-panel

Grafana Prometheus仪表板教程(详细操作指南)

文章图片
Grafana Prometheus用法教程
该插件安装到 Grafana 插件目录。默认位置是/var/lib/grafana/plugins。成功安装插件后,它会自动在 Grafana 中可用。结论阅读这个Grafana Prometheus仪表板教程后,你应该能够安装和设置 Grafana 以将其与 Prometheus(一种重要的 DevOps 工具)一起使用。如果你对 Prometheus 在云监控方面感兴趣,请阅读专用于最佳云监控工具的指南。

    推荐阅读