.. _hpe_server_monitor:
========================
HPE服务器监控
========================
我在自己的 :ref:`hpe_dl360_gen9` 服务器上构建硬件监控,基于 :ref:`grafana` 来观察:
- 硬件是否工作正常,例如内存模块、风扇、主板等
- 监控服务器温度,特别是处理器和GPU以及磁盘
HPE公司提供了一个
处理器
=========
Intel 和 AMD 都开发了针对自家处理器的性能监控调试工具:
- :ref:`intel_pcm`
- :ref:`amd_uprof`
如果要采用通用型监控处理器温度,则可以采用 :ref:`lm_sensor`
基于 :ref:`pcm-exporter`
--------------------------
采用 :ref:`intel_pcm` 官方提供的 :ref:`pcm-exporter` 可以精细化监控Intel处理器(脑洞: 对于 :ref:`kvm` 虚拟化的处理器,能否模拟使用Intel PCM来监控?),直接输出 :ref:`grafana`
基于 :ref:`amd_smi_exporter`
-----------------------------
由于 :ref:`amd_uprof` 尚未支持 :ref:`metrics` , 目前还不能基于uProf来构建AMD处理器的监控。不过,AMD开源了基于AMD SMI库输出为metrics的 :ref:`amd_smi_exporter` ,目前还没有完整方案,但可以尝试。
基于 :ref:`hp_ilo`
====================
结合 :ref:`prometheus`
------------------------
:ref:`hp_ilo` 提供了大量的基础监控数据,有人开发了 `HP iLO Metrics Exporter (GitHub) `_ 可以直接将 :ref:`hp_ilo` 监控数据输出为 :ref:`metrics` 。并且这个 :ref:`prometheus_exporters` 被 `greenweb-cloud prometheus_exporters (GitHub) `_ (这个项目综合了很多开源的exporter)收录。对应于 ``HP iLO Metrics Exporter`` 有一个 :ref:`grafana` `Dashboard HP iLo `_ 可以观察硬件设备是否工作正常::
0 - OK
1 - Degraded
2 - Dead (Other)
结合 :ref:`influxdb`
----------------------
:ref:`influxdb` 有一个更好的结合 :ref:`hp_ilo` 监控方案,对应的 :ref:`grafana` Dashboard案例:
- `Grafana Dashboard: HP ProLiant MicroServer Gen8 `_
- `Grafana Dashboard: HP ProLiant DL380p Gen8 `_
可以看到社区提供的 InfluxDB 有丰富的iLo集成数据,可以精细化监控服务器的温度和主频。
基于 :ref:`ipmi`
======================
- :ref:`prometheus_exporters` 有一个官方 ``ipmi_exporter`` 可以基于 :ref:`ipmi` 输出 :ref:`metrics` 。使用 :ref:`grafana` `Dashboard IPMI Exporter `_
- :ref:`node_exporter` with :ref:`ipmitool` text plugin 可以使用 :ref:`grafana` `Dashboard IPMI for Prometheus `_
这样可以用来监控大规模服务器集群,并且生成告警。
基于 :ref:`lm_sensor`
========================
`sensor-exporter (GitHub) `_ 基于 :ref:`lm_sensor` 提供了温度和风扇转速的 :ref:`metrics` 输出。对应 `Grafana Dashboard: Sensors `_ 提供了监控案例
基于 HPE OneView
===================
HPE OneView 是HPE官方开发的监控服务器硬件和电路连接模块的软件,提供了 REST API 来搜集信息: power consumption (average and peak), ambient temperature, CPU utilization 等。基于 HPE OneView 有一些第三方监控插件:
- `hpe-oneview-prometheus (GitHub) `_ 输出可以被 :ref:`prometheus` 采集的 :ref:`metrics` ,并且有一个配套的 :ref:`grafana` `Dashboard ID 10233 `_ 提供各个组件的状态监控:
.. figure:: ../../../../_static/linux/server/hardware/hpe/hpe_oneview_dashboard1.jpg
.. figure:: ../../../../_static/linux/server/hardware/hpe/hpe_oneview_dashboard2.jpg
不过这个监控主要是布尔值,也就是主要判断设备是否工作正常。
HPE Storage Array Exporter
===========================
`Get started with Prometheus and Grafana on Docker with HPE Storage Array Exporter `_ 提供了采用官方 ``HPE Storage Array Exporter`` 实现 :ref:`prometheus` 集成监控。这是一个企业级解决方案,适合集成到 Kubernetes 监控系统。
不过,我没有 ``HPE Storage Array`` 硬件设备,这里仅记录备用。
`Integration of HPE OneView with Prometheus `_ 是HPE提供的集成到 :ref:`openshift` 部署方案,也可以参考。
.. note::
根据资料对比,我准备实现:
- 采用 :ref:`prometheus` 结合 ``ipmi_exporter`` 实现一个通用的服务器监控(适合任意服务器品牌)
- 采用 :ref:`influxdb` 结合 ``iLo`` 实现一个针对HP服务器的特定监控
- 采用 :ref:`lm_sensor` 结合 `sensor-exporter (GitHub) `_ 尝试做一个简化版温度监控