Grafana Prometheus用法教程介绍
如何使用Grafana Prometheus仪表板?Prometheus 是一个开源事件监控软件,用于大容量分布式应用程序。它具有实时指标和警报、灵活查询、HTTP 拉取模型,是监控 Kubernetes 集群的不错选择。
虽然 Prometheus 是一个独立的应用程序,但将其与可视化仪表板一起使用有助于更好地了解 Kubernetes 集群。这种场景的一个流行选择是 Grafana,一种开源可视化软件,它支持 Prometheus 作为开箱即用的数据源。
本教程将向你展示如何在 Kubernetes 集群中安装 Grafana,将其连接到 Prometheus 并在仪表板中组织数据。
先决条件
- Kubernetes集群
- 安装了 kubectl 命令行工具
- 安装并设置了 Prometheus
安装 Grafana
Grafana Prometheus仪表板教程:要在 Kubernetes 集群上安装 Grafana,请创建并应用一系列
yaml
文件。
1. 首先在一个名为 的文件中创建一个 ConfigMap
grafana-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 的创建:
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
输出确认部署创建:
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
输出确认服务已成功创建:
9. 使用kubectl port-forward 命令将 Grafana 服务转发到端口
3000
:
kubectl port-forward svc/grafana 3000
10. 现在打开浏览器并导航到
http://localhost:3000/
。
11. Grafana 登录屏幕出现,要求你输入用户名和密码。键入
admin
这两个领域,然后点击
登录。
12. Grafana 要求你设置新密码,然后显示主页。
将 Prometheus 添加为 Grafana 数据源
如何使用Grafana Prometheus仪表板?要开始在 Grafana 中使用 Prometheus,请将 Prometheus 添加为数据源。
1. 在左侧边栏中,将鼠标悬停在齿轮图标上以显示配置子菜单。
2. 单击
数据源。
2. 配置页面打开。单击
添加数据源按钮。
3. 单击右侧的
选择按钮,选择 Prometheus 作为数据源类型。
4. Prometheus 的配置页面打开。在此指定源名称、Prometheus 服务的 URL 和端口以及访问类型(服务器访问是默认选项)。
5. 完成后,向下滚动到页面底部并单击“
保存并测试”按钮。
Grafana 测试与 Prometheus 的连接并完成添加数据源。
注意:如果你收到“Error Bad Gateway”错误,请尝试将
HTTP 访问选项从
Server更改为
Browser。
将 Prometheus Stats 作为仪表板导入 Grafana
Grafana Prometheus仪表板教程:Grafana 支持开箱即用的 Prometheus,你可以轻松访问预制的 Prometheus 仪表板。
1. 导航回
Data Sources部分并选择
Prometheus。
2. 打开
设置下拉菜单。
3. 然后单击
仪表板。
4. 出现可用仪表板列表。单击仪表板名称右侧的“
导入”按钮,
导入所需的仪表板。
5. 要访问仪表板,请将鼠标悬停在左侧边栏中的四个正方形图标上以显示
仪表板菜单。
6. 单击
管理。
7.从列表中选择要管理的
Prometheus仪表板。
来自你的 Prometheus 服务器的统计信息
Prometheus 仪表板由几个单统计图表组成,如下所述。
单一统计图
在
Dashboard Management页面上选择
Prometheus Stats仪表
板后,统计信息显示在面板中。
第一行由以下面板组成:
- Uptime:自 Prometheus 服务器启动以来已经过去了多长时间
- Local Storage Memory Series : Prometheus 当前在内存中保存的系列数
- 内部存储队列长度:这个数字越小越好。'Empty' 消息意味着队列号为零。
所述
样品摄取面板提供有关普罗米修斯摄取以5分钟的速率采样的消息的数量的信息。
Prometheus 抓取指标
Scrape 指标面板位于 Samples 摄取面板的正下方。
- 的目标擦伤面板显示刮目标的频率,即,普罗米修斯,取值范围为矢量测量在过去五分钟,每时间序列。
- Scrape Duration面板显示在相同的五分钟时间内测量的刮擦持续时间。
评估持续时间
所述
规则评估持续时间发现下面的刮度量板面板提供有关所有评估来执行的长度的信息。
创建新仪表板
如何使用Grafana Prometheus仪表板?要创建新的 Grafana 仪表板:
1. 导航到
仪表板页面并单击
新建仪表板按钮。
2. 出现一个屏幕,你可以在其中添加新的空面板和行。
3. 出现一个带有单个虚拟面板的新屏幕。
使用 Prometheus 查询编辑器自定义仪表板
Grafana Prometheus仪表板教程:要编辑特定的 Grafana 面板:
1. 单击面板标题打开下拉菜单。
2. 在菜单中,点击
编辑。
3. 出现编辑窗口。通过引入新查询或修改当前查询来自定义面板。使用 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。
3. 要安装插件,请使用 登录集群中的 Grafana pod
kubectl exec
。
kubectl exec -it [grafana-pod] -- [shell]
4. 现在使用
grafana-cli
命令行工具安装插件:
grafana-cli plugins install grafana-worldmap-panel
该插件安装到 Grafana 插件目录。默认位置是
/var/lib/grafana/plugins
。成功安装插件后,它会自动在 Grafana 中可用。
结论
阅读这个Grafana Prometheus仪表板教程后,你应该能够安装和设置 Grafana 以将其与 Prometheus(一种重要的 DevOps 工具)一起使用。如果你对 Prometheus 在云监控方面感兴趣,请阅读专用于最佳云监控工具的指南。