实录分享 | 使用 Prometheus 和 Grafana 监控 Alluxio 运行状况
欢迎来到【微直播间】,2min 纵览大咖观点
本次分享主要包括三个方面:
Prometheus&Grafana 简介
环境搭建
手动调优
一、 Prometheus&Grafana 简介
关于 Prometheus:
Prometheus 是一个开源的完整监控解决方案,其对传统监控系统的测试和告警模型进行了彻底的颠覆,形成了基于中央化的规则计算、统一分析和告警新模型。
关于 Grafana:
Grafana 是一款采用 Go 语言编写的开源应用,主要用于大规模指标数据的可视化展现,是网络架构和应用分析中最流行的时序数据展示工具,目前已经支持绝大部分常用的时序数据库。
二、环境搭建
为了确保 Alluxio 的最佳性能和可用性,建立一个强大的监控系统至关重要,基于监控系统我们能够迅速发现系统问题并优化资源利用。后面会逐步介绍如何配置 Prometheus 和 Grafana 监控 Alluxio,详细的解决方案可见下方直播视频。
前置条件:安装 Alluxio,同时将 Presto 与 Alluxio 共同运行;
配置 Prometheus Server;
启动 Prometheus Server;
Prometheus UI;
配置 Grafana;
启动 Grafana;
为 Grafana 配置数据源;
配置 Alluxio 监控;
关闭监控软件。
三、手动调优
√ 修改 Dashboard
以上仅为大咖演讲概览,完整内容点击视频观看:
(点击链接即可观看)
附件:大咖分享文字版完整内容可见下文
本文将和大家分享 Prometheus 和 Grafana 测试环境搭建、监控 Alluxio 数据到性能调优等方面,帮助大家快速上手用 Prometheus 和 Grafana 监控 Alluxio。
一、Prometheus 简介
Prometheus 是一个开源的完整监控解决方案,其对传统监控系统的测试和告警模型进行了彻底颠覆,形成了基于中央化的规则计算、统一分析和告警新模型。
【关键组件】:
Prometheus Server: 主服务器,负责收集和存储时间序列数据,包含存储引擎和计算引擎。Prometheus 通过端口将数据拉取并存储,形成时间序列数据。
Prometheus 优势
易于管理:
Prometheus 核心部分只有一个单独的二进制文件,不存在任何的第三方依赖。可以在任何环境搭建我们的监控系统。
强大的数据模型:
所有采集的监控数据均以指标(metric)的形式保存在内置的时间序列数据库当中。
强大的查询语言 PromQL
Prometheus 内置了一个强大的数据查询语言 PromQL,可以实现对监控数据的查询、聚合,也可应用于数据可视化应用(如 Grafana)以及告警当中。
Prometheus UI
下面是 Prometheus 监控的图,Prometheus 监控着多种进程。
二、Grafana 简介
Grafana 是一款采用 Go 语言编写的开源应用,主要用于大规模指标数据的可视化展现,是网络架构和应用分析中最流行的时序数据展示工具,目前已经支持绝大部分常用的时序数据库。在 Grafana 中,我们可以使用 Prometheus 采集的数据,用 PromQL 筛选出所需的数据,在 Web UI 界面可绘制种类丰富的图像,如折线图、柱状图、热图等。
Grafana 绘制 CPU 图、JVM 图来监控 CPU 和 JVM 信息。
Grafana Web UI
Alluxio 监控架构
Prometheus 收集 Alluxio Master、Alluxio Worker 等进程的信息,存储到 Prometheus 数据库中;Grafana 收集数据,配合 PromQL 语言,在 Web UI 界面展示。
三、环境搭建
前置条件
电脑上应已安装好 Alluxio。如果没有安装,可编译 Alluxio 源代码或在本地下载 Alluxio 程序。
在将 Presto 与 Alluxio 一起运行前,请参照 Deploying Presto 部署 Presto,并配置 Presto 和 Alluxio 共同运行。
配置 Prometheus Server
下载 Prometheus Server(如 prometheus-2.37.5.linux-amd64.tar.gz),解压 Prometheus 并编辑 prometheus.yml 文件配置 Prometheus。
打开 Prometheus 的 Web UI:http://<PROMETHEUS_HOSTNAME>:9090/,依次点击 Status- Targets,若各个目标都是 up 状态,表示安装启动成功。
Prometheus UI
配置 Grafana
下载 Grafana 安装包,解压。
启动 Grafana
启动 Grafana 并设置后台运行:
为 Grafana 配置数据源
打开 Grafana Web UI:http://<GRAFANA_HOSTNAME>:3000,默认用户名和密码:admin。
为 Grafana 配置 Prometheus 数据源(Prometheus 数据库所在位置)
依次点击 Configuration - Data sources - Add data source,选择 Prometheus 获取数据。
找到并点击 Prometheus
配置 Prometheus Server 的 HTTP URL(Prometheus 默认端口号是 9090):
点击下方的 Save & test:
出现绿色的提示框,表示与 Prometheus 正常连通:
通过 Dashboards | Grafana Labs 网站,可以找到大量可直接使用的 Dashboard 模板。
点击 Dashboards -Import,可以导入 Dashboard 模板。
导入模版并打开对应的 Dashboard 后,用户可将鼠标悬浮至左上角 i 查看指标具体描述:
配置 Alluxio 监控
在 Prometheus 加入如下配置,替换端口号:
下载 Alluxio 监控模板,导入 Grafana 的 Dashboard。
常见错误:某些图表显示 No data。可以点进对应的图表,切换这里的 Data source。
关闭监控软件
关闭 Prometheus Server
关闭 Pushgateway
关闭 Grafana
四、手动调优
修改 Dashboard
√ 点击 Add panel;
√ 可以增加一个新的 panel,也可以增加一个新的 row;
比如监控 CPU:
√ 在左侧搜索 cpu,找到对应指标;
√ 在右侧选择要监控的 instance 或 job;
√ 点击下方 Use query。
√ 右侧可以调整图标的样式;
√ 可以为图表加标题和描述。
√ 调整坐标轴的名字及其单位;
√ 调整坐标轴的宽度等样式。
√ 调整图表的样式,线图、柱状图、点图;
√ 调整图标的内部样式。
依次点击 Inspect ->Data
√ 由于一个 Panel 中有多个监控指标,可以在左侧选择要导出的监控指标(或 Series joined bytime 选择所有指标);
√ 点击右侧 DownloadCSV 下载数据。
点击保存
导出模板
总结
通过引入 Prometheus 和 Grafana,我们为 Alluxio 构建了一个更加灵活、敏捷、易用的监控系统。
Alluxio 的指标多而全面,而不同用户群体关心不同的指标,因此我们介绍了如何搭建适合用户所需应用场景的 Dashboard,并且可以导出数据、导出 Dashboard 模板,方便迁移。
想要了解更多关于 Alluxio 的干货文章、热门活动、专家分享,可点击进入【Alluxio 智库】:
版权声明: 本文为 InfoQ 作者【Alluxio】的原创文章。
原文链接:【http://xie.infoq.cn/article/76702f4b64db9db2280a5fb12】。文章转载请联系作者。
评论