实录分享 | 使用Prometheus和Grafana监控Alluxio运行状况

news2024/11/26 18:31:05

图片

欢迎来到【微直播间】,2min纵览大咖观点

本次分享主要包括三个方面:

  • Prometheus&Grafana简介
  • 环境搭建
  • 手动调优

一、 Prometheus&Grafana简介
关于Prometheus:

Prometheus 是一个开源的完整监控解决方案,其对传统监控系统的测试和告警模型进行了彻底的颠覆,形成了基于中央化的规则计算、统一分析和告警新模型。

关于Grafana:

Grafana是一款采用Go语言编写的开源应用,主要用于大规模指标数据的可视化展现,是网络架构和应用分析中最流行的时序数据展示工具,目前已经支持绝大部分常用的时序数据库。

二、环境搭建

为了确保Alluxio的最佳性能和可用性,建立一个强大的监控系统至关重要,基于监控系统我们能够迅速发现系统问题并优化资源利用。后面会逐步介绍如何配置Prometheus和Grafana监控Alluxio,详细的解决方案可见下方直播视频。

1. 前置条件:安装Alluxio,同时将Presto与Alluxio共同运行;

2. 配置Prometheus Server;

3. 启动Prometheus Server;

4. Prometheus UI;

5. 配置Grafana;

6. 启动Grafana;

7. 为Grafana配置数据源;

8. 配置 Alluxio 监控;

9. 关闭监控软件。

三、手动调优

√ 修改Dashboard

以上仅为大咖演讲概览,完整内容点击视频观看:

(点击链接即可观看)icon-default.png?t=N6B9https://app.ma.scrmtech.com/meetings/MeetingPc/Detail?pf_uid=27086_2062&sid=79796&source=2&pf_type=3&channel_id=26821&channel_name=Alluxio+%E5%BE%AE%E4%BF%A1%E6%9C%8D%E5%8A%A1%E5%8F%B7&tag_id=31713a81002af612&id=79796

附件:大咖分享文字版完整内容可见下文

本文将和大家分享Prometheus和Grafana 测试环境搭建、监控Alluxio数据到性能调优等方面,帮助大家快速上手用Prometheus和Grafana监控Alluxio。

一、Prometheus简介

Prometheus 是一个开源的完整监控解决方案,其对传统监控系统的测试和告警模型进行了彻底颠覆,形成了基于中央化的规则计算、统一分析和告警新模型。

【关键组件】:

Prometheus Server: 主服务器,负责收集和存储时间序列数据,包含存储引擎和计算引擎。Prometheus通过端口将数据拉取并存储,形成时间序列数据。

Prometheus优势

1. 易于管理:

Prometheus 核心部分只有一个单独的二进制文件,不存在任何的第三方依赖。可以在任何环境搭建我们的监控系统。

2. 强大的数据模型:

所有采集的监控数据均以指标(metric)的形式保存在内置的时间序列数据库当中。

3. 强大的查询语言 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界面展示。

三、环境搭建

前置条件

1. 电脑上应已安装好Alluxio。如果没有安装,可编译Alluxio源代码或在本地下载Alluxio程序。

2. 在将 Presto 与 Alluxio 一起运行前,请参照Deploying Presto部署Presto,并配置Presto和Alluxio共同运行。

配置Prometheus Server

下载Prometheus Server(如 prometheus-2.37.5.linux-amd64.tar.gz),解压Prometheus并编辑prometheus.yml文件配置Prometheus。

global:   #全局参数

启动Prometheus Server

nohup <PATH_TO_PROMETHEUS_SERVER>/prometheus --web.enable-admin-api --config.file=<PATH_TO_PROMETHEUS_SERVER>/prometheus.yml ><PATH_TO_PROMETHEUS_SERVER>/prometheus.log 2>&1 &

打开Prometheus的Web UI:http://<PROMETHEUS_HOSTNAME>:9090/,依次点击Status- Targets,若各个目标都是up状态,表示安装启动成功。

Prometheus UI

配置 Grafana

下载Grafana安装包,解压。

启动Grafana

启动Grafana并设置后台运行:

nohup <PATH_TO_GRAFANA>/bin/grafana-server --homepath

为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加入如下配置,替换端口号:

scrape_configs:
# 添加 Alluxio 的配置
- job_name: "alluxio master"
metrics_path: '/metrics/prometheus/'
static_configs:
- targets: [ '<LEADING_MASTER_HOSTNAME>:<MASTER_WEB_PORT>' ] # 默认端口号是19999
- job_name: "alluxio worker"
metrics_path: '/metrics/prometheus/'
static_configs:
- targets: [ '<WORKER_HOSTNAME>:<WORKER_WEB_PORT>' ] # 默认端口号是30000
- job_name: "alluxio job master"
metrics_path: '/metrics/prometheus/'
static_configs:
- targets: [ '<LEADING_JOB_MASTER_HOSTNAME>:<JOB_MASTER_WEB_PORT>' ] # 默认端口号是20002
- job_name: "alluxio job worker"
metrics_path: '/metrics/prometheus/'
static_configs:
- targets: [ '<JOB_WORKER_HOSTNAME>:<JOB_WORKER_WEB_PORT>' ] # 默认端口号是30003
- job_name: "alluxio standalone fuse"
metrics_path: '/metrics/prometheus/'
static_configs:
- targets: [ '<FUSE_WEB_HOSTNAME>:<FUSE_WEB_PORT>' ] # 默认端口号是 49999

下载 Alluxio 监控模板,导入 Grafana 的 Dashboard。

常见错误:某些图表显示No data。可以点进对应的图表,切换这里的Data source。

关闭监控软件

关闭 Prometheus Server

pgrep -f prometheus | xargs kill

关闭 Pushgateway

pgrep -f pushgateway | xargs kill

关闭 Grafana

pgrep -f grafana | xargs kil

四、手动调优

修改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智库】icon-default.png?t=N6B9https://link.zhihu.com/?target=https%3A//page.ma.scrmtech.com/landing-page/index%3Fpf_uid%3D27086_2062%26id%3D13197

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/877739.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[SpringBoot3]访问数据库

四、访问数据库 SpringBoot框架为SQL数据库提供了广泛的支持&#xff0c;既有用JdbcTemplate直接访问JDBC同时支持“object relational mapping”技术&#xff08;如MyBtais、Hibernate&#xff09;。SpringData独立的项目提供对多种关系型和非关系型数据库的访问支持&#xf…

【Vue-Router】命名视图

命名视图 同时 (同级) 展示多个视图&#xff0c;而不是嵌套展示&#xff0c;例如创建一个布局&#xff0c;有 sidebar (侧导航) 和 main (主内容) 两个视图&#xff0c;这个时候命名视图就派上用场了。 可以在界面中拥有多个单独命名的视图&#xff0c;而不是只有一个单独的出…

【Maven】SpringBoot项目使用maven-assembly-plugin插件多环境打包

SpringBoot项目使用maven-assembly-plugin插件多环境打包 1.创建SpringBoot项目并在pom.xml文件中添加maven-assembly-plugin配置 <!-- 多环境配置 --><profiles><!-- 开发环境 --><profile><id>dev</id><properties><prof…

Leaflet入门,Leaflet加载xyz地图,以vue-leaflet插件加载高德地图为例

前言 本章介绍Leaflet使用vue2-leaflet或者vue-leaflet插件方式便捷加载xyz高德地图。 # 效果演示 vue如何使用Leaflet vue2如何使用:《Leaflet入门,如何使用vue2-leaflet实现vue2双向绑定式的使用Leaflet地图,以及初始化后拿到leaflet对象,方便调用leaflet的api》 vue3…

代码随想录算法训练营之JAVA|第二十九天|1005. K 次取反后最大化的数组和

今天是第29天刷leetcode&#xff0c;立个flag&#xff0c;打卡60天。 算法挑战链接 1005. K 次取反后最大化的数组和https://leetcode.cn/problems/maximize-sum-of-array-after-k-negations/ 第一想法 题目理解&#xff1a;数组在进行K次取反后&#xff0c;求累加的最大值。…

Rust 复数运算,重载加减乘除运算

复数 基本概念 复数定义 由实数部分和虚数部分所组成的数&#xff0c;形如a&#xff0b;bi 。 其中a、b为实数&#xff0c;i 为“虚数单位”&#xff0c;i 的平方等于&#xff0d;1。 a、b分别叫做复数a&#xff0b;bi的实部和虚部。 当b&#xff1d;0时&#xff0c;a&am…

安世收购英国最大晶圆制造厂

据英国《泰晤士报》报道&#xff0c;英国Newport晶圆厂的员工 给 《 泰晤士报 》 的一封措辞强硬的信中&#xff0c;表 示 代表582名员工的员工协会表示。Newport晶圆厂员工们完全支持Nexperi a安世半导体 对工厂的所有权。因为Nexperia提供 了稳定的工作、改善了工作保障、工资…

VBA 学习笔记1 对象以及属性

目录 1 取得VBA对象1.1 取得工作簿对象1.2 取得工作表对象1.3 取得单元格对象1.4 取得对象的属性1.5 文档的方法1 进入vba 界面 方式之一&#xff1a; 快捷键&#xff1a;ALTERF11 运行方式之一&#xff1a; 进入vba界面&#xff0c;点击绿色三角符号 1 取得VBA对象 1.1 取得…

Win10基于 Anaconda 配置 Deeplabcut 环境

最近需要做动物行为学分析的相关研究&#xff0c;同时由于合作者只有 Windows 系统&#xff0c;于是只好在 Windows 中配置环境。说实话还真的是挺折磨的。。。 一、下载 Anaconda 可以通过清华源下载 Anaconda&#xff1a;https://mirrors.tuna.tsinghua.edu.cn/anaconda/ar…

leetcode剑指 Offer 58 - II. 左旋转字符串(两种方法)

题目&#xff1a;leetcode剑指 Offer 58 - II. 左旋转字符串 描述&#xff1a; 字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如&#xff0c;输入字符串"abcdefg"和数字2&#xff0c;该函数将返回…

Gradle依赖管理:编译时和运行时依赖的区别

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

nsq中diskqueue详解 - 第一篇

一、diskqueue是什么&#xff0c;为什么需要它 在nsq中消息主要存在于两种队列 一种是内存队列&#xff0c;内部是用go的通道实现&#xff0c;所以处理速度很快&#xff0c;缺点是一旦nsqd进程挂掉消息就丢失了&#xff0c;这让人难以接受&#xff0c;数据丢了不得被用户骂死…

强训第31天

选择 传输层叫段 网络层叫包 链路层叫帧 A 2^16-2 C D C 70都没收到&#xff0c;确认号代表你该从这个号开始发给我了&#xff0c;所以发70而不是71 B D C 248&123120 OSI 物理层 数据链路层 网络层 传输层 会话层 表示层 应用层 C 记一下304读取浏览器缓存 502错误网关 编…

论文总结《Adversarial Personalized Ranking for Recommendation(APR)》

原文链接 APR、 本篇论文是对抗训练在RS领域的先锋作&#xff0c;在这篇文章前对抗训练应用在图像领域&#xff0c;以提高模型鲁棒性。本篇论文填补了对抗训练在RS领域的空缺&#xff0c;首次基于BPR进行对抗训练&#xff0c;以提高RS排序模型的鲁棒性。 Motivation 文章在…

Python脚本之连接MySQL【四】

本文为博主原创&#xff0c;未经授权&#xff0c;严禁转载及使用。 本文链接&#xff1a;https://blog.csdn.net/zyooooxie/article/details/124640412 之前写了篇 Python脚本之连接MySQL【三】&#xff0c;日常使用过程中&#xff0c;代码实际有很多改动&#xff0c;特此更新…

数据分析--帆软报表--大数据大屏

进入国企公司学习有一段时间了&#xff0c;岗位是数据分析方向------ 母前使用的是帆软工具进行的开发。 可以进行大数据大屏 也可使嵌入到手机端。 下面是例子

IntelliJ IDEA快捷键大全 + 动图演示

IntelliJ IDEA快捷键大全 动图演示 &#x1f60d; 一、构建/编译Ctrl F9&#xff1a;构建项目Ctrl Shift F9&#xff1a;重新编译当前类 &#x1f60d; 二、文本编辑Ctrl X&#xff1a;剪切Ctrl C&#xff1a;复制Ctrl V&#xff1a;粘贴Ctrl Alt Shift V&#xff1a…

Nginx安装及Minio集群反向动态代理配置(二)

安装所需插件 1、安装gcc gcc是linux下的编译器在此不多做解释&#xff0c;感兴趣的小伙伴可以去查一下相关资料&#xff0c;它可以编译 C,C,Ada,Object C和Java等语言 命令&#xff1a;查看gcc版本 [rootwww ~]# gcc -v -bash: gcc: 未找到命令 说明没有安装: 那就直接yu…

mclust学习总结

mclust example1 import numpy as np import pandas as pd from matplotlib import pyplot as plt from sklearn.datasets import make_blobs X, y make_blobs(n_samples300, centers4, cluster_std0.60, random_state0) # n_features2是默认的 plt.scatter(X[:,0], X[:,1]) …

Java【数据结构】二分查找

&#x1f31e; 题目&#xff1a; &#x1f30f;在有序数组A中&#xff0c;查找目标值target &#x1f30f;如果找到返回索引 &#x1f30f;如果找不到返回-1 算法描述解释前提给定一个内含n个元素的有序数组A&#xff0c;满足A0<A1<A2<<An-1,一个待查值target1设…