news 2026/7/8 3:31:33

超算中心HPC集群监控

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
超算中心HPC集群监控

一,前言

高性能计算(HPC)是一个计算机集群系统,它通过各种互联技术将多个计算机系统连接在一起,利用所有被连接系统的综合计算能力来处理大型计算问题,所以又通常被称为高性能计算集群。

当服务器具备IPMI接口时,BMC/IPMI web后台可以看到硬件的运行情况,比如CPU温度、内存温度、风扇转速、主板电压等,这些数据默认只能通过登录web后台或者ipmitool等接口工具来实时查看,看不到历史曲线图,也做不到监控告警,当服务器出现问题时,除了日志之外,这些物理传感器指标绘制的趋势图更有利于我们判断服务器在历史异常时间点的硬件状态趋势变化情况,或者实时监测指标到达设定的阈值时自动告警,因此本文油然而生。

二,准备

该项目采用docker部署

1,基础环境准备,部署

a,离线安装docker环境,下载适合该项目的docker版本,离线安装包下载地址:https://download.docker.com/linux/static/stable/

b,上传docker安装包,解压docker安装包
root@h100-NF5280-M7-A0-R0-00:/opt# tar -zxvf docker-29.1.0.tgz
c,复制docker到/usr/bin/
root@h100-NF5280-M7-A0-R0-00:/opt# cp docker/* /usr/bin/
d,编辑docker启动服务
root@h100-NF5280-M7-A0-R0-00:/opt# vim /etc/systemd/system/docker.service

[Unit] Description=Docker Application Container Engine Documentation=https://docs.docker.com After=network-online.target firewalld.service Wants=network-online.target [Service] Type=notify ExecStart=/usr/bin/dockerd ExecReload=/bin/kill -s HUP $MAINPID LimitNOFILE=1048576 LimitNPROC=1048576 LimitCORE=infinity TimeoutStartSec=0 Delegate=yes KillMode=process Restart=on-failure StartLimitBurst=3 StartLimitInterval=60s [Install] WantedBy=multi-user.target

e,启动docker服务并验证
root@h100-NF5280-M7-A0-R0-00:/opt# systemctl start docker

root@h100-NF5280-M7-A0-R0-00:/opt# systemctl status docker

f,上传prometheus,grafana,antilax3_ipmi,自定义fc_ipmi镜像包,加载镜像

root@h100-NF5280-M7-A0-R0-00:/opt# docker load -i prometheus.tar
root@h100-NF5280-M7-A0-R0-00:/opt# docker load -i grafana.tar

#构建自定义ipmi镜像,主要修改项目服务器bmc信息,dockerfile文件配置

root@h100-NF5280-M7-A0-R0-00:/opt/ipmi# cat ipmi_remote3011.yml modules: default: user: "xxxx" pass: "xxxxxxxxxx" privilege: "admin" driver: "LAN_2_0" xx.xx.xx.xx: user: "xxxx" pass: "xxxxxxxxx" privilege: "admin" driver: "LAN_2_0" collectors: - bmc - ipmi - dcmi - chassis - sel custom_args: bmc: - "bmc-info" ipmi: - "ipmimonitoring" dcmi: - "ipmi-dcmi" chassis: - "ipmi-chassis" sel: - "ipmi-sel" root@h100-NF5280-M7-A0-R0-00:/opt/ipmi# cat Dockerfile FROM antilax3/ipmi-exporter # 本地安装软件 #RUN apt-get update && apt-get install -y curl # 设置工作目录 WORKDIR /app # 拷贝文件 COPY myscript.sh . COPY ipmi_remote3011.yml . # 设置执行权限 RUN chmod +x myscript.sh RUN touch /app/test.log # 入口点 ENTRYPOINT ["/app/myscript.sh"]

#构建自定义ipmi采集镜像
root@h100-NF5280-M7-A0-R0-00:/opt/ipmi# docker build -t fc_ipmi .

root@h100-NF5280-M7-A0-R0-00:/opt# docker images

g,起动ipmi采集服务,prometheus监控服务,grafana可视化服务

#创建每个服务持久化,配置文件目录,这里主要是prometheus,grafana

root@h100-NF5280-M7-A0-R0-00:/opt# mkdir -p -m 777 prometheus/config

#prometheus下主要是配置文件和告警规则

root@h100-NF5280-M7-A0-R0-00:/opt/prometheus/config# cat prometheus.yml # my global config 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: # - alertmanager:9093 # Load rules once and periodically evaluate them according to the global 'evaluation_interval'. rule_files: - "/etc/prometheus/rules/*.yml"" # - "second_rules.yml" # A scrape configuration containing exactly one endpoint to scrape: # Here it's Prometheus itself. scrape_configs: # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config. - job_name: "prometheus" # metrics_path defaults to '/metrics' # scheme defaults to 'http'. static_configs: - targets: ["xx.xx.xx.xx:9090"] - job_name: ipmi_exporter static_configs: - targets: ["xx.xx.xx.xx"] - targets: ["xx.xx.xx.xx"] params: module: ['default'] scrape_interval: 1m scrape_timeout: 30s metrics_path: /ipmi scheme: http file_sd_configs: - files: - /etc/ipmi_targets.yml refresh_interval: 5m relabel_configs: - source_labels: [__address__] separator: ; regex: (.*) target_label: __param_target replacement: ${1} action: replace - source_labels: [__param_target] separator: ; regex: (.*) target_label: instance replacement: ${1} action: replace - separator: ; regex: .* target_label: __address__ #该地址为ipmi服务地址 replacement: xx.xx.xx.xx:3011 action: replace #监控ipmi的告警规则 root@h100-NF5280-M7-A0-R0-00:/opt/prometheus/config/rules# cat Memory_hardware.yml groups: - name: Memory_hardware rules: - alert: Memory_hardware expr: ipmi_sensor_state{type="Memory"} == 1 for: 3m labels: user: caizh annotations: summary: "Instance {{ $labels.instance }} 内存硬件警告" description: "{{ $labels.instance }} of job {{$labels.job}} 内存硬件警告,当前状态[{{ $value }}]."

root@h100-NF5280-M7-A0-R0-00:/opt# mkdir -p -m 777 prometheus/data

root@h100-NF5280-M7-A0-R0-00:/opt# mkdir -p -m 777 grafana/data

#ipmic采集 docker run -d --restart=always -v /etc/localtime:/etc/localtime:ro -p 3011:3011 --name fc_ipmi fc_ipmi #prometheus监控 docker run -d --name prometheus --restart=always -v /etc/localtime:/etc/localtime:ro -p 9090:9090 -v /opt/prometheus/data:/prometheus -v /opt/prometheus/config/prometheus.yml:/etc/prometheus/prometheus.yml -v /opt/prometheus/config/rules:/etc/prometheus/rules prom/prometheus #grafana可视化 docker run -d --restart=always -v /etc/localtime:/etc/localtime:ro -p 3000:3000 --name=grafana -v /opt/grafana/data:/var/lib/grafana grafana/grafana-enterprise:11.3.0-ubuntu

h,服务验证

2,效果展示

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/8 3:30:37

计算机毕业设计之教师基本功比赛系统

21世纪的今天&#xff0c;随着社会的不断发展与进步&#xff0c;人们对于信息科学化的认识&#xff0c;已由低层次向高层次发展&#xff0c;由原来的感性认识向理性认识提高&#xff0c;管理工作的重要性已逐渐被人们所认识&#xff0c;科学化的管理&#xff0c;使信息存储达到…

作者头像 李华
网站建设 2026/7/8 3:27:03

数据库架构演进之路:从 MySQL 到 TiDB

数据库架构演进之路&#xff1a;从 MySQL 到 TiDB随着业务规模不断增长&#xff0c;数据库架构也需要持续演进。从最初的单机 MySQL 到分布式数据库 TiDB&#xff0c;每一步都是为了解决当前阶段面临的性能和容量问题。一、单机 MySQL系统初期&#xff0c;用户量和数据量较小&a…

作者头像 李华
网站建设 2026/7/8 3:25:08

Python开发中的项目结构:如何组织代码更清晰

当你打开一个Python项目&#xff0c;却发现代码散落在十几个无关的.py文件中&#xff0c;import语句乱飞、循环引用频发、测试文件与业务代码混在一起&#xff0c;甚至连__init__.py都没有——这种痛苦几乎每个Python开发者都经历过。项目结构混乱是技术债最早的源头&#xff0…

作者头像 李华
网站建设 2026/7/8 3:24:23

跨形态动作表征对齐:让机器人真正看懂并学会人类动作

1. 这不是科幻片场&#xff0c;而是动作理解的底层突破 “人类-机器人视频配对与跨形态动作表征对齐方法”——光看标题&#xff0c;很多人第一反应是&#xff1a;又一个高冷的学术名词堆砌。但如果你拆开来看&#xff0c;它解决的是一个每天都在真实世界里卡住机器人落地的硬骨…

作者头像 李华