starrocks基于prometheus实现监控告警

本文介绍了如何为StarRocks设置监控报警,包括使用StarRocksManager的企业版方案和Prometheus+Grafana的开源方案。详细阐述了Prometheus的监控数据模型,Grafana的可视化功能以及Alertmanager的报警配置。还提供了监控架构的概述,以及如何部署和配置这三个组件来监控和报警StarRocks集群的状态。

监控报警

本文介绍如何为 StarRocks 设置监控报警。

StarRocks 提供两种监控报警的方案。企业版用户可以使用内置的 StarRocksManager,其自带的 Agent 从各个 Host 采集监控信息,上报至 Center Service,然后做可视化展示。StarRocksManager 提供邮件和 Webhook 的方式发送报警通知。你也可以使用开源 Prometheus+Grafana 方案,StarRocks 提供了兼容 Prometheus 的信息采集接口,可以通过直接连接 BE 或 FE 的 HTTP 端口来获取集群的监控信息。

Prometheus 是一个拥有多维度数据模型的、灵活的查询语句的时序数据库。它可以通过 Pull 或 Push 采集被监控系统的监控项,存入自身的时序数据库中。并且通过丰富的多维数据查询语言,满足用户的不同需求。

Grafana 是一个开源的 Metric 分析及可视化系统。支持多种数据源,详情可参考官网文档。通过对应的查询语句,从数据源中获取展现数据。通过灵活可配置的 Dashboard,快速的将这些数据以图表的形式展示给用户。

监控架构

Prometheus 通过 Pull 方式访问 FE 或 BE 的 Metric 接口,然后将监控数据存入时序数据库。用户可以通过 Grafana 配置 Prometheus 为数据源,自定义绘制 Dashboard。Alertmanage 匹配采集到的数据对比starrocks_rules阈值触发告警推送。 

部署 Prometheus + Grafana + Alertmanage

 从 Prometheus 官网下载最新版本的 Prometheus。(安装部署略)

从 Grafana 官网 下载最新版本的 Grafana(安装部署略)

从  下载最新版本的 alertmanager(安装部署略)

配置 Prometheus

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

global:
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).
# Alertmanager configuration
alerting:
  alertmanagers:
  - static_configs:
    - targets: ['localhost:9093']
      # - alertmanager:9093
rule_files:
  - "./rules/starrocks_rules.yml"      
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'StarRocks_Cluster01' # 每一个集群称之为一个job,可以自定义名字作为StarRocks集群名
    metrics_path: '/metrics'    # 指定获取监控项目的Restful Api
    static_configs:
  &nb
### StarRocks Manager 部署指南 StarRocks Manager 是一个用于管理和监控 StarRocks 集群的工具,它提供了集群管理、任务调度、数据导入、监控告警等功能[^1]。以下是关于 StarRocks Manager 的部署指南及相关信息: #### 1. 环境准备 在部署 StarRocks Manager 前,需要确保以下环境已准备好: - 操作系统:推荐使用 CentOS 7.x 或更高版本。 - Java 环境:需要安装 JDK 1.8 或更高版本。 - 数据库支持:StarRocks Manager 使用 MySQL 或 MariaDB 存储元数据信息。需提前安装并配置好数据库。 - 其他依赖:如 Nginx(可选),用于反向代理和负载均衡。 #### 2. 安装 StarRocks Manager 可以通过以下步骤安装 StarRocks Manager: - **下载安装包**:从官方仓库或文档中获取最新版本的 StarRocks Manager 安装包。 - **解压安装包**: ```bash tar -zxvf starrocks-manager-x.x.x.tar.gz cd starrocks-manager ``` - **配置文件修改**:编辑 `conf/application.properties` 文件,设置数据库连接信息、StarRocks 集群地址等参数。 ```properties # 数据库连接信息 spring.datasource.url=jdbc:mysql://<MySQL_HOST>:3306/manager?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC spring.datasource.username=root spring.datasource.password=<PASSWORD> # StarRocks 集群信息 starrocks.manager.fe.http.address=http://<FE_HOST>:8030 ``` #### 3. 启动服务 完成配置后,可以通过以下命令启动 StarRocks Manager: ```bash sh bin/startup.sh ``` 启动成功后,可以通过浏览器访问管理界面,默认地址为 `http://<Manager_HOST>:8080`。 #### 4. 配置 Prometheus 和 Grafana 为了实现更全面的监控功能,可以将 StarRocks Manager 与 Prometheus 和 Grafana 集成: - **Prometheus 配置**:在 Prometheus 的 `prometheus.yml` 文件中添加 StarRocks FE 和 BE 的 Metric 接口地址。 ```yaml scrape_configs: - job_name: 'starrocks_fe' static_configs: - targets: ['<FE_HOST>:8030'] - job_name: 'starrocks_be' static_configs: - targets: ['<BE_HOST>:8040'] ``` - **Grafana 配置**:在 Grafana 中添加 Prometheus 作为数据源,并导入 StarRocks 提供的 Dashboard 模板。 #### 5. 监控告警 StarRocks Manager 提供了丰富的监控指标和告警功能,用户可以通过以下方式配置: - **阈值告警**:在管理界面中设置监控指标的阈值,并绑定告警通知方式(如邮件、短信)。 - **日志查看**:通过 StarRocks Manager 查看集群的日志信息,便于问题排查。 ### 注意事项 - 在生产环境中,建议对 StarRocks Manager 进行高可用部署,以避免单点故障。 - 定期备份 StarRocks Manager 的元数据信息,防止数据丢失。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值