ToB企服应用市场:ToB评测及商务社交产业平台

标题: Prometheus(普罗米修斯)监控系统 - 4、服务器硬件信息监控(ipmi-exporte [打印本页]

作者: 汕尾海湾    时间: 2024-10-17 06:43
标题: Prometheus(普罗米修斯)监控系统 - 4、服务器硬件信息监控(ipmi-exporte
提示:文章写完后,目次可以自动生成,如何生成可参考右边的帮助文档
  
  

媒介

IPMI监控基于IPMI协议,允许对物理服务器的硬件举行低级别管理。IPMI Exporter通过与BMC(Baseboard Management Controller)通信,获取服务器的硬件状态,如温度、风扇、电压等,将这些数据转化为Prometheus的格式。
因为 Prometheus 在 dockerhub 上面没 ipmi-exporter 容器镜像,那就自己做一个呗。
下面就以 Ubuntu Docker Image 基础镜像为例子,部署 node-exporter 并举行监控。

一、下载ipmi_exporter

下载 prometheus ipmi_exporter (github) 官方工具
找到自己所对应版本,好比我这里下的是 ipmi_exporter-1.8.0.linux-amd64.tar.gz
解压后发现就两个文件 ipmi_exporter 和 LICENSEipmi_exporter 就是运行程序,若想直接启动,命令:
  1. ./ipmi_exporter
  2. #或
  3. sh ipmi_exporter
复制代码
若访问不了 github ,这已经打包好了,下载解压找到对应版本就行:
ipmi-exporter-1.7.0 聚集包
ipmi-exporter-1.8.0 聚集包

二、docker image制作

编写 Dockerfile ,内容如下:
  1. # 使用 Ubuntu 20.04 作为基础镜像
  2. FROM ubuntu:20.04
  3. # 维护者信息 可加可不加
  4. LABEL maintainer="your_email@example.com"
  5. # 将本地的 ipmi_exporter-1.8.0.linux-amd64.tar.gz 文件拷贝到镜像中
  6. COPY ipmi_exporter-1.8.0.linux-amd64.tar.gz /tmp/
  7. # 解压 ipmi_exporter 文件并将其移动到 /usr/local/bin
  8. RUN tar -xvzf /tmp/ipmi_exporter-1.8.0.linux-amd64.tar.gz -C /tmp/ \
  9.     && mv /tmp/ipmi_exporter-1.8.0.linux-amd64/ipmi_exporter /usr/local/bin/ \
  10.     && rm -rf /tmp/ipmi_exporter-1.8.0.linux-amd64*
  11. # 暴露 9290 端口,用于 IPMI Exporter 的访问
  12. EXPOSE 9290
  13. # 设置容器启动时的默认命令,运行 IPMI Exporter 并监听所有接口的 9290 端口
  14. CMD ["/usr/local/bin/ipmi_exporter", "--web.listen-address=:9290"]
复制代码
docker build 镜像:
  1. docker build . -t ubuntu:20.04-ipmi_exporter1.8.0t
复制代码
没报错就是成功,有异常的话会指向第几句和错误缘故原由。
PS:我这里给镜像叫 ubuntu:20.04-ipmi_exporter1.8.0t ,这里大家按自己喜好来命名就好了
三、测试

docker run 运行:
  1. docker run -it -d --privileged --name ipmi -p 9290:9290 ubuntu:20.04-ipmi_exporter1.8.0t
复制代码
浏览器访问 http://<ipmi-exporter_IP>:9290/metrics ,看到有很多数据就成功部署了
PS:–privileged 参数必须加,是用于授予容器更多权限,使它能够访问主机的所有设备和硬件资源。
否则的话,很多硬件信息会获取不到

–privileged 对应 Kubernetes 里的 Deployment.yaml/DaemonSet.yaml 就是在 spec:containers 下追加:
  1.         securityContext:
  2.           privileged: true  # 开启特权模式
复制代码
四、参加监控

修改普罗米修斯的 /etc/prometheus/prometheus.rules 文件,追加如下内容并重启服务。
  1. scrape_configs:
  2.   - job_name: 'ipmi-exporter'
  3.     static_configs:
  4.       - targets: ['<ipmi-exporter-ip>:9290']  # 替换为实际的 IP 地址和端口
复制代码
在浏览器访问 Prometheus ,点击 “Status” → “Targets” 中若能发现 “ipmi-exporter” 栏,且设备数量对得上,State 为 UP,则代表已接入普罗米修斯监控了。
四、监控进阶

将 K8s 所有 node节点(含新加 k8s 的节点)都自动部署 ipmi-exporter 并举行 Prometheus 监控。
请参考 :Prometheus(普罗米修斯)监控系统 - 3、操纵系统信息监控(node-exporter) 四、监控进阶 篇章
其中的 yaml 写法实现原理 大要同等
总结

报警规则、看板制作、消息推送,由后面的更新的Prometheus+Grafana的部署篇章中会详细说明。
目前,已更新的所有普罗米修斯及其相干篇章:
Prometheus(普罗米修斯)监控系统 - 1、基本原理
Prometheus(普罗米修斯)监控系统 - 2、网络等硬件设备监控(snmp-exporter)
Prometheus(普罗米修斯)监控系统 - 3、操纵系统信息监控(node-exporter)
Prometheus(普罗米修斯)监控系统 - 4、服务器硬件信息监控(ipmi-exporter)

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4