Prometheus 社区更新太快,之前写的一些文档有些过时。最近又开始关注可观测性,补齐运维方面的一些知识点。
1. 名词解释
- Grafana
一个可视化工具,提供各种可视化面板,支持各种数据源,包括 Prometheus、OpenTSDB、MySQL 等。
- Prometheus
一个时间序列数据库,主要用于收集、存储、对外提供查询数据。
- Exporter
一个用来暴露服务监控指标的程序,提供 API 接口给 Prometheus 拉取监控数据。
- PromQL
Prometheus 内置的数据查询语言,其提供对时间序列数据丰富的查询,聚合以及逻辑运算能力的支持。
2. 安装 Prometheus
- 添加 Helm 源
| |
- 安装 Prometheus
| |
如果 prometheus-node-exporter 一直起不来,可能是默认端口 9100 被占用。可以使用下面的命令,编辑 DaemonSet 修改默认端口:
| |
- 卸载
| |
3. 安装 Grafana
- 添加 Helm 源
| |
| |
值得注意的是,这种安装方法,Grafana 的数据存储在 Pod 的 /var/lib/grafana 路径下,如果重启 Grafana ,相关的配置会丢失。如果是生产环境,需要挂载存储卷。如果有 StorageClass 可用,可以使用如下参数进行持久化存储:
| |
- 获取 admin 账户的登录密码
| |
- 修改 Grafana 服务的访问方式为 NodePort
| |
| |
这用,通过主机 IP + 31892 即可访问 Grafana。
- 卸载
| |
4. 配置使用
4.1 添加数据源
在左侧导航栏,找到 [Data Sources]

填入 Prometheus 的访问地址 http://prometheus-server.monitor.svc 即可。

4.2 添加模板
在左侧导航栏 [+]中找到 Import 按钮,我选择的是 id 为 10856 的面板导入。也可以去 Grafana 官网,选择合适的面板导入,https://grafana.com/grafana/dashboards。

如下图,这里需要选择上面添加的数据源。

4.3 查看看板

4.4 grafana.ini 配置
Grafana 有些配置需要通过修改 grafana.ini 实现,下面仅列举我用到的几个:
- 编辑配置文件
| |
- 添加配置
- 允许匿名访问
| |
- 允许 Iframe 嵌入
| |
- 重启 Grafana 生效
| |
