做彩票生意要登陆哪个网站,给别人做网站的话术,个人 邮箱 含网站 域名,小游戏网页版链接亲爱的读者们#x1f44b; 欢迎加入【30天精通Prometheus】专栏#xff01;#x1f4da; 在这里#xff0c;我们将探索Prometheus的强大功能#xff0c;并将其应用于实际监控中。这个专栏都将为你提供宝贵的实战经验。#x1f680; Prometheus是云原生和DevOps的… 亲爱的读者们 欢迎加入【30天精通Prometheus】专栏 在这里我们将探索Prometheus的强大功能并将其应用于实际监控中。这个专栏都将为你提供宝贵的实战经验。 Prometheus是云原生和DevOps的核心监控工具我们将从基础概念开始逐步涵盖配置、查询、告警和可视化。 在接下来的30天里我们将解锁Prometheus的实战技巧通过案例和分享助你深入理解其工作原理。 目标30天后你将熟练掌握Prometheus为未来的项目挑战做好准备 这是一段精彩旅程期待你的加入 文章目录 一、ipmi_exporter概述二、安装ipmi_exporter2.1 访问ipmi_exporter官方网站 2.2 选择适合的版本2.3 下载ipmi_exporter⬇️2.4 解压安装包2.5 运行ipmi_exporter 三、ipmi_exporter指标和配置详解3.1 ipmi_remote.yml3.2 ipmi_exporter.service 四、实战演练生产环境搭建指南4.1 安装freeipmi并添加权限4.1.1 安装ipmitool 并加载相应模块4.1.2 给deploy用户添加freeipmi的执行权限 4.2 部署管理ipmi_exporter4.2.1 创建普通用户管理ipmi_exporter4.2.2 解压ipmi_exporter.tar.gz4.2.3 将ipmi_exporter集成到Prometheus配置中✂️4.2.4 更改ipmi_exporter软件包名称✂️4.2.5 创建ipmi_remote.yml文件4.2.6 编辑ipmi_exporter.service文件4.2.7 启动ipmi_exporter.service4.2.8 查看服务是否正常启动 相关资料下载地址 一、ipmi_exporter概述
定义 ipmi_exporter是一个用于收集物理机信息的工具它是Prometheus监控系统中的一个组件。其主要作用是通过IPMIIntelligent Platform Management Interface智能平台管理接口协议从支持IPMI的设备上收集硬件相关的监控数据并将这些数据转换为Prometheus可以理解的格式从而实现对物理服务器的硬件监控。
功能 数据收集它能够通过IPMI协议从远程物理机上收集各种硬件指标如温度、电压、风扇速度等。 数据转换收集到的数据会被转换为Prometheus监控系统的标准格式即metrics格式这样Prometheus就能轻松地抓取和处理这些数据。 远程监控支持支持远程收集数据这意味着无需在每台物理机上安装ipmi_exporter只需在中心位置部署即可监控多个远程服务器。 灵活性一个exporter实例可以监控多个IPMI接口这减少了资源消耗并提高了监控效率。 安全性支持TLS加密和基本认证确保监控数据在传输过程中的安全性。
应用场景 数据中心监控在大型数据中心中有大量的物理服务器需要监控。ipmi_exporter能够帮助管理员实时监控这些服务器的硬件状态如温度、电压和风扇速度等关键指标从而确保服务器的稳定运行。 远程故障排查当服务器出现故障时管理员可能无法直接访问服务器。此时ipmi_exporter可以通过远程收集硬件数据帮助管理员快速定位并解决问题。 自动化运维结合Prometheus的Alertmanageripmi_exporter可以自动化处理硬件警告。例如当某个硬件指标超出预设阈值时系统可以自动重启有问题的设备或触发通知从而减少人工干预的需要并提高运维效率。
二、安装ipmi_exporter
注意事项和常见问题 1.环境配置确保服务器支持IPMI协议并已启用。检查服务器的IPMI配置包括IP地址、用户名和密码确保可以远程访问。 2.依赖安装ipmi_exporter依赖于freeipmi库因此在安装前需要确保系统上已安装freeipmi。安装freeipmi时可以根据操作系统使用相应的包管理器如apt-get install freeipmiDebian/Ubuntu或yum install freeipmiCentOS/RHEL。 3.下载与安装从GitHub的官方仓库下载ipmi_exporter的最新版本。根据需要下载对应的发行版解压后即可使用。 4.配置文件如果需要监控远程服务器需配置ipmi_remote.yml文件指定目标服务器的IPMI地址、用户名和密码。确保配置文件中的信息准确无误以避免连接失败。 5.启动与运行使用nohup或其他方式在后台启动ipmi_exporter确保服务持续运行。启动后可以通过访问指定的HTTP端口默认为9290来验证ipmi_exporter是否成功运行。
2.1 访问ipmi_exporter官方网站
打开浏览器访问ipmi_exporter的官方下载页面通常位于Github官方网站的ipmi_exporter下https://github.com/prometheus-community/ipmi_exporter/releases
2.2 选择适合的版本
在下载页面你将看到不同操作系统的ipmi_exporter二进制包。根据你的操作系统选择适合的版本。例如如果你使用的是Linux 64位系统就选择ipmi_exporter-1.8.0.linux-amd64.tar.gz其中x.x.x是版本号。
2.3 下载ipmi_exporter⬇️
点击所选版本的下载链接将ipmi_exporter的二进制包下载到你的本地计算机。
2.4 解压安装包
将下载的ipmi_exporter压缩包解压到你想要安装的目录。你可以使用命令行工具如tar来完成这个步骤。解压后你将看到一个名为ipmi_exporter-x.x.x.linux-amd64的目录其中包含ipmi_exporter的二进制文件和其他相关文件。
tar -xzf ipmi_exporter-1.8.0.linux-amd64.tar.gz2.5 运行ipmi_exporter
进入解压后的目录并运行ipmi_exporter服务器。在Linux下你可以使用如下命令。如果一切正常你应该能在终端看到ipmi_exporter的启动日志。
cd ipmi_exporter-x.x.x.linux-amd64./ipmi_exporter三、ipmi_exporter指标和配置详解
黑色作为默认文本颜色。绿色表示常规配置项橙色表示具有互斥参数的配置项 / 建议开启根据自己的场景确定需求蓝色不重要的配置项 / 建议不开启红色表示关键信息和警告 / 最好开启
注意
1.相关参数配置建议仅供参考具体要以自己生产的实际需要自行配置。2.以下配置参数介绍是基于ipmi_exporter-1.8.0.linux-amd64版本说明的其它版本会有不同。
3.1 ipmi_remote.yml
modules:default:user: default_userpass: example_pwdriver: LAN_2_0privilege: usertimeout: 10000collectors:- bmc- ipmi- chassisexclude_sensor_ids:- 2- 29- 32- 50- 52- 55dcmi:user: admin_userpass: another_pwprivilege: admindriver: LAN_2_0collectors:- dcmithatspecialhost:user: some_userpass: secret_pwprivilege: admindriver: WORKcollectors:- ipmi- selworkaround_flags:- discretereadingcustom_args:ipmi:- --bridge-sensorsadvanced:user: some_userpass: secret_pwprivilege: admindriver: WORKcollectors:- ipmi- selcollector_cmd:ipmi: sudosel: sudocustom_args:ipmi:- ipmimonitoringsel:- ipmi-seldefault user: “default_user” 用于连接IPMI 设备的用户名pass: “example_pw” 用于连接IPMI 设备的密码driver: “LAN_2_0” IPMI 协议的版本或类型。“LAN_2_0” 表示使用 IPMI v2.0 协议进行通信privilege: “user” IPMI 用户的权限级别。“user” 权限通常允许基本的监控和读取操作一般不允许进行配置更改timeout: 10000 连接超时时间单位是毫秒collectors: [ “bmc”,“ipmi”,“chassis” ] 指定要启用的数据采集器列表。这些采集器决定了 ipmi_exporter 从 IPMI 设备中收集哪些数据。在提供的配置示例中启用了 bmc基板管理控制器信息、ipmiIPMI 设备信息、chassis机箱状态信息等采集器大家可以根据需要启用或禁用特定的采集器exclude_sensor_ids: 一个列表包含不希望监控的传感器 ID。在提供的配置中ID 为 2、29、32、50、52 和 55 的传感器将被排除在监控之外。这可以用于过滤掉不重要或不需要监控的传感器数据。 dcmi user: “admin_user” 用于连接到IPMI接口的用户名pass: “another_pw” 与用户名对应的密码。这里的密码是another_pwprivilege: “admin” 定义了IPMI会话的权限级别。在此配置中它被设置为admin这意味着该用户具有更高的权限可以执行更广泛的操作包括配置更改等driver: “LAN_2_0” 指定用于连接的IPMI驱动类型。LAN_2_0表示使用IPMI v2.0协议通过局域网进行通信collectors: dcmi 这是一个列表指定ipmi_exporter应从IPMI设备收集哪些类型的数据。在此配置中只启用了dcmi收集器 thatspecialhost user: “some_user” 用于连接到特定IPMI设备的用户名这里设置为some_user。确保该用户名与你的IPMI设备上配置的用户名一致pass: “secret_pw” 与用户名相对应的密码此例中为secret_pw。你需要确保这个密码正确以便ipmi_exporter能够成功登录到IPMI设备privilege: “admin” 用户的权限级别这里设置为admin。管理员权限通常允许用户执行更广泛的监控和管理操作driver: “WORK” 指定用于连接的IPMI驱动类型collectors: [ “ipmi”,“sel” ] 指定ipmi_exporter应从IPMI设备收集的数据类型。在这个配置中启用了ipmi和sel两个采集器workaround_flags: [“discretereading”] 包含用于解决特定IPMI设备兼容性问题的标志custom_args: ipmi: [“–bridge-sensors”] 允许你指定额外的命令行参数这些参数将传递给底层的IPMI监控工具如ipmimonitoring。在这个配置中为ipmi采集器指定了一个参数–bridge-sensors。这个参数的具体作用取决于底层工具和IPMI设备的实现通常用于处理或转换传感器数据。 advanced user: “some_user” 用于连接到IPMI设备的用户名pass: “secret_pw” 与用户名对应的密码privilege: “admin” 指定用于与IPMI设备通信的驱动类型driver: “WORK” 一个列表定义了ipmi_exporter应该从IPMI设备收集哪些类型的数据collectors: [ “ipmi”,“sel” ] 一个列表定义了ipmi_exporter应该从IPMI设备收集哪些类型的数据collector_cmd: {“ipmi”: sudo ,“sel”: sudo} 允许你为不同的采集器指定运行命令的前缀。在这个例子中ipmi和sel采集器都使用了sudo命令前缀这意味着ipmi_exporter会尝试以超级用户权限运行这些采集器。这是因为某些操作需要更高的权限才能执行custom_args: {“ipmi”: [“ipmimonitoring”],“sel”: [“ipmi-sel”]} 允许为特定的采集器提供自定义的命令行参数
3.2 ipmi_exporter.service
- -config.fileCONFIG.FILE 指定配置文件的路径。这个配置文件包含了如何连接到 IPMI 设备的信息比如设备的 IP 地址、用户名、密码等。CONFIG.FILE 应该替换为你的实际配置文件路径。- -freeipmi.pathFREEIPMI.PATH 指定 freeipmi 工具的路径ipmi_exporter 依赖于 freeipmi 工具来收集 IPMI 数据。如果你已经把 freeipmi 安装到了系统的 PATH 环境变量中那么不需要设置这个参数。FREEIPMI.PATH 应该替换为 freeipmi 工具的实际路径。- -[no-]web.systemd-socket 一个布尔标志用于控制是否使用 systemd socket 激活。如果你的 ipmi_exporter 是通过 systemd socket 激活的那么应该启用这个标志。加上 no- 前缀会禁用这个选项即不使用 systemd socket 激活。- -web.listen-address:9290 指定 ipmi_exporter 的 HTTP 服务监听地址和端口。:9290 表示监听所有 IPv4 和 IPv6 地址的 9290 端口。你可以根据需要更改端口号或绑定到特定的 IP 地址。- -web.config.file“” 要使用 TLS 和/或基本身份验证需要传递配置文件使用参数。
四、实战演练生产环境搭建指南
4.1 安装freeipmi并添加权限
4.1.1 安装ipmitool 并加载相应模块
yum -y install ipmitool freeipmimodprobe ipmi_msghandler
modprobe ipmi_devintf
modprobe ipmi_poweroff
modprobe ipmi_si
modprobe ipmi_watchdog4.1.2 给deploy用户添加freeipmi的执行权限
cat /etc/sudoers EOF
deploy ALL(ALL) NOPASSWD:/usr/sbin/ipmimonitoring,/usr/sbin/ipmi-sensors,/usr/sbin/ipmi-dcmi,/usr/sbin/ipmi-raw,/usr/sbin/bmc-info,/usr/sbin/ipmi-chassis,/usr/sbin/ipmi-sel
EOF4.2 部署管理ipmi_exporter
4.2.1 创建普通用户管理ipmi_exporter
useradd deploy4.2.2 解压ipmi_exporter.tar.gz
注意: 我的是x86所以使用ipmi_exporter-1.8.0.linux-amd64.tar.gz您可以使用uname -a命令查看系统架构
tar xvf ipmi_exporter-1.8.0.linux-amd64.tar.gz -C /home/deploy/4.2.3 将ipmi_exporter集成到Prometheus配置中✂️ 将ipmi_exporter集成到Prometheus配置中确保数据能够正常采集。编辑Prometheus的配置文件通常是prometheus.yml在scrape_configs部分添加ipmi_exporter的配置。告诉Prometheus将采集localhost:9290的数据。 - job_name: ipmi_exporterstatic_configs:- targets:- targets: [localhost:9290]labels:exporter: ipmi_exporter4.2.4 更改ipmi_exporter软件包名称✂️
mv ipmi_exporter-1.8.0.linux-amd64 /home/deploy/ipmi_exporter4.2.5 创建ipmi_remote.yml文件
vi /home/deploy/ipmi_exporter/ipmi_remote.yml
modules:10.131.16.137: # ipmi地址user: ipmi_user # ipmi用户名pass: ipmi_passwod # ipmi密码privilege: userdriver: LAN_2_0collectors:- bmc- ipmi- dcmi- chassis- selcustom_args:bmc:- bmc-infoipmi:- ipmimonitoringdcmi:- ipmi-dcmichassis:- ipmi-chassissel:- ipmi-sel4.2.6 编辑ipmi_exporter.service文件
cat /etc/systemd/system/ipmi_exporter.service EOF
[Unit]
DescriptionIpmi Exporter
Afternetwork.target[Service]
Typesimple
Userdeploy
Groupdeploy
ExecStart/home/deploy/ipmi_exporter/ipmi_exporter\
--graphite.mapping-config/home/deploy/ipmi_exporter/ipmi_exporter \
--config.fileipmi_remote.yml \
--freeipmi.path/usr/local/sbin/ \
--web.listen-address:9290
ExecReload/bin/kill -HUP
Restarton-failure[Install]
WantedBymulti-user.target
EOF4.2.7 启动ipmi_exporter.service
sudo systemctl daemon-reloadsudo systemctl enable --now ipmi_exporter.service4.2.8 查看服务是否正常启动
# 查看service服务是否启动
sudo systemctl status ipmi_exporter.service# 查看端口是否存在
sudo ss -ntulp | grep 9290相关资料下载地址
官方文档https://prometheus.io/docs/introduction/overview/下载地址https://github.com/prometheus/prometheus/releases/tag/v2.52.0文档地址https://prometheus.io/docs/prometheus/latest/installation/离线包下载链接https://pan.baidu.com/s/1ANF_AlFnM5_FMIbKBuzBmg 提取码yqpt