Skip to content

Conversation

@garnier-quentin
Copy link
Contributor

@garnier-quentin garnier-quentin commented Jan 8, 2026

Community contributors

Description

New plugin to monitor Kairos equipment

CTOR-2127

Type of change

  • Patch fixing an issue (non-breaking change)
  • New functionality (non-breaking change)
  • Functionality enhancement or optimization (non-breaking change)
  • Breaking change (patch or feature) that might cause side effects breaking part of the Software

How this pull request can be tested ?

# perl centreon_plugins.pl --plugin=network::kairos::snmp::plugin --mode=interfaces --hostname=127.0.0.1 --snmp-community=kairos --snmp-port=1611  --verbose --mode=hardware
OK: Board voltage: 129.00V, TX current: 0.00A, temperature is 29 C, TX temperature is 20 C | 'board.voltage.volt'=129.00V;;;; 'board.tx.current.ampere'=0.00A;;;; 'board.temperature.celsius'=29C;;;; 'board.tx.temperature.celsius'=20C;;;;
# perl centreon_plugins.pl --plugin=network::kairos::snmp::plugin --mode=interfaces --hostname=127.0.0.1 --snmp-community=kairos --snmp-port=1611  --verbose --mode=alarms
OK: All alarms are ok | 'alarm.IO1Contact.count'=0;;;; 'alarm.Vocoder.count'=0;;;; 'alarm.BsTemperature.count'=0;;;; 'alarm.TxTemperature.count'=0;;;; 'alarm.NoTxPower.count'=0;;;; 'alarm.TxPowerLow.count'=0;;;; 'alarm.TxPowerHigh.count'=0;;;; 'alarm.SWRPower.count'=0;;;; 'alarm.ROS.count'=0;;;; 'alarm.TxPowerReduced.count'=0;;;; 'alarm.SynchSource.count'=0;;;; 'alarm.IO2Contact.count'=0;;;; 'alarm.Synch.count'=0;;;; 'alarm.BoardVTunes.count'=0;;;; 'alarm.TrxVTunes.count'=0;;;; 'alarm.BoardClock.count'=0;;;; 'alarm.TrxClock.count'=0;;;; 'alarm.BoardPllLock.count'=0;;;; 'alarm.TrxPllLock.count'=0;;;; 'alarm.PldFault.count'=0;;;; 'alarm.PldDspComm.count'=0;;;; 'alarm.IFRxGen.count'=0;;;; 'alarm.LogicSupply.count'=0;;;; 'alarm.RxGen.count'=0;;;; 'alarm.RfNoise.count'=0;;;; 'alarm.RegMaster.count'=0;;;; 'alarm.RegSlave.count'=0;;;; 'alarm.DeregSlave.count'=0;;;; 'alarm.LossSlave.count'=0;;;; 'alarm.MasterRole.count'=0;;;; 'alarm.BckMasterConn.count'=0;;;; 'alarm.DmrEmerCall.count'=0;;;; 'alarm.1Plus1BsActive.count'=0;;;; 'alarm.SupplyHigh.count'=0;;;; 'alarm.1Plus1BsHotSpare.count'=0;;;; 'alarm.TrxLayer.count'=0;;;; 'alarm.BsLayer.count'=0;;;; 'alarm.SipNameResolve.count'=0;;;; 'alarm.FailSipReg.count'=0;;;; 'alarm.SipReg.count'=0;;;; 'alarm.SipDereg.count'=0;;;; 'alarm.SipServerChange.count'=0;;;; 'alarm.SipTrunk.count'=0;;;; 'alarm.SupplyLow.count'=0;;;; 'alarm.EthLink.count'=0;;;; 'alarm.PldData.count'=0;;;; 'alarm.DspUpAndRun.count'=0;;;; 'alarm.Gnss.count'=0;;;;
alarm 'I/O 1 Contact' count: 0 [IO1Contact]
alarm 'Vocoders Status' count: 0 [Vocoder]
alarm 'BS Temperature' count: 0 [BsTemperature]
alarm 'TX Temperature' count: 0 [TxTemperature]
alarm 'No TX Power' count: 0 [NoTxPower]
alarm 'TX Power too low' count: 0 [TxPowerLow]
alarm 'TX Power too high' count: 0 [TxPowerHigh]
alarm 'TX SWR Warning' count: 0 [SWRPower]
alarm 'TX SWR Alarm' count: 0 [ROS]
alarm 'TX Power Reduction' count: 0 [TxPowerReduced]
alarm 'Synchronization Source' count: 0 [SynchSource]
alarm 'I/O 2 Contact' count: 0 [IO2Contact]
alarm 'Synchronization Status' count: 0 [Synch]
alarm 'Board Vtunes Status' count: 0 [BoardVTunes]
alarm 'TRX Vtunes Status' count: 0 [TrxVTunes]
alarm 'Board Clocks Status' count: 0 [BoardClock]
alarm 'TRX Clocks Status' count: 0 [TrxClock]
alarm 'Board PLLs Lock Status' count: 0 [BoardPllLock]
alarm 'TRX PLLs Lock Status' count: 0 [TrxPllLock]
alarm 'PLD Status' count: 0 [PldFault]
alarm 'PLD<->DSP Chan Status' count: 0 [PldDspComm]
alarm 'RX IFs Status' count: 0 [IFRxGen]
alarm 'Logic Supply Status' count: 0 [LogicSupply]
alarm 'RXs Status' count: 0 [RxGen]
alarm 'RF Channel Noise' count: 0 [RfNoise]
alarm 'Registration to Master' count: 0 [RegMaster]
alarm 'Registration of Slave' count: 0 [RegSlave]
alarm 'Unregistration of Slave' count: 0 [DeregSlave]
alarm 'Loss of Slave' count: 0 [LossSlave]
alarm 'MASTER role' count: 0 [MasterRole]
alarm 'BACKUP Mst Connection' count: 0 [BckMasterConn]
alarm 'DMR Emergency Call' count: 0 [DmrEmerCall]
alarm '1+1 BS ACTIVE State' count: 0 [1Plus1BsActive]
alarm 'Supply Overvoltage' count: 0 [SupplyHigh]
alarm '1+1 BS HOT-SPARE State' count: 0 [1Plus1BsHotSpare]
alarm 'TRX Layer Status' count: 0 [TrxLayer]
alarm 'BS Layer Status' count: 0 [BsLayer]
alarm 'SIP name Resolution' count: 0 [SipNameResolve]
alarm 'Fail to Register to SIP' count: 0 [FailSipReg]
alarm 'Registration to SIP' count: 0 [SipReg]
alarm 'Unregistration from SIP' count: 0 [SipDereg]
alarm 'SIP Server Change' count: 0 [SipServerChange]
alarm 'SIP TRUNK Server' count: 0 [SipTrunk]
alarm 'Supply Undervoltage' count: 0 [SupplyLow]
alarm 'Ethernet Link Status' count: 0 [EthLink]
alarm 'PLD Data Correctness' count: 0 [PldData]
alarm 'DSP Loading/Starting' count: 0 [DspUpAndRun]
alarm 'GNSS Status' count: 0 [Gnss]
# perl centreon_plugins.pl --plugin=network::kairos::snmp::plugin --mode=interfaces --hostname=127.0.0.1 --snmp-community=kairos --snmp-port=1611  --verbose --mode=list-alarms --disco-show
<?xml version="1.0" encoding="utf-8"?>
<data>
  <label instance="1" name="IO1Contact"/>
  <label instance="10" name="Vocoder"/>
  <label instance="11" name="BsTemperature"/>
  <label instance="12" name="TxTemperature"/>
  <label instance="13" name="NoTxPower"/>
  <label instance="14" name="TxPowerLow"/>
  <label instance="15" name="TxPowerHigh"/>
  <label instance="16" name="SWRPower"/>
  <label instance="17" name="ROS"/>
  <label instance="18" name="TxPowerReduced"/>
  <label instance="19" name="SynchSource"/>
  <label instance="2" name="IO2Contact"/>
  <label instance="20" name="Synch"/>
  <label instance="21" name="BoardVTunes"/>
  <label instance="22" name="TrxVTunes"/>
  <label instance="23" name="BoardClock"/>
  <label instance="24" name="TrxClock"/>
  <label instance="25" name="BoardPllLock"/>
  <label instance="26" name="TrxPllLock"/>
  <label instance="27" name="PldFault"/>
  <label instance="28" name="PldDspComm"/>
  <label instance="29" name="IFRxGen"/>
  <label instance="3" name="LogicSupply"/>
  <label instance="30" name="RxGen"/>
  <label instance="31" name="RfNoise"/>
  <label instance="32" name="RegMaster"/>
  <label instance="33" name="RegSlave"/>
  <label instance="34" name="DeregSlave"/>
  <label instance="35" name="LossSlave"/>
  <label instance="36" name="MasterRole"/>
  <label instance="37" name="BckMasterConn"/>
  <label instance="38" name="DmrEmerCall"/>
  <label instance="39" name="1Plus1BsActive"/>
  <label instance="4" name="SupplyHigh"/>
  <label instance="40" name="1Plus1BsHotSpare"/>
  <label instance="41" name="TrxLayer"/>
  <label instance="42" name="BsLayer"/>
  <label instance="43" name="SipNameResolve"/>
  <label instance="44" name="FailSipReg"/>
  <label instance="45" name="SipReg"/>
  <label instance="46" name="SipDereg"/>
  <label instance="47" name="SipServerChange"/>
  <label instance="48" name="SipTrunk"/>
  <label instance="5" name="SupplyLow"/>
  <label instance="6" name="EthLink"/>
  <label instance="7" name="PldData"/>
  <label instance="8" name="DspUpAndRun"/>
  <label instance="9" name="Gnss"/>
</data>

Checklist

  • I have followed the coding style guidelines provided by Centreon
  • I have commented my code, especially hard-to-understand areas of the PR.
  • I have rebased my development branch on the base branch (develop).
  • I have provide data or shown output displaying the result of this code in the plugin area concerned.

@garnier-quentin garnier-quentin requested a review from a team as a code owner January 8, 2026 10:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants