Slurm 20.02.3 使用influxdb 1.8.0 收集slurm集群任务信息 No. 3-1

slurm最早的时候是只支持HDF5来收集监控信息,但是HDF5是非实时,只能等一个slurm job step结束后,才汇总一次。

slurm在16年的时候就推出了使用influxdb收集监控信息,官网链接。

本文主要介绍,slurm 20.02.3版本使用influxdb收集监控信息。

slurm - influxdb的安装配置方式会等到slurm组件讲完后一起说明。

1 环境准备

1个管理节点slurmcltd(192.168.0.211)

2个计算节点slurmd(192.168.0.218、192.168.0.128)

2 influxdb安装

influxdb安装非常简单,我们只需要安装到slurm 管理节点即可,或者是单独拎出一个非slurm集群节点也可。

本文中就安装到slurm管理节点中(192.168.0.211)。

[root@cm-wsy-c16m32d200-1 ~] yum install waget -y
[root@cm-wsy-c16m32d200-1 ~] wget https://dl.influxdata.com/influxdb/releases/influxdb-1.8.0.x86_64.rpm
[root@cm-wsy-c16m32d200-1 ~] yum localinstall influxdb-1.8.0.x86_64.rpm
[root@cm-wsy-c16m32d200-1 ~] systemctl start influxd
[root@cm-wsy-c16m32d200-1 ~] systemctl enable influxd
[root@cm-wsy-c16m32d200-1 ~] influx --version
InfluxDB shell version: 1.8.0

#创建数据库
[root@cm-wsy-c16m32d200-1 slurm] influx
Connected to http://localhost:8086 version 1.8.0
InfluxDB shell version: 1.8.0
>create database slurm_job_status
>exit

 使用influxdb的默认配置即可。

2.1 安装influxdb可视化工具 InfluxDBStudio-0.2.0 (可选)

下载地址,比较久远的版本了,不过还能使用。使用grafana来可视化influxdb也是可以的。

下载好后,直接解压压缩包人,然后双击exe运行即可。

Slurm 20.02.3 使用influxdb 1.8.0 收集slurm集群任务信息 No. 3-1_第1张图片

 打开influxdb studio后,新建连接,连接到我们的influxdb即可。里面的表,是slurm自己就会帮我们建好。

Slurm 20.02.3 使用influxdb 1.8.0 收集slurm集群任务信息 No. 3-1_第2张图片

3 slurm配置文件修改

主要修改两个配置文件   slurm.conf  和 acct_gather.conf

slurm.conf

AcctGatherProfileType=acct_gather_profile/influxdb

 acct_gather.conf

ProfileInfluxDBRTPolicy=autogen
ProfileInfluxDBDefault=ALL
ProfileInfluxDBDatabase=slurm_job_status
ProfileInfluxDBHost=cm-wsy-c16m32d200-1:8086
ProfileInfluxDBPass=123456
ProfileInfluxDBUser=root

 每个计算节点中都必须存在acct_gather.conf

4测试

以CPUUtilization表为例,表中6个字段

Slurm 20.02.3 使用influxdb 1.8.0 收集slurm集群任务信息 No. 3-1_第3张图片

重点讲解一下 value 这个字段

按照我们的理解,使用率是一个不会超过1的小数,或者是不会找过100的百分数

但是表中的数据会有100多200多的数值,这是因为:

1.如果你的提交的任务占用1个cpu,cpu使用率为80%,那么这里的value=80/100*100%=80

2.如果你的任务占用5个cpu,每个cpu的使用率为60%,那么这里的value=5*60/100*100%=300

 

 

 

你可能感兴趣的:(slurm,hpc,centos,数据库)