librenms
librenms copied to clipboard
Allow IPMI module to run for ping only devices
The problem
Running non-snmp modules, like IPMI seems to not work with ping only devices. This seems to have been fixed previously, but the functionality has since stopped working. If you have the time could you take a look at it?
Output of ./validate.php
===========================================
Component | Version
--------- | -------
LibreNMS | 24.9.0 (2024-10-15T21:15:45+02:00)
DB Schema | 2024_08_27_182000_ports_statistics_table_rev_length (300)
PHP | 8.3.8
Python | 3.11.10
Database | MariaDB 10.11.11-MariaDB-ubu2204
RRDTool | 1.8.0
SNMP | 5.9.4
===========================================
[OK] Installed from the official Docker image; no Composer required
[OK] Database connection successful
[OK] Database connection successful
[OK] Database Schema is current
[OK] SQL Server meets minimum requirements
[OK] lower_case_table_names is enabled
[OK] MySQL engine is optimal
[OK] Database and column collations are correct
[FAIL] We have detected that your database schema may be wrong
Database: missing table (bgpPeers)
Database: missing table (bgpPeers_cbgp)
Database: missing table (ciscoASA)
Database: missing table (entityState)
Database: missing table (entPhysical)
Database: missing table (entPhysical_state)
Database: missing table (hrDevice)
Database: missing table (hrSystem)
Database: missing table (juniAtmVp)
Database: extra table (bgppeers)
Database: extra table (bgppeers_cbgp)
Database: extra table (ciscoasa)
Database: extra table (entitystate)
Database: extra table (entphysical)
Database: extra table (entphysical_state)
Database: extra table (hrdevice)
Database: extra table (hrsystem)
Database: extra table (juniatmvp)
[FIX]:
Run the following SQL statements to fix it
SQL Statements:
CREATE TABLE `bgpPeers` (`bgpPeer_id` int unsigned NOT NULL auto_increment, `device_id` int unsigned NOT NULL , `vrf_id` int unsigned NULL , `astext` varchar(255) NOT NULL , `bgpPeerIdentifier` text NOT NULL , `bgpPeerRemoteAs` bigint NOT NULL , `bgpPeerState` text NOT NULL , `bgpPeerAdminStatus` text NOT NULL , `bgpPeerLastErrorCode` int NULL , `bgpPeerLastErrorSubCode` int NULL , `bgpPeerLastErrorText` varchar(254) NULL , `bgpPeerIface` int unsigned NULL , `bgpLocalAddr` text NOT NULL , `bgpPeerRemoteAddr` text NOT NULL , `bgpPeerDescr` varchar(255) NOT NULL DEFAULT '' , `bgpPeerInUpdates` int unsigned NOT NULL , `bgpPeerOutUpdates` int unsigned NOT NULL , `bgpPeerInTotalMessages` int unsigned NOT NULL , `bgpPeerOutTotalMessages` int unsigned NOT NULL , `bgpPeerFsmEstablishedTime` int unsigned NOT NULL , `bgpPeerInUpdateElapsedTime` int unsigned NOT NULL , `context_name` varchar(128) NULL , PRIMARY KEY (`bgpPeer_id`), INDEX `bgppeers_device_id_context_name_index` (`device_id`,`context_name`));
CREATE TABLE `bgpPeers_cbgp` (`device_id` int unsigned NOT NULL , `bgpPeerIdentifier` varchar(64) NOT NULL , `afi` varchar(16) NOT NULL , `safi` varchar(16) NOT NULL , `AcceptedPrefixes` int unsigned NOT NULL , `DeniedPrefixes` int unsigned NOT NULL , `PrefixAdminLimit` int unsigned NOT NULL , `PrefixThreshold` int unsigned NOT NULL , `PrefixClearThreshold` int unsigned NOT NULL , `AdvertisedPrefixes` int unsigned NOT NULL , `SuppressedPrefixes` int unsigned NOT NULL , `WithdrawnPrefixes` int unsigned NOT NULL , `AcceptedPrefixes_delta` int NOT NULL , `AcceptedPrefixes_prev` int unsigned NOT NULL , `DeniedPrefixes_delta` int NOT NULL , `DeniedPrefixes_prev` int unsigned NOT NULL , `AdvertisedPrefixes_delta` int NOT NULL , `AdvertisedPrefixes_prev` int unsigned NOT NULL , `SuppressedPrefixes_delta` int NOT NULL , `SuppressedPrefixes_prev` int unsigned NOT NULL , `WithdrawnPrefixes_delta` int NOT NULL , `WithdrawnPrefixes_prev` int unsigned NOT NULL , `context_name` varchar(128) NULL , UNIQUE `bgppeers_cbgp_device_id_bgppeeridentifier_afi_safi_unique` (`device_id`,`bgpPeerIdentifier`,`afi`,`safi`), INDEX `bgppeers_cbgp_device_id_bgppeeridentifier_context_name_index` (`device_id`,`bgpPeerIdentifier`,`context_name`));
CREATE TABLE `ciscoASA` (`ciscoASA_id` int unsigned NOT NULL auto_increment, `device_id` int unsigned NOT NULL , `oid` varchar(255) NOT NULL , `data` bigint NOT NULL , `high_alert` bigint NOT NULL DEFAULT '-1' , `low_alert` bigint NOT NULL DEFAULT '0' , `disabled` tinyint NOT NULL DEFAULT '0' , PRIMARY KEY (`ciscoASA_id`), INDEX `ciscoasa_device_id_index` (`device_id`));
CREATE TABLE `entityState` (`entity_state_id` int unsigned NOT NULL auto_increment, `device_id` int unsigned NULL , `entPhysical_id` int unsigned NULL , `entStateLastChanged` datetime NULL , `entStateAdmin` int NULL , `entStateOper` int NULL , `entStateUsage` int NULL , `entStateAlarm` text NULL , `entStateStandby` int NULL , PRIMARY KEY (`entity_state_id`), INDEX `entitystate_device_id_index` (`device_id`));
CREATE TABLE `entPhysical` (`entPhysical_id` int unsigned NOT NULL auto_increment, `device_id` int unsigned NOT NULL , `entPhysicalIndex` int NOT NULL , `entPhysicalDescr` text NULL , `entPhysicalClass` text NULL , `entPhysicalName` text NULL , `entPhysicalHardwareRev` varchar(96) NULL , `entPhysicalFirmwareRev` varchar(96) NULL , `entPhysicalSoftwareRev` varchar(96) NULL , `entPhysicalAlias` varchar(32) NULL , `entPhysicalAssetID` varchar(32) NULL , `entPhysicalIsFRU` varchar(8) NULL , `entPhysicalModelName` text NULL , `entPhysicalVendorType` text NULL , `entPhysicalSerialNum` text NULL , `entPhysicalContainedIn` int NOT NULL DEFAULT '0' , `entPhysicalParentRelPos` int NOT NULL DEFAULT '-1' , `entPhysicalMfgName` text NULL , `ifIndex` int unsigned NULL , PRIMARY KEY (`entPhysical_id`), INDEX `entphysical_device_id_index` (`device_id`));
CREATE TABLE `entPhysical_state` (`id` bigint unsigned NOT NULL auto_increment, `device_id` int unsigned NOT NULL , `entPhysicalIndex` varchar(64) NOT NULL , `subindex` varchar(64) NULL , `group` varchar(64) NOT NULL , `key` varchar(64) NOT NULL , `value` varchar(255) NOT NULL , PRIMARY KEY (`id`), INDEX `device_id_index` (`device_id`,`entPhysicalIndex`));
CREATE TABLE `hrDevice` (`hrDevice_id` int unsigned NOT NULL auto_increment, `device_id` int unsigned NOT NULL , `hrDeviceIndex` int NOT NULL , `hrDeviceDescr` text NOT NULL , `hrDeviceType` text NOT NULL , `hrDeviceErrors` int NOT NULL DEFAULT '0' , `hrDeviceStatus` text NOT NULL , `hrProcessorLoad` tinyint NULL , PRIMARY KEY (`hrDevice_id`), INDEX `hrdevice_device_id_index` (`device_id`));
CREATE TABLE `hrSystem` (`hrSystem_id` int unsigned NOT NULL auto_increment, `device_id` int unsigned NOT NULL , `hrSystemNumUsers` int NULL , `hrSystemProcesses` int NULL , `hrSystemMaxProcesses` int NULL , PRIMARY KEY (`hrSystem_id`), INDEX `hrsystem_device_id_index` (`device_id`));
CREATE TABLE `juniAtmVp` (`id` bigint unsigned NOT NULL auto_increment, `juniAtmVp_id` int unsigned NOT NULL , `port_id` int unsigned NOT NULL , `vp_id` int unsigned NOT NULL , `vp_descr` varchar(32) NOT NULL , PRIMARY KEY (`id`), INDEX `juniatmvp_port_id_index` (`port_id`));
DROP TABLE `bgppeers`;
DROP TABLE `bgppeers_cbgp`;
DROP TABLE `ciscoasa`;
DROP TABLE `entitystate`;
DROP TABLE `entphysical`;
DROP TABLE `entphysical_state`;
and 3 more...
Attempt to fix this issue (y or n)?:n
[OK] MySQL and PHP time match
[OK] Active pollers found
[OK] Dispatcher Service is enabled
[OK] Locks are functional
[OK] No python wrapper pollers found
[OK] Redis is functional
[OK] rrd_dir is writable
[OK] rrdtool version ok
[WARN] Updates are managed through the official Docker image
What was the last working version of LibreNMS?
No response
Anything in the logs that might be useful for us?
Your install is out of date, please upgrade and try again.
#### Load poller module ipmi ####
Module enabled: Global + | OS | Device | Manual
SQL[SELECT * FROM sensors WHERE device_id = ? AND poller_type='ipmi' [585] 0.27ms]
array (
)
@laf you remember the discussion on Discord?
awe, sorry... I've opened my issue in the wrong project :(