
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
UFM Telemetry是一个网络验证工具平台,用于监控InfiniBand集群的网络性能和运行状态。该平台通过Docker镜像形式提供,可捕获并流式传输丰富的实时网络遥测信息及应用工作负载使用情况至本地或云数据库,以便进行深入分析和优化。
适用于InfiniBand集群环境,主要应用于:
1. 连接到Linux机器
通过SSH连接到目标Linux机器:
bashssh username@linux-machine-ip
2. 验证Docker安装
检查Docker是否已安装:
bash[root@r-ufm145 ~]# docker --version
3. 启动Docker服务
bash[root@r-ufm145 ~]# sudo service docker start
4. 拉取UFM Telemetry镜像
bash[root@r-ufm145 ~]# docker pull mellanox/ufm-telemetry:rhel7.3_x86_64_ofed5.1-2.3.7_release_1.6_latest
5. 初始化配置文件
创建默认.ini配置文件并初始化容器配置:
bash[root@r-ufm145 ~]# docker run -v /tmp/config:/config --rm -d mellanox/ufm-telemetry:rhel7.3_x86_64_ofed5.1-2.3.7_release_1.6_latest /get_collectx_configs.sh "sample_rate=300;hca=mlx5_0;cable_info_schedule=1/00:00,3/00:00,5/00:00"
参数说明:
sample_rate:端口计数器数据收集频率(秒),示例中为每5分钟(300秒)hca:使用的HCA卡名称,示例中为mlx5_0cable_info_schedule:线缆信息收集计划(可选),格式为"星期几/时间",示例中为每周1、3、5的午夜6. 创建并启动UFM Telemetry容器
bash[root@r-ufm145 ~]# docker run --net=host --uts=host --ipc=host --ulimit stack=67108864 --ulimit memlock=-1 --security-opt seccomp=unconfined --cap-add=SYS_ADMIN --device=/dev/infiniband/ -v "/tmp/config:/config" -v "/tmp/data:/data" --rm --name ufm-telemetry -d mellanox/ufm-telemetry:rhel7.3_x86_64_ofed5.1-2.3.7_release_1.6_latest
7. 验证UFM Telemetry运行状态
a. 检查容器是否运行
bash[root@r-ufm145 ~]# docker ps
b. 进入容器shell
bash[root@r-ufm145 ~]# sudo docker exec -it ufm-telemetry bash
c. 验证关键进程是否运行
在容器内执行:
bash[root@r-ufm145 workspace]# ps -fade
应包含以下进程:agx、clx、supervisord、agx_manager.py、agx_server.py、launch_ibdiagnet.py、launch_retention.py、launch_compression.py、launch_cableinfo.py
d. 查看配置文件
bash[root@r-ufm145 workspace]# cat /config/launch_ibdiagnet_config.ini
8. 查看配置文件列表
bash[root@r-ufm145 ~]# ls -l /config/ -rw-r--r-- 1 3478 101 396 Jul 15 21:04 clx_config.ini -rw-r--r-- 1 3478 101 2987 Jul 15 21:04 collectx.ini -rw-r--r-- 1 3478 101 4257 Jul 15 21:04 launch_ibdiagnet_config.ini -rw-r--r-- 1 3478 101 1912 Jul 16 12:03 supervisord.conf
注意:修改配置文件后无需重启容器,更改会自动生效
UFM Telemetry通过Fluent Bit实现数据向多个目标的流式传输,支持所有Fluent Bit导出插件。其中"Forward"插件尤为实用,可将数据发送到用户维护的Fluent Bit或FluentD实例,再根据需求进行后续配置。
1. 确保UFM Telemetry容器已加载、配置并运行
2. 进入UFM Telemetry容器
bash[root@r-ufm ~]# sudo docker exec -it ufm-telemetry bash
3. 配置导出文件
在/config/fluent_bit_configs/目录下创建或修改.exp文件,为需要运行的插件设置enable=1。
4. 启用FluentBit导出
修改/config/launch_ibdiagnet_config.ini文件,设置plugin_env_FLUENT_BIT_EXPORT_ENABLE=1:
bash[root@r-ufm workspace]# vi /telemetry.config/launch_ibdiagnet_config.ini ... [fluentbit_export] plugin_env_FLUENT_BIT_EXPORT_ENABLE=1 plugin_env_FLUENT_BIT_CONFIG_DIR=/telemetry.config/fluent_bit_configs plugin_env_LD_LIBRARY_PATH=/opt/mellanox/collectx/lib ...
5. 运行数据接收程序
根据目标配置运行相应的数据接收程序(详见"示例"部分)。
6. 在接收端查看数据
注意:Ibdiagnet将根据
launch_ibdiagnet_config.ini文件中的sample_rate参数定期收集和导出数据。
支持的插件
导出配置文件(.exp)需放置在/config/fluent_bit_configs目录,可使用以下插件的示例文件:
注意:所有插件默认禁用,需设置
enable=1启用。
配置字段说明
每个导出目标包含以下字段:
name – 配置名称 plugin_name – Fluent Bit插件名称 enable – 启用/禁用插件(1=启用,0=禁用) host – Fluent Bit插件目标主机 port – Fluent Bit插件目标端口 msgpack_data_layout – msgpack数据格式(默认"flb_std",可选"custom") plugin_key=val – Fluent Bit插件参数键值对(可选) counterset/fieldset – 过滤文件路径(可选,详见"Cset/Fset过滤"部分)
注意:使用"#"添加注释行。
通过.exp文件的msgpack_data_layout字段配置数据布局,支持两种格式:
flb_std(默认)
数组格式,包含2个字段:时间戳(double类型)和纯字典(键值对)。适用于所有Fluent Bit插件。 示例:
[timestamp_val, {"timestamp"->ts_val, type=>"counters/events", "source"=>"source_val", "key_1"=>val_1, "key_2"=>val_2,...}]
custom
字典格式,包含元字段和计数器字段,值存储在单独的纯字典中。可通过"stdout_raw"插件输出或"forward"插件转发。
计数器示例:
{"timestamp"=>timestamp_val, "type"=>"counters", "source"=>"source_val", "values"=> {"key_1"=>val_1, "key_2"=>val_2,...}}
事件示例:
{"timestamp"=>timestamp_val, "type"=>"events", "type_name"=>"type_name_val", "source"=>" source_val", "values"=>{"key_1"=>val_1, "key_2"=>val_2,...}}
每个导出文件可使用cset和fset文件过滤遥测数据:
cset文件
用于过滤"type"="counters"的数据,每行包含一个过滤令牌。
fset文件
用于过滤"type"="events"的数据,包含多个以"[event_type_name]"为标题的区块,每个区块下包含过滤令牌。
过滤语法
tok1+tok2+tok3:同时匹配多个令牌tok1+tok2-tok3-tok4:匹配tok1和tok2,排除tok3和tok4UFM Telemetry是一个网络验证工具平台,用于监控InfiniBand集群的网络性能和运行状态。该平台通过Docker镜像形式提供,可捕获并流式传输丰富的实时网络遥测信息及应用工作负载使用情况至本地或云数据库,以便进行深入分析和优化。
适用于InfiniBand集群环境,主要应用于:
1. 连接到Linux机器
通过SSH连接到目标Linux机器:
bashssh username@linux-machine-ip
2. 验证Docker安装
检查Docker是否已安装:
bash[root@r-ufm145 ~]# docker --version
3. 启动Docker服务
bash[root@r-ufm145 ~]# sudo service docker start
4. 拉取UFM Telemetry镜像
bash[root@r-ufm145 ~]# docker pull mellanox/ufm-telemetry:rhel7.3_x86_64_ofed5.1-2.3.7_release_1.6_latest
5. 初始化配置文件
创建默认.ini配置文件并初始化容器配置:
bash[root@r-ufm145 ~]# docker run -v /tmp/config:/config --rm -d mellanox/ufm-telemetry:rhel7.3_x86_64_ofed5.1-2.3.7_release_1.6_latest /get_collectx_configs.sh "sample_rate=300;hca=mlx5_0;cable_info_schedule=1/00:00,3/00:00,5/00:00"
参数说明:
sample_rate:端口计数器数据收集频率(秒),示例中为每5分钟(300秒)hca:使用的HCA卡名称,示例中为mlx5_0cable_info_schedule:线缆信息收集计划(可选),格式为"星期几/时间",示例中为每周1、3、5的午夜6. 创建并启动UFM Telemetry容器
bash[root@r-ufm145 ~]# docker run --net=host --uts=host --ipc=host --ulimit stack=67108864 --ulimit memlock=-1 --security-opt seccomp=unconfined --cap-add=SYS_ADMIN --device=/dev/infiniband/ -v "/tmp/config:/config" -v "/tmp/data:/data" --rm --name ufm-telemetry -d mellanox/ufm-telemetry:rhel7.3_x86_64_ofed5.1-2.3.7_release_1.6_latest
7. 验证UFM Telemetry运行状态
a. 检查容器是否运行
bash[root@r-ufm145 ~]# docker ps
b. 进入容器shell
bash[root@r-ufm145 ~]# sudo docker exec -it ufm-telemetry bash
c. 验证关键进程是否运行
在容器内执行:
bash[root@r-ufm145 workspace]# ps -fade
应包含以下进程:agx、clx、supervisord、agx_manager.py、agx_server.py、launch_ibdiagnet.py、launch_retention.py、launch_compression.py、launch_cableinfo.py
d. 查看配置文件
bash[root@r-ufm145 workspace]# cat /config/launch_ibdiagnet_config.ini
8. 查看配置文件列表
bash[root@r-ufm145 ~]# ls -l /config/ -rw-r--r-- 1 3478 101 396 Jul 15 21:04 clx_config.ini -rw-r--r-- 1 3478 101 2987 Jul 15 21:04 collectx.ini -rw-r--r-- 1 3478 101 4257 Jul 15 21:04 launch_ibdiagnet_config.ini -rw-r--r-- 1 3478 101 1912 Jul 16 12:03 supervisord.conf
注意:修改配置文件后无需重启容器,更改会自动生效
UFM Telemetry通过Fluent Bit实现数据向多个目标的流式传输,支持所有Fluent Bit导出插件。其中"Forward"插件尤为实用,可将数据发送到用户维护的Fluent Bit或FluentD实例,再根据需求进行后续配置。
1. 确保UFM Telemetry容器已加载、配置并运行
2. 进入UFM Telemetry容器
bash[root@r-ufm ~]# sudo docker exec -it ufm-telemetry bash
3. 配置导出文件
在/config/fluent_bit_configs/目录下创建或修改.exp文件,为需要运行的插件设置enable=1。
4. 启用FluentBit导出
修改/config/launch_ibdiagnet_config.ini文件,设置plugin_env_FLUENT_BIT_EXPORT_ENABLE=1:
bash[root@r-ufm workspace]# vi /telemetry.config/launch_ibdiagnet_config.ini ... [fluentbit_export] plugin_env_FLUENT_BIT_EXPORT_ENABLE=1 plugin_env_FLUENT_BIT_CONFIG_DIR=/telemetry.config/fluent_bit_configs plugin_env_LD_LIBRARY_PATH=/opt/mellanox/collectx/lib ...
5. 运行数据接收程序
根据目标配置运行相应的数据接收程序(详见"示例"部分)。
6. 在接收端查看数据
注意:Ibdiagnet将根据
launch_ibdiagnet_config.ini文件中的sample_rate参数定期收集和导出数据。
支持的插件
导出配置文件(.exp)需放置在/config/fluent_bit_configs目录,可使用以下插件的示例文件:
注意:所有插件默认禁用,需设置
enable=1启用。
配置字段说明
每个导出目标包含以下字段:
name – 配置名称 plugin_name – Fluent Bit插件名称 enable – 启用/禁用插件(1=启用,0=禁用) host – Fluent Bit插件目标主机 port – Fluent Bit插件目标端口 msgpack_data_layout – msgpack数据格式(默认"flb_std",可选"custom") plugin_key=val – Fluent Bit插件参数键值对(可选) counterset/fieldset – 过滤文件路径(可选,详见"Cset/Fset过滤"部分)
注意:使用"#"添加注释行。
通过.exp文件的msgpack_data_layout字段配置数据布局,支持两种格式:
flb_std(默认)
数组格式,包含2个字段:时间戳(double类型)和纯字典(键值对)。适用于所有Fluent Bit插件。 示例:
[timestamp_val, {"timestamp"->ts_val, type=>"counters/events", "source"=>"source_val", "key_1"=>val_1, "key_2"=>val_2,...}]
custom
字典格式,包含元字段和计数器字段,值存储在单独的纯字典中。可通过"stdout_raw"插件输出或"forward"插件转发。
计数器示例:
{"timestamp"=>timestamp_val, "type"=>"counters", "source"=>"source_val", "values"=> {"key_1"=>val_1, "key_2"=>val_2,...}}
事件示例:
{"timestamp"=>timestamp_val, "type"=>"events", "type_name"=>"type_name_val", "source"=>" source_val", "values"=>{"key_1"=>val_1, "key_2"=>val_2,...}}
每个导出文件可使用cset和fset文件过滤遥测数据:
cset文件
用于过滤"type"="counters"的数据,每行包含一个过滤令牌。
fset文件
用于过滤"type"="events"的数据,包含多个以"[event_type_name]"为标题的区块,每个区块下包含过滤令牌。
过滤语法
tok1+tok2+tok3:同时匹配多个令牌tok1+tok2-tok3-tok4:匹配tok1和tok2,排除tok3和tok4^port:匹配以"port"开头的名称UFM Telemetry是一个网络验证工具平台,用于监控InfiniBand集群的网络性能和运行状态。该平台通过Docker镜像形式提供,可捕获并流式传输丰富的实时网络遥测信息及应用工作负载使用情况至本地或云数据库,以便进行深入分析和优化。
适用于InfiniBand集群环境,主要应用于:
1. 连接到Linux机器
通过SSH连接到目标Linux机器:
bashssh username@linux-machine-ip
2. 验证Docker安装
检查Docker是否已安装:
bash[root@r-ufm145 ~]# docker --version
3. 启动Docker服务
bash[root@r-ufm145 ~]# sudo service docker start
4. 拉取UFM Telemetry镜像
bash[root@r-ufm145 ~]# docker pull mellanox/ufm-telemetry:rhel7.3_x86_64_ofed5.1-2.3.7_release_1.6_latest
5. 初始化配置文件
创建默认.ini配置文件并初始化容器配置:
bash[root@r-ufm145 ~]# docker run -v /tmp/config:/config --rm -d mellanox/ufm-telemetry:rhel7.3_x86_64_ofed5.1-2.3.7_release_1.6_latest /get_collectx_configs.sh "sample_rate=300;hca=mlx5_0;cable_info_schedule=1/00:00,3/00:00,5/00:00"
参数说明:
sample_rate:端口计数器数据收集频率(秒),示例中为每5分钟(300秒)hca:使用的HCA卡名称,示例中为mlx5_0cable_info_schedule:线缆信息收集计划(可选),格式为"星期几/时间",示例中为每周1、3、5的午夜6. 创建并启动UFM Telemetry容器
bash[root@r-ufm145 ~]# docker run --net=host --uts=host --ipc=host --ulimit stack=67108864 --ulimit memlock=-1 --security-opt seccomp=unconfined --cap-add=SYS_ADMIN --device=/dev/infiniband/ -v "/tmp/config:/config" -v "/tmp/data:/data" --rm --name ufm-telemetry -d mellanox/ufm-telemetry:rhel7.3_x86_64_ofed5.1-2.3.7_release_1.6_latest
7. 验证UFM Telemetry运行状态
a. 检查容器是否运行
bash[root@r-ufm145 ~]# docker ps
b. 进入容器shell
bash[root@r-ufm145 ~]# sudo docker exec -it ufm-telemetry bash
c. 验证关键进程是否运行
在容器内执行:
bash[root@r-ufm145 workspace]# ps -fade
应包含以下进程:agx、clx、supervisord、agx_manager.py、agx_server.py、launch_ibdiagnet.py、launch_retention.py、launch_compression.py、launch_cableinfo.py
d. 查看配置文件
bash[root@r-ufm145 workspace]# cat /config/launch_ibdiagnet_config.ini
8. 查看配置文件列表
bash[root@r-ufm145 ~]# ls -l /config/ -rw-r--r-- 1 3478 101 396 Jul 15 21:04 clx_config.ini -rw-r--r-- 1 3478 101 2987 Jul 15 21:04 collectx.ini -rw-r--r-- 1 3478 101 4257 Jul 15 21:04 launch_ibdiagnet_config.ini -rw-r--r-- 1 3478 101 1912 Jul 16 12:03 supervisord.conf
注意:修改配置文件后无需重启容器,更改会自动生效
UFM Telemetry通过Fluent Bit实现数据向多个目标的流式传输,支持所有Fluent Bit导出插件。其中"Forward"插件尤为实用,可将数据发送到用户维护的Fluent Bit或FluentD实例,再根据需求进行后续配置。
1. 确保UFM Telemetry容器已加载、配置并运行
2. 进入UFM Telemetry容器
bash[root@r-ufm ~]# sudo docker exec -it ufm-telemetry bash
3. 配置导出文件
在/config/fluent_bit_configs/目录下创建或修改.exp文件,为需要运行的插件设置enable=1。
4. 启用FluentBit导出
修改/config/launch_ibdiagnet_config.ini文件,设置plugin_env_FLUENT_BIT_EXPORT_ENABLE=1:
bash[root@r-ufm workspace]# vi /telemetry.config/launch_ibdiagnet_config.ini ... [fluentbit_export] plugin_env_FLUENT_BIT_EXPORT_ENABLE=1 plugin_env_FLUENT_BIT_CONFIG_DIR=/telemetry.config/fluent_bit_configs plugin_env_LD_LIBRARY_PATH=/opt/mellanox/collectx/lib ...
5. 运行数据接收程序
根据目标配置运行相应的数据接收程序(详见"示例"部分)。
6. 在接收端查看数据
注意:Ibdiagnet将根据
launch_ibdiagnet_config.ini文件中的sample_rate参数定期收集和导出数据。
支持的插件
导出配置文件(.exp)需放置在/config/fluent_bit_configs目录,可使用以下插件的示例文件:
注意:所有插件默认禁用,需设置
enable=1启用。
配置字段说明
每个导出目标包含以下字段:
name – 配置名称 plugin_name – Fluent Bit插件名称 enable – 启用/禁用插件(1=启用,0=禁用) host – Fluent Bit插件目标主机 port – Fluent Bit插件目标端口 msgpack_data_layout – msgpack数据格式(默认"flb_std",可选"custom") plugin_key=val – Fluent Bit插件参数键值对(可选) counterset/fieldset – 过滤文件路径(可选,详见"Cset/Fset过滤"部分)
注意:使用"#"添加注释行。
通过.exp文件的msgpack_data_layout字段配置数据布局,支持两种格式:
flb_std(默认)
数组格式,包含2个字段:时间戳(double类型)和纯字典(键值对)。适用于所有Fluent Bit插件。 示例:
[timestamp_val, {"timestamp"->ts_val, type=>"counters/events", "source"=>"source_val", "key_1"=>val_1, "key_2"=>val_2,...}]
custom
字典格式,包含元字段和计数器字段,值存储在单独的纯字典中。可通过"stdout_raw"插件输出或"forward"插件转发。
计数器示例:
{"timestamp"=>timestamp_val, "type"=>"counters", "source"=>"source_val", "values"=> {"key_1"=>val_1, "key_2"=>val_2,...}}
事件示例:
{"timestamp"=>timestamp_val, "type"=>"events", "type_name"=>"type_name_val", "source"=>" source_val", "values"=>{"key_1"=>val_1, "key_2"=>val_2,...}}
每个导出文件可使用cset和fset文件过滤遥测数据:
cset文件
用于过滤"type"="counters"的数据,每行包含一个过滤令牌。
fset文件
用于过滤"type"="events"的数据,包含多个以"[event_type_name]"为标题的区块,每个区块下包含过滤令牌。
过滤语法
tok1+tok2+tok3:同时匹配多个令牌tok1+tok2-tok3-tok4:匹配tok1和tok2,排除tok3和tok4UFM Telemetry是一个网络验证工具平台,用于监控InfiniBand集群的网络性能和运行状态。该平台通过Docker镜像形式提供,可捕获并流式传输丰富的实时网络遥测信息及应用工作负载使用情况至本地或云数据库,以便进行深入分析和优化。
适用于InfiniBand集群环境,主要应用于:
1. 连接到Linux机器
通过SSH连接到目标Linux机器:
bashssh username@linux-machine-ip
2. 验证Docker安装
检查Docker是否已安装:
bash[root@r-ufm145 ~]# docker --version
3. 启动Docker服务
bash[root@r-ufm145 ~]# sudo service docker start
4. 拉取UFM Telemetry镜像
bash[root@r-ufm145 ~]# docker pull mellanox/ufm-telemetry:rhel7.3_x86_64_ofed5.1-2.3.7_release_1.6_latest
5. 初始化配置文件
创建默认.ini配置文件并初始化容器配置:
bash[root@r-ufm145 ~]# docker run -v /tmp/config:/config --rm -d mellanox/ufm-telemetry:rhel7.3_x86_64_ofed5.1-2.3.7_release_1.6_latest /get_collectx_configs.sh "sample_rate=300;hca=mlx5_0;cable_info_schedule=1/00:00,3/00:00,5/00:00"
参数说明:
sample_rate:端口计数器数据收集频率(秒),示例中为每5分钟(300秒)hca:使用的HCA卡名称,示例中为mlx5_0cable_info_schedule:线缆信息收集计划(可选),格式为"星期几/时间",示例中为每周1、3、5的午夜6. 创建并启动UFM Telemetry容器
bash[root@r-ufm145 ~]# docker run --net=host --uts=host --ipc=host --ulimit stack=67108864 --ulimit memlock=-1 --security-opt seccomp=unconfined --cap-add=SYS_ADMIN --device=/dev/infiniband/ -v "/tmp/config:/config" -v "/tmp/data:/data" --rm --name ufm-telemetry -d mellanox/ufm-telemetry:rhel7.3_x86_64_ofed5.1-2.3.7_release_1.6_latest
7. 验证UFM Telemetry运行状态
a. 检查容器是否运行
bash[root@r-ufm145 ~]# docker ps
b. 进入容器shell
bash[root@r-ufm145 ~]# sudo docker exec -it ufm-telemetry bash
c. 验证关键进程是否运行
在容器内执行:
bash[root@r-ufm145 workspace]# ps -fade
应包含以下进程:agx、clx、supervisord、agx_manager.py、agx_server.py、launch_ibdiagnet.py、launch_retention.py、launch_compression.py、launch_cableinfo.py
d. 查看配置文件
bash[root@r-ufm145 workspace]# cat /config/launch_ibdiagnet_config.ini
8. 查看配置文件列表
bash[root@r-ufm145 ~]# ls -l /config/ -rw-r--r-- 1 3478 101 396 Jul 15 21:04 clx_config.ini -rw-r--r-- 1 3478 101 2987 Jul 15 21:04 collectx.ini -rw-r--r-- 1 3478 101 4257 Jul 15 21:04 launch_ibdiagnet_config.ini -rw-r--r-- 1 3478 101 1912 Jul 16 12:03 supervisord.conf
注意:修改配置文件后无需重启容器,更改会自动生效
UFM Telemetry通过Fluent Bit实现数据向多个目标的流式传输,支持所有Fluent Bit导出插件。其中"Forward"插件尤为实用,可将数据发送到用户维护的Fluent Bit或FluentD实例,再根据需求进行后续配置。
1. 确保UFM Telemetry容器已加载、配置并运行
2. 进入UFM Telemetry容器
bash[root@r-ufm ~]# sudo docker exec -it ufm-telemetry bash
3. 配置导出文件
在/config/fluent_bit_configs/目录下创建或修改.exp文件,为需要运行的插件设置enable=1。
4. 启用FluentBit导出
修改/config/launch_ibdiagnet_config.ini文件,设置plugin_env_FLUENT_BIT_EXPORT_ENABLE=1:
bash[root@r-ufm workspace]# vi /telemetry.config/launch_ibdiagnet_config.ini ... [fluentbit_export] plugin_env_FLUENT_BIT_EXPORT_ENABLE=1 plugin_env_FLUENT_BIT_CONFIG_DIR=/telemetry.config/fluent_bit_configs plugin_env_LD_LIBRARY_PATH=/opt/mellanox/collectx/lib ...
5. 运行数据接收程序
根据目标配置运行相应的数据接收程序(详见"示例"部分)。
6. 在接收端查看数据
注意:Ibdiagnet将根据
launch_ibdiagnet_config.ini文件中的sample_rate参数定期收集和导出数据。
支持的插件
导出配置文件(.exp)需放置在/config/fluent_bit_configs目录,可使用以下插件的示例文件:
注意:所有插件默认禁用,需设置
enable=1启用。
配置字段说明
每个导出目标包含以下字段:
name – 配置名称 plugin_name – Fluent Bit插件名称 enable – 启用/禁用插件(1=启用,0=禁用) host – Fluent Bit插件目标主机 port – Fluent Bit插件目标端口 msgpack_data_layout – msgpack数据格式(默认"flb_std",可选"custom") plugin_key=val – Fluent Bit插件参数键值对(可选) counterset/fieldset – 过滤文件路径(可选,详见"Cset/Fset过滤"部分)
注意:使用"#"添加注释行。
通过.exp文件的msgpack_data_layout字段配置数据布局,支持两种格式:
flb_std(默认)
数组格式,包含2个字段:时间戳(double类型)和纯字典(键值对)。适用于所有Fluent Bit插件。 示例:
[timestamp_val, {"timestamp"->ts_val, type=>"counters/events", "source"=>"source_val", "key_1"=>val_1, "key_2"=>val_2,...}]
custom
字典格式,包含元字段和计数器字段,值存储在单独的纯字典中。可通过"stdout_raw"插件输出或"forward"插件转发。
计数器示例:
{"timestamp"=>timestamp_val, "type"=>"counters", "source"=>"source_val", "values"=> {"key_1"=>val_1, "key_2"=>val_2,...}}
事件示例:
{"timestamp"=>timestamp_val, "type"=>"events", "type_name"=>"type_name_val", "source"=>" source_val", "values"=>{"key_1"=>val_1, "key_2"=>val_2,...}}
每个导出文件可使用cset和fset文件过滤遥测数据:
cset文件
用于过滤"type"="counters"的数据,每行包含一个过滤令牌。
fset文件
用于过滤"type"="events"的数据,包含多个以"[event_type_name]"为标题的区块,每个区块下包含过滤令牌。
过滤语法
tok1+tok2+tok3:同时匹配多个令牌tok1+tok2-tok3-tok4:匹配tok1和tok2,排除tok3和tok4^port:匹配以"port"开头的名称示例配置
ufm_enterprise.cset:
# 每行放置一个令牌 # 令牌是需要匹配的名称"片段" # port$ # 匹配以"port"结尾的名称 # ^port # 匹配以"port"开头的名称 # ^port$ # 精确匹配"port" # port+xmit # 同时包含"port"和"xmit"的名称 # port-support # 包含"port"但不包含"support"的名称 # # 提示:要禁用计数器导出,放置一个不匹配任何内容的令牌 # 可用计数器列表: # # node_guid # port_guid # port_num # lid # link_down_counter # link_error_recovery_counter # symbol_error_counter # port_rcv_remote_physical_errors # port_rcv_errors # port_xmit_discard # port_rcv_switch_relay_errors # excessive_buffer_errors
ufm_enterprise.fset:
# 在此配置事件过滤 # 使用方法: # # [type_name_1] # 令牌 # [type_name_2] # 令牌 # [type_name_3] # 令牌 # ... # 令牌是需要匹配的名称"片段" # port$ # 匹配以"port"结尾的名称 # ^port # 匹配以"port"开头的名称 # ^port$ # 精确匹配"port" # port+xmit # 同时包含"port"和"xmit"的名称 # port-support # 包含"port"但不包含"support"的名称 # 以下示例将导出整个"switch_fan"事件和包含"port"令牌的"CableInfo"事件: # [switch_fan] # # [CableInfo] # port # 要查看可用的事件类型名称,可使用以下方法: # 1. 检查导出数据,查找字段"type_name"=>"switch_temperature" # 或 # 2. 打开日志文件"/tmp/ibd/ibdiagnet2_port_counters.log",事件类型会打印到日志中: # ... # [info] type [CableInfo] is type of interest # [info] type [switch_temperature] is type of interest # [info] type [switch_fan] is type of interest # [info] type [switch_general] is type of interest # ... # 特殊情况: # 1. 空fset文件将导出所有事件 # 2. 未在[event_type]下的令牌将被忽略 # 3. 若无法打开fset文件,将打印警告并导出所有事件类型
SSH连接到远程Linux机器,确保Docker已安装并启动:
bash[root@r-ufm ~]# sudo service docker start
bash[root@r-ufm ~]# sudo docker pull fluentd
bash[root@r-ufm248 ~]# export fluentd_dir=/tmp/fluentd [root@r-ufm248 ~]# mkdir -p $fluentd_dir [root@r-ufm248 ~]# vim $fluentd_dir/config.conf
配置文件内容:
<source> @type forward bind 0.0.0.0 port 24432 </source> <match ufm_telemetry> @type stdout </match>
bash[root@r-ufm ~]# sudo docker run -it --rm --network host -v $fluentd_dir:/fluentd/etc fluentd -c /fluentd/etc/config.conf -v
更多信息,请查阅UFM Telemetry在线用户手册
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务