LIBIPMIMONITORING(3)

NAME
libipmimonitoring - a library for IPMI sensor monitoring

SYNOPSIS
#include <ipmi_monitoring.h>

int ipmi_monitoring_init(unsigned int debug_flags, int *errnum);

int ipmi_monitoring_sdr_cache_directory(char *dir, int *errnum);

int ipmi_monitoring_sdr_cache_filenames(char *format, int *errnum);

ipmi_monitoring_ctx_t ipmi_monitoring_ctx_create(void);

void ipmi_monitoring_ctx_destroy(ipmi_monitoring_ctx_t c);

int ipmi_monitoring_ctx_errnum(ipmi_monitoring_ctx_t c);

char *ipmi_monitoring_ctx_strerror(int errnum);

int ipmi_monitoring_sensor_readings_by_record_id(ipmi_monitoring_ctx_t c, char *hostname, struct ipmi_monitoring_ipmi_config *config, unsigned int sensor_reading_flags, unsigned int *record_ids, unsigned int record_ids_len);

int ipmi_monitoring_sensor_readings_by_sensor_group(ipmi_monitoring_ctx_t c, char *hostname, struct ipmi_monitoring_ipmi_config *config, unsigned int sensor_reading_flags, unsigned int *sensor_groups, unsigned int sensor_groups_len);

int ipmi_monitoring_iterator_first(ipmi_monitoring_ctx_t c);

int ipmi_monitoring_iterator_next(ipmi_monitoring_ctx_t c);

int ipmi_monitoring_iterator_record_id(ipmi_monitoring_ctx_t c);

int ipmi_monitoring_iterator_sensor_group(ipmi_monitoring_ctx_t c);

char *ipmi_monitoring_iterator_sensor_name(ipmi_monitoring_ctx_t c);

int ipmi_monitoring_iterator_sensor_state(ipmi_monitoring_ctx_t c);

int ipmi_monitoring_iterator_sensor_units(ipmi_monitoring_ctx_t c);

int ipmi_monitoring_iterator_sensor_reading_type(ipmi_monitoring_ctx_t c);

void *ipmi_monitoring_iterator_sensor_reading(ipmi_monitoring_ctx_t c);

void ipmi_monitoring_iterator_destroy(ipmi_monitoring_ctx_t c);

DESCRIPTION
The Libipmimonitoring implements a high level sensor monitoring API for IPMI sensors. The goal of this library is to abstract away all of the underlying IPMI details away from the user and map IPMI sensor readings into NOMINAL, WARNING, or CRITICAL states. By mapping sensor readings into NOMINAL, WARNING, or CRITICAL states, it makes monitoring sensors easier across large numbers of nodes. An iterator interface is also provided that allows the user to iterate through sensor values, groups, units, and states.

In order to improve efficiency, SDR data will be cached on the host. By default it is cached in /var/db/freeipmi/ipmimonitoringsdrcache.

Interpretation rules have not been written for all sensors permutations and types. If sensor interpretation rules are needed, please contact the developers as listed below.

STATE CONFIGURATION
The interpretation of sensors is configurable via the configuration file stored at /usr/local/etc/freeipmi/ipmi_monitoring_sensors.conf. Various states returnable by IPMI based sensors can be assigned NOMINAL, WARNING, or CRITICAL states to be returned by the libipmimonitoring library. If multiple states are triggered on a sensor reading, the more severe state is returned to the user.

FILES
/var/db/freeipmi/ipmimonitoringsdrcache /usr/local/etc/freeipmi/ipmi_monitoring_sensors.conf

REPORTING BUGS
Report bugs to <freeipmi-users@gnu.org> or <freeipmi-devel@gnu.org>.

COPYRIGHT
Copyright (C) 2007-2008 Lawrence Livermore National Security, LLC.
Copyright (C) 2006-2007 The Regents of the University of California.

This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

SEE ALSO
ipmimonitoring(8)

http://www.gnu.org/software/freeipmi/