StarRocks-使用Prometheus + Grafana 监控报警
Prometheus-介绍
是一个开源的完整监控解决方案,其对传统监控系统的测试和告警模型进行了彻底的颠覆,形成了基于中央化的规则计算、统一分析和告警新模型。
官网地址:
https://prometheus.io/docs/introduction/overview/
Prometheus-常用命令
启动命令
supervisorctl start prometheus
停止命令
supervisorctl stop prometheus
查看服务状态
systemctl status prometheus.service
端口查看(默认端口 9090)
netstat -nltp | grep 9090
设置开机启动
systemctl enable prometheus.service
服务配置
# prometheus 服务文件地址
cd /opt/prometheus-2.29.1.linux-amd64/
cat prometheus.yml
scrape_interval: 15s # 全局的采集间隔,默认是 1 min,此处设置为 15 sec。
evaluation_interval: 15s # 全局的规则触发间隔,默认是 1 min,此处设置为 15 sec
scrape_configs:
- job_name: "starrocks_cluster" # 监控每一个集群称之为一个 job,您可以在此自定义 StarRocks 集群名。
metrics_path: '/metrics' # 指定获取监控项目的 Restful API。
static_configs:
# 当前部分配置了 FE 群组,其中包含了 3 个 FE 节点,您需填写各个 FE 对应的 IP 和 HTTP 端口
- targets: ['172.21.1.87:8030','172.21.1.88:8030','172.21.1.89:8030']
labels:
group: fe # 这里配置了 fe 的 group,该 group 中包含了 3 个 Frontends
# 当前部分配置了 BE 群组,其中包含了 3 个 BE 节点,您需填写各个 BE 对应的 IP 和 HTTP 端口。
- targets: ['172.21.1.90:8040', '172.21.1.91:8040', '172.21.1.92:8040', '172.21.1.93:8040', '172.21.1.94:8040', '172.21.1.95:8040']
labels:
group: be # 这里配置了 be 的 group,该 group 中包含了 6 个 Backends
- job_name: "starrocks_cluster2"
metrics_path: '/metrics' # 指定获取监控项目的 Restful API。
static_configs:
- targets: ['172.21.1.179:8030','172.21.1.180:8030','172.21.1.181:8030']
labels:
group: fe # 这里配置了 fe 的 group,该 group 中包含了 3 个 Frontends
- targets: ['172.21.1.179:8040', '172.21.1.180:8040', '172.21.1.181:8040']
labels:
group: be # 这里配置了 be 的 group,该 group 中包含了 6 个 Backends
- job_name: "flink-metrics-job"
static_configs:
- targets: ['172.21.0.36:9091']
labels:
group: pushgateway
Grafana
Grafana-介绍
是一款采用Go语言编写的开源应用,主要用于大规模指标数据的可视化展现,是网络架构和应用分析中最流行的时序数据展示工具,目前已经支持绝大部分常用的时序数据库。
官网:
https://grafana.com/docs/grafana/latest/
Grafana-常用命令
启动 Grafana
systemctl start grafana-server.service
查看运行状态
systemctl status grafana-server.service
端口查看(默认端口 3000)
netstat -nltp | grep 3000
设置开机启动
systemctl enable grafana-server.service
Grafana-Web 页面操作
1、登录 Grafana
172.21.0.36:3000 Grafana Web UI 主页
2、配置数据源
【Administaration】 -- 【Data sources】
【Add data source】 -- 选择【Prometheus】
配置修改【Settings】
Name:数据源的名称。starrocks_cluster
Prometheus Server URL:Prometheus 服务器的 URL,为 http://172.21.0.36:9090。
【Save & test】
配置 Dashboard
【Administaration】 -- 【Dashboards】
【New】 -- 选择【Import】
在新页面上点击 Upload Dashboard JSON file,上传先前下载的模板文件。
选择数据源,即之前创建的 starrocks_cluster。点击 Import 即可完成导入。
通过 Granfana 监控 Starrocks
【Administaration】 -- 【Dashboards】
【General】目录 -- 'StarRocks Overview'
核心监控项
官网:
https://docs.mirrorship.cn/zh/docs/administration/management/monitoring/metrics/
1、FE/BE状态监控
2、查询失败监控
Query Error
一分钟内失败的查询率(包括 Timeout)。其值即为一分钟内失败的查询条数除以 60 秒。
3、外部感知失败监控
4、内部操作失败监控
5、服务可用性监控
6、机器过载监控项
BE CPU Idle
BE Mem
Disks Avail Capacity
Capacity 各 BE 节点本地磁盘容量可用比例(百分比)。
FE JVM Heap Stat
StarRocks 集群各个 FE 的 JVM 堆内存使用百分比