1LIBIPMIMONITORING(3) LIBIPMIMONITORING LIBIPMIMONITORING(3)
2
3
4
6 libipmimonitoring - a library for IPMI sensor monitoring
7
9 #include <ipmi_monitoring.h>
10
11 int ipmi_monitoring_init(unsigned int debug_flags, int *errnum);
12
13 int ipmi_monitoring_sdr_cache_directory(char *dir, int *errnum);
14
15 int ipmi_monitoring_sdr_cache_filenames(char *format, int *errnum);
16
17 ipmi_monitoring_ctx_t ipmi_monitoring_ctx_create(void);
18
19 void ipmi_monitoring_ctx_destroy(ipmi_monitoring_ctx_t c);
20
21 int ipmi_monitoring_ctx_errnum(ipmi_monitoring_ctx_t c);
22
23 char *ipmi_monitoring_ctx_strerror(int errnum);
24
25 int ipmi_monitoring_sensor_readings_by_record_id(ipmi_monitoring_ctx_t
26 c, char *hostname, struct ipmi_monitoring_ipmi_config *config, unsigned
27 int sensor_reading_flags, unsigned int *record_ids, unsigned int
28 record_ids_len, Ipmi_Monitoring_Sensor_Readings_Callback callback, void
29 *callback_data);
30
31 int ipmi_monitoring_sensor_readings_by_sensor_type(ipmi_monitor‐
32 ing_ctx_t c, char *hostname, struct ipmi_monitoring_ipmi_config *con‐
33 fig, unsigned int sensor_reading_flags, unsigned int *sensor_types,
34 unsigned int sensor_types_len, Ipmi_Monitoring_Sensor_Readings_Callback
35 callback, void *callback_data);
36
37 int ipmi_monitoring_iterator_first(ipmi_monitoring_ctx_t c);
38
39 int ipmi_monitoring_iterator_next(ipmi_monitoring_ctx_t c);
40
41 int ipmi_monitoring_iterator_record_id(ipmi_monitoring_ctx_t c);
42
43 int ipmi_monitoring_iterator_sensor_type(ipmi_monitoring_ctx_t c);
44
45 char *ipmi_monitoring_iterator_sensor_name(ipmi_monitoring_ctx_t c);
46
47 int ipmi_monitoring_iterator_sensor_state(ipmi_monitoring_ctx_t c);
48
49 int ipmi_monitoring_iterator_sensor_units(ipmi_monitoring_ctx_t c);
50
51 int ipmi_monitoring_iterator_sensor_reading_type(ipmi_monitoring_ctx_t
52 c);
53
54 void *ipmi_monitoring_iterator_sensor_reading(ipmi_monitoring_ctx_t c);
55
56 void ipmi_monitoring_iterator_destroy(ipmi_monitoring_ctx_t c);
57
58
60 The Libipmimonitoring implements a high level sensor monitoring API for
61 IPMI sensors. The goal of this library is to abstract away all of the
62 underlying IPMI details away from the user and map IPMI sensor readings
63 into NOMINAL, WARNING, or CRITICAL states. By mapping sensor readings
64 into NOMINAL, WARNING, or CRITICAL states, it makes monitoring sensors
65 easier across large numbers of nodes. An iterator interface is also
66 provided that allows the user to iterate through sensor values, types,
67 units, and states.
68
69
70 In order to improve efficiency, SDR data will be cached on the host.
71 By default it is cached in /var/cache/ipmimonitoringsdrcache.
72
73 Interpretation rules have not been written for all sensors permutations
74 and types. If sensor interpretation rules are needed, please contact
75 the developers as listed below.
76
77
79 The interpretation of sensors is configurable via the configuration
80 file stored at /etc/ipmi_monitoring_sensors.conf. See ipmi_monitor‐
81 ing_sensors.conf(5) for more information on configuring sensor inter‐
82 pretations.
83
84
86 /var/cache/ipmimonitoringsdrcache
87
88 /etc/ipmi_monitoring_sensors.conf
89
91 Report bugs to <freeipmi-users@gnu.org> or <freeipmi-devel@gnu.org>.
92
93
95 Copyright (C) 2007-2010 Lawrence Livermore National Security, LLC.
96 Copyright (C) 2006-2007 The Regents of the University of California.
97
98 This library is free software; you can redistribute it and/or modify it
99 under the terms of the GNU General Public License as published by the
100 Free Software Foundation; either version 2 of the License, or (at your
101 option) any later version.
102
104 ipmi_monitoring_sensors.conf(5), ipmimonitoring(8)
105
106 http://www.gnu.org/software/freeipmi/
107
108
109
110LLNL December 2006 LIBIPMIMONITORING(3)