StarRocks之监控报警

0    66    1

Tags:

👉 本文共约10896个字,系统预计阅读时间或需41分钟。

简介

StarRocks 提供两种监控报警的方案。

企业版用户可以使用内置的 StarRocksManager,其自带的 Agent 从各个 Host 采集监控信息,上报至 Center Service,然后做可视化展示。StarRocksManager 提供邮件和 Webhook 的方式发送报警通知。

如果您有二次开发需求,需要自行搭建部署监控服务,也可以使用开源 Prometheus+Grafana 方案,StarRocks 提供了兼容 Prometheus 的信息采集接口,可以通过直接链接 BE 或 FE 的 HTTP 端口来获取集群的监控信息。

使用 StarRocksManager

StarRocksManager 的监控可以分成 集群节点 两个维度。

您可以在集群页面可以看到下列监控项:

  • 集群性能监控
  • CPU 使用率
  • 内存使用
  • 磁盘I/O使用率,磁盘使用量、磁盘空闲量
  • 发包带宽、收包带宽,发包数、收包数
  • 集群查询监控
  • QPS
  • 平均响应时间
  • 50/75/90/95/99/999 分位响应时间
  • 数据导入量监控
  • 发起导入次数
  • 导入行数
  • 导入数据量
  • 数据组合并(Compaction)监控
  • 基线合并数据组速率
  • 基线合并数据量
  • 增量合并数据组速率
  • 增量合并数据量

节点页面可以看到所有BE/FE的机器列表和状态等基础信息 StarRocks之监控报警

点击节点链接可以看到每一个节点的详细监控信息。在右侧的节点列表中选择多个节点同时展示,也可以在上方的下拉框中选择各类指标。 StarRocks之监控报警

使用 Prometheus+Grafana

您可以使用 Prometheus 作为 StarRocks 监控数据存储方案,并使用Grafana 作为可视化组件。 Prometheus 是一个拥有多维度数据模型的、灵活的查询语句的时序数据库。它可以通过 Pull 或 Push 采集被监控系统的监控项,存入自身的时序数据库中。并且通过丰富的多维数据查询语言,满足用户的不同需求。 Grafana 是一个开源的 Metric 分析及可视化系统。支持多种数据源,详情可参考官网文档。通过对应的查询语句,从数据源中获取展现数据。通过灵活可配置的 Dashboard,快速的将这些数据以图表的形式展示给用户。

本文档仅提供基于 Prometheus 和 Grafana 实现的一种 StarRocks 可视化监控方案,原则上不维护和开发这些组件。更多详细的介绍和使用,请参考对应的官网文档。

监控架构

StarRocks之监控报警 Prometheus 通过 Pull 方式访问 FE 或 BE 的 Metric 接口,然后将监控数据存入时序数据库。

用户可以通过 Grafana 配置 Prometheus 为数据源,自定义绘制 Dashboard。

部署 Prometheus

下载并安装 Prometheus

1.Prometheus 官网下载最新版本的 Prometheus。

以下示例以 prometheus-2.29.1.linux-amd64 版本为例。

配置 Prometheus

prometheus.yml 中添加 StarRocks 监控相关的配置。

启动 Prometheus

通过一下命令启动 Prometheus。

该命令将后台运行 Prometheus,并指定其 Web 端口为 9090。启动后,即开始采集数据,并将数据存放在 ./data 目录中。

访问 Prometheus

您可以通过 Web 页面访问 Prometheus。通过浏览器打开 9090 端口,即可访问 Prometheus 的页面。依次点击导航栏中 StatusTargets,即可看到所有分组 Job 的监控主机节点。正常情况下,所有节点都应为 UP,表示数据采集正常。如果节点状态不为 UP,您可以访问 StarRocks 的 Metrics 接口(http://fe_host:fe_http_port/metricshttp://be_host:be_http_port/metrics)检查是否可以访问。如果仍无法解决,您可以查询 Prometheus 相关文档寻找解决方案。 StarRocks之监控报警

至此,一个简单的 Prometheus 已经搭建、配置完毕。更多高级使用方式,请参阅官方文档

数据接入自有 Prometheus

如果需要将监控数据接入自有的 Prometheus 系统,您可以通过下列接口访问:

  • FE: fe_host:fe_http_port/metrics
  • BE: be_host:be_web_server_port/metrics

如果需要 JSON 格式数据,您可以通过下列接口访问:

  • FE: fe_host:fe_http_port/metrics?type=json
  • BE: be_host:be_web_server_port/metrics?type=json

部署 Grafana

下载并安装 Grafana

Grafana 官网 下载最新版本的 Grafana。

以下示例以 grafana-8.0.6.linux-amd64 版本为例。

配置 Prometheus

./conf/defaults.ini 中添加相关的配置。

启动 Grafana

通过以下命令启动 Grafana。

配置 DashBoard

通过先前配置的地址(http://grafana_host:8000)登录 Grafana,默认用户名为 admin,密码为 admin1. 配置数据源。

依次点击 ConfigurationData sourcesAdd data source,和 Prometheus。 Data Source 配置项简介 StarRocks之监控报警

  • Name: 数据源的名称,自定义,比如 starrocks_monitor
  • URL: Prometheus 的 web 地址,如 http://prometheus_host:9090
  • Access: 选择 Server 方式,即通过 Grafana 进程所在服务器,访问 Prometheus。

其他配置项可使用默认设置。

点击最下方 Save & Test 保存配置,如果显示 Data source is working,即表示数据源可用。 2. 添加 Dashboard。

下载 Dashboard 模版。

说明:StarRocks-1.19.0 版本及其之后的版本监控 Metric Name 有调整,需要下载下面 StarRocks-1.19.0+ 版本 DashBoard 模版。

确认数据源可用后,点击左边导航栏的 + 号以添加 Dashboard。这里我们使用上文下载的 StarRocks 的 Dashboard 模板。依次点击左边的导航栏 + 号,Import,和 Upload Json File,导入 JSON 文件。

导入后,可以命名 Dashboard,默认是 StarRocks Overview。同时,需要选择数据源,这里选择之前创建的 starrocks_monitor

点击 Import 完成导入。至此,您可以看到 StarRocks 的 Dashboard 展示。

理解 Dashboard

本小节简要介绍 StarRocks Dashboard。

注意:Dashboard 的内容可能会随版本升级,不断更新,请参考上文 Dashboard 模版。

  • 顶栏 StarRocks之监控报警

页面左上角为 Dashboard 名称,右上角显示当前监控时间范围。您可以下拉选择不同的时间范围,还可以指定定时刷新页面间隔。

标签:

Avatar photo

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复

嘿,我是小麦,需要帮助随时找我哦
  • 18509239930
  • 个人微信

  • 麦老师QQ聊天
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部