tree: 039ca40bdac7b75382e6c2e9aed61caa3e784eb5 [path history] [tgz]
  1. example/
  2. test/
  3. argument.cpp
  4. conditions.cpp
  5. conditions.hpp
  6. fan.cpp
  7. fan.hpp
  8. fan_defs.hpp
  9. fan_error.cpp
  10. fan_error.hpp
  11. gen-fan-monitor-defs.py
  12. groups.hpp
  13. json.md
  14. json_parser.cpp
  15. json_parser.hpp
  16. logging.cpp
  17. logging.hpp
  18. main.cpp
  19. Makefile.am
  20. nonzero_speed_trust.hpp
  21. power_interface.cpp
  22. power_interface.hpp
  23. power_off_action.hpp
  24. power_off_cause.hpp
  25. power_off_rule.hpp
  26. README.md
  27. system.cpp
  28. system.hpp
  29. tach_sensor.cpp
  30. tach_sensor.hpp
  31. trust_group.hpp
  32. trust_manager.hpp
  33. types.hpp
monitor/README.md

Fan Monitor

The fan monitor application provides the following functionality:

  • Sets the functional state of fan sensors in the inventory based on comparing the target speed of the sensor to the actual speed.
  • Sets the functional states of fan FRUs in the inventory based on the child fan sensor functional states.
  • Creates event logs for fan sensors that have been nonfunctional for too long.
  • Creates event logs for fans that have been missing for too long.
  • Can power off the system based on rules that look at the number of nonfunctional fan sensors or missing fans.

This is all configurable in a JSON file. It also supports build time configuration based on a YAML file, though that doesn't support the full functionality and has been deprecated in favor of the JSON configuration.