Skip to main content

Sonus SBC SNMP

Pack Assets​

Templates​

The Centreon Monitoring Connector Sonus SBC brings a host template:

  • Net-Sonus-Sbc-SNMP-custom-custom

It brings the following service templates:

Service AliasService TemplateService DescriptionDefaultDiscovery
SwapNet-Sonus-Sbc-Swap-SNMPCheck the rate of utilization of SWAP memory on the SonusX
MemoryNet-Sonus-Sbc-Memory-SNMPCheck the memory usage on the Sonus SBC equipmentX
LoadNet-Sonus-Sbc-Load-SNMPCheck the load average of the equipmentX
InterfacesNet-Sonus-Sbc-Interfaces-SNMPCheck interfacesXX
Dsp-StatisticsNet-Sonus-Sbc-Dsp-Statistics-SNMPCheck the statistics related to the digital signal processing module of the SBC SonusX
DisksNet-Sonus-Sbc-Disks-SNMPCheck storage usageX
Cpu-DetailedNet-Sonus-Sbc-Cpu-Detailed-SNMPCheck the rate of utilization of CPU for the machine. This check can give further details on its utilizationX
ChannelsNet-Sonus-Sbc-Channels-SNMPCheck state and status of channels configured on the equipmentX
Call-StatisticsNet-Sonus-Sbc-Call-Statistics-SNMPCheck statistics of calls managed through this equipmentX
CpuNet-Sonus-Sbc-Cpu-SNMPCheck the rate of utilization of CPU for the machine. This check can give the average CPU utilization rate and the rate per CPU for multi-core CPU

Default services are automatically created when the host template is applied.

Services templates with the Discovery field are linked to a service discovery rule.

Discovery rules​

Rule NameDescription
Net-Sonus-Sbc-SNMP-Interface-NameDiscover network interfaces and monitor bandwidth utilization

More information about discovering services automatically is available on the dedicated page and in the following chapter.

Collected metrics & status​

Metric NameUnit
port_id#port.calls.current.count
port_id#port.calls.total.count
port_id#port.calls.connected.count
port_id#port.calls.refused.count
port_id#port.calls.errored.count
port_id#port.calls.blocked.count

Prerequisites​

SNMP Configuration​

To use this pack, the SNMP service must be properly configured on your equipment.

Network flow​

The target server must be reachable from the Centreon poller on the UDP/161 SNMP port.

Setup​

Monitoring Pack​

If the platform uses an online license, you can skip the package installation instruction below as it is not required to have the pack displayed within the Configuration > Monitoring Connector Manager menu. If the platform uses an offline license, install the package on the central server with the command corresponding to the operating system's package manager:

dnf install centreon-pack-network-sonus-sbc-snmp

Whatever the license type (online or offline), install the Sonus SBC Pack through the Configuration > Monitoring Connector Manager menu.

Plugin​

Since Centreon 22.04, you can benefit from the 'Automatic plugin installation' feature. When this feature is enabled, you can skip the installation part below.

You still have to manually install the plugin on the poller(s) when:

  • Automatic plugin installation is turned off
  • You want to run a discovery job from a poller that doesn't monitor any resource of this kind yet

More information in the Installing the plugin section.

Use the commands below according to your operating system's package manager:

dnf install centreon-plugin-Network-Sonus-SBC-Snmp

Configuration​

Host​

  1. Log into Centreon and add a new host through Configuration > Hosts.
  2. Fill the Name, Alias & IP Address/DNS fields according to your ressource settings.
  3. Apply the Net-Sonus-Sbc-SNMP-custom-custom template to the host
  4. Once the template is applied, fill in the corresponding macros. Some macros are mandatory.
MandatoryMacroDescriptionDefault
SNMPEXTRAOPTIONSAny extra option you may want to add to every command line (eg. a --verbose flag)

How to check in the CLI that the configuration is OK and what are the main options for?​

Once the plugin is installed, log into your Centreon poller's CLI using the centreon-engine user account (su - centreon-engine) and test the plugin by running the following command:

/usr/lib/centreon/plugins/centreon_sonus_sbc_snmp.pl \
--plugin=network::sonus::sbc::snmp::plugin \
--mode=channels \
--hostname=10.0.0.1 \
--snmp-version='2c' \
--snmp-community='my-snmp-community' \
--filter-shelf-id=1 \
--filter-port-id=1 \
--verbose

The expected command output is shown below:

OK: All channels are ok | 'channels.total.count'=40;;;0; 'channels.outofservice.count'=0;;;0; 'channels.idle.count'=40;;;0; 'channels.pending.count'=0;;;0; 'channels.waiting_for_route.count'=0;;;0; 'channels.action_list.count'=0;;;0; 'channels.waiting_for_digits.count'=0;;;0; 'channels.remote_setup.count'=0;;;0; 'channels.peer_setup.count'=0;;;0; 'channels.alerting.count'=0;;;0; 'channels.inband_info.count'=0;;;0; 'channels.connected.count'=0;;;0; 'channels.tone_generation.count'=0;;;0; 'channels.releasing.count'=0;;;0; 'channels.aborting.count'=0;;;0; 'channels.resetting.count'=0;;;0; 'channels.up.count'=0;;;0; 'channels.down.count'=0;;;0; 'shelf1~slot0~port1~channel1#channel.lifetime.seconds'=371s;;;0; 'shelf1~slot0~port1~channel10#channel.lifetime.seconds'=856s;;;0; 'shelf1~slot0~port1~channel11#channel.lifetime.seconds'=961s;;;0; 'shelf1~slot0~port1~channel12#channel.lifetime.seconds'=461s;;;0; 'shelf1~slot0~port1~channel13#channel.lifetime.seconds'=667s;;;0; 'shelf1~slot0~port1~channel14#channel.lifetime.seconds'=330s;;;0; 'shelf1~slot0~port1~channel15#channel.lifetime.seconds'=489s;;;0; 'shelf1~slot0~port1~channel16#channel.lifetime.seconds'=797s;;;0; 'shelf1~slot0~port1~channel17#channel.lifetime.seconds'=1436s;;;0; 'shelf1~slot0~port1~channel18#channel.lifetime.seconds'=1029s;;;0; 'shelf1~slot0~port1~channel19#channel.lifetime.seconds'=405s;;;0; 'shelf1~slot0~port1~channel2#channel.lifetime.seconds'=1559s;;;0; 'shelf1~slot0~port1~channel20#channel.lifetime.seconds'=618s;;;0; 'shelf1~slot0~port1~channel21#channel.lifetime.seconds'=929s;;;0; 'shelf1~slot0~port1~channel22#channel.lifetime.seconds'=807s;;;0; 'shelf1~slot0~port1~channel23#channel.lifetime.seconds'=748s;;;0; 'shelf1~slot0~port1~channel24#channel.lifetime.seconds'=767s;;;0; 'shelf1~slot0~port1~channel25#channel.lifetime.seconds'=783s;;;0; 'shelf1~slot0~port1~channel26#channel.lifetime.seconds'=703s;;;0; 'shelf1~slot0~port1~channel27#channel.lifetime.seconds'=1293s;;;0; 'shelf1~slot0~port1~channel28#channel.lifetime.seconds'=2405s;;;0; 'shelf1~slot0~port1~channel29#channel.lifetime.seconds'=1371s;;;0; 'shelf1~slot0~port1~channel3#channel.lifetime.seconds'=1701s;;;0; 'shelf1~slot0~port1~channel30#channel.lifetime.seconds'=653s;;;0; 'shelf1~slot0~port1~channel31#channel.lifetime.seconds'=400s;;;0; 'shelf1~slot0~port1~channel32#channel.lifetime.seconds'=876s;;;0; 'shelf1~slot0~port1~channel33#channel.lifetime.seconds'=780s;;;0; 'shelf1~slot0~port1~channel34#channel.lifetime.seconds'=2461s;;;0; 'shelf1~slot0~port1~channel35#channel.lifetime.seconds'=1382s;;;0; 'shelf1~slot0~port1~channel36#channel.lifetime.seconds'=1595s;;;0; 'shelf1~slot0~port1~channel37#channel.lifetime.seconds'=2531s;;;0; 'shelf1~slot0~port1~channel38#channel.lifetime.seconds'=1604s;;;0; 'shelf1~slot0~port1~channel39#channel.lifetime.seconds'=2160s;;;0; 'shelf1~slot0~port1~channel4#channel.lifetime.seconds'=340s;;;0; 'shelf1~slot0~port1~channel40#channel.lifetime.seconds'=1487s;;;0; 'shelf1~slot0~port1~channel5#channel.lifetime.seconds'=1130s;;;0; 'shelf1~slot0~port1~channel6#channel.lifetime.seconds'=2739s;;;0; 'shelf1~slot0~port1~channel7#channel.lifetime.seconds'=1688s;;;0; 'shelf1~slot0~port1~channel8#channel.lifetime.seconds'=1909s;;;0; 'shelf1~slot0~port1~channel9#channel.lifetime.seconds'=336s;;;0;
channel '1/0/1/1' oper status: idle, lifetime: 371 seconds
channel '1/0/1/10' oper status: idle, lifetime: 856 seconds
channel '1/0/1/11' oper status: idle, lifetime: 961 seconds
channel '1/0/1/12' oper status: idle, lifetime: 461 seconds
channel '1/0/1/13' oper status: idle, lifetime: 667 seconds
channel '1/0/1/14' oper status: idle, lifetime: 330 seconds
channel '1/0/1/15' oper status: idle, lifetime: 489 seconds
channel '1/0/1/16' oper status: idle, lifetime: 797 seconds
channel '1/0/1/17' oper status: idle, lifetime: 1436 seconds
channel '1/0/1/18' oper status: idle, lifetime: 1029 seconds
channel '1/0/1/19' oper status: idle, lifetime: 405 seconds
channel '1/0/1/2' oper status: idle, lifetime: 1559 seconds
channel '1/0/1/20' oper status: idle, lifetime: 618 seconds
channel '1/0/1/21' oper status: idle, lifetime: 929 seconds
channel '1/0/1/22' oper status: idle, lifetime: 807 seconds
channel '1/0/1/23' oper status: idle, lifetime: 748 seconds
channel '1/0/1/24' oper status: idle, lifetime: 767 seconds
channel '1/0/1/25' oper status: idle, lifetime: 783 seconds
channel '1/0/1/26' oper status: idle, lifetime: 703 seconds
channel '1/0/1/27' oper status: idle, lifetime: 1293 seconds
channel '1/0/1/28' oper status: idle, lifetime: 2405 seconds
channel '1/0/1/29' oper status: idle, lifetime: 1371 seconds
channel '1/0/1/3' oper status: idle, lifetime: 1701 seconds
channel '1/0/1/30' oper status: idle, lifetime: 653 seconds
channel '1/0/1/31' oper status: idle, lifetime: 400 seconds
channel '1/0/1/32' oper status: idle, lifetime: 876 seconds
channel '1/0/1/33' oper status: idle, lifetime: 780 seconds
channel '1/0/1/34' oper status: idle, lifetime: 2461 seconds
channel '1/0/1/35' oper status: idle, lifetime: 1382 seconds
channel '1/0/1/36' oper status: idle, lifetime: 1595 seconds
channel '1/0/1/37' oper status: idle, lifetime: 2531 seconds
channel '1/0/1/38' oper status: idle, lifetime: 1604 seconds
channel '1/0/1/39' oper status: idle, lifetime: 2160 seconds
channel '1/0/1/4' oper status: idle, lifetime: 340 seconds
channel '1/0/1/40' oper status: idle, lifetime: 1487 seconds
channel '1/0/1/5' oper status: idle, lifetime: 1130 seconds
channel '1/0/1/6' oper status: idle, lifetime: 2739 seconds
channel '1/0/1/7' oper status: idle, lifetime: 1688 seconds
channel '1/0/1/8' oper status: idle, lifetime: 1909 seconds
channel '1/0/1/9' oper status: idle, lifetime: 336 seconds

Available modes​

All available modes can be displayed by adding the --list-mode parameter to the command:

/usr/lib/centreon/plugins/centreon_sonus_sbc_snmp.pl \
--plugin=network::sonus::sbc::snmp::plugin \
--list-mode

The plugin brings the following modes:

ModeTemplate
call-statisticsNet-Sonus-Sbc-Call-Statistics-SNMP
channelsNet-Sonus-Sbc-Channels-SNMP
cpuNet-Sonus-Sbc-Cpu-SNMP
cpu-detailedNet-Sonus-Sbc-Cpu-Detailed-SNMP
dsp-statsNet-Sonus-Sbc-Dsp-Statistics-SNMP
interfacesNet-Sonus-Sbc-Interfaces-SNMP
list-interfacesUsed for service discovery
loadNet-Sonus-Sbc-Load-SNMP
memoryNet-Sonus-Sbc-Memory-SNMP
storageNet-Sonus-Sbc-Disks-SNMP
swapNet-Sonus-Sbc-Swap-SNMP

Available options​

Global options​

All global options are listed here:

OptionDescriptionType
--modeChoose a mode.Global
--dyn-modeSpecify a mode with the path (separated by '::').Global
--list-modeList available modes.Global
--mode-versionCheck minimal version of mode. If not, unknown error.Global
--versionDisplay plugin version.Global
--pass-managerUse a password manager.Global
--verboseDisplay long output.Output
--debugDisplay also debug messages.Output
--filter-perfdataFilter perfdata that match the regexp.Output
--filter-perfdata-advAdvanced perfdata filter. Eg: --filter-perfdata-adv='not (%(value) == 0 and %(max) eq "")'Output
--explode-perfdata-maxPut max perfdata (if it exist) in a specific perfdata (without values: same with '_max' suffix) (Multiple options)Output
--change-perfdata --extend-perfdataChange or extend perfdata. Syntax: --extend-perfdata=searchlabel,newlabel,target[,[newuom],[min],[m ax]] Common examples: Change storage free perfdata in used: --change-perfdata=free,used,invert() Change storage free perfdata in used: --change-perfdata=used,free,invert() Scale traffic values automaticaly: --change-perfdata=traffic,,scale(auto) Scale traffic values in Mbps: --change-perfdata=traffic_in,,scale(Mbps),mbps Change traffic values in percent: --change-perfdata=traffic_in,,percent()Output
--extend-perfdata-groupExtend perfdata from multiple perfdatas (methods in target are: min, max, average, sum) Syntax: --extend-perfdata-group=searchlabel,newlabel,target[,[newuom],[m in],[max]] Common examples: Sum wrong packets from all interfaces (with interface need --units-errors=absolute): --extend-perfdata-group=',packets_wrong,sum(packets_(discard |error)_(in|out))' Sum traffic by interface: --extend-perfdata-group='traffic_in_(.*),traffic_$1,sum(traf fic_(in|out)_$1)'Output
--change-short-output --change-long-outputChange short/long output display: --change-short-output=pattern~replace~modifierOutput
--change-exitChange exit code: --change-exit=unknown=criticalOutput
--range-perfdataChange perfdata range thresholds display: 1 = start value equals to '0' is removed, 2 = threshold range is not display.Output
--filter-uomFilter UOM that match the regexp.Output
--opt-exitOptional exit code for an execution error (i.e. wrong option provided, SSH connection refused, timeout, etc) (Default: unknown).Output
--output-ignore-perfdataRemove perfdata from output.Output
--output-ignore-labelRemove label status from output.Output
--output-xmlDisplay output in XML format.Output
--output-jsonDisplay output in JSON format.Output
--output-openmetricsDisplay metrics in OpenMetrics format.Output
--output-fileWrite output in file (can be used with json and xml options)Output
--disco-formatDisplay discovery arguments (if the mode manages it).Output
--disco-showDisplay discovery values (if the mode manages it).Output
--float-precisionSet the float precision for thresholds (Default: 8).Output
--source-encodingSet encoding of monitoring sources (In some case. Default: 'UTF-8').Output
--hostnameHostname to query (required).Snmp
--snmp-communityRead community (defaults to public).Snmp
--snmp-versionVersion: 1 for SNMP v1 (default), 2 for SNMP v2c, 3 for SNMP v3.Snmp
--snmp-portPort (default: 161).Snmp
--snmp-timeoutTimeout in secondes (default: 1) before retries.Snmp
--snmp-retriesSet the number of retries (default: 5) before failure.Snmp
--maxrepetitionsMax repetitions value (default: 50) (only for SNMP v2 and v3).Snmp
--subsetleefHow many oid values per SNMP request (default: 50) (for get_leef method. Be cautious when you set it. Prefer to let the default value).Snmp
--snmp-autoreduceAuto reduce SNMP request size in case of SNMP errors (By default, the divisor is 2).Snmp
--snmp-force-getnextUse snmp getnext function (even in snmp v2c and v3).Snmp
--snmp-usernameSecurity name (only for SNMP v3).Snmp
--authpassphraseAuthentication protocol pass phrase.Snmp
--authprotocolAuthentication protocol: MD5|SHA. Since net-snmp 5.9.1: SHA224|SHA256|SHA384|SHA512.Snmp
--privpassphrasePrivacy protocol pass phraseSnmp
--privprotocolPrivacy protocol: DES|AES. Since net-snmp 5.9.1: AES192|AES192C|AES256|AES256C.Snmp
--contextnameContext nameSnmp
--contextengineidContext engine IDSnmp
--securityengineidSecurity engine IDSnmp
--snmp-errors-exitExit code for SNMP Errors (default: unknown)Snmp
--snmp-tls-transportTLS Transport communication used (can be: 'dtlsudp', 'tlstcp').Snmp
--snmp-tls-our-identityOur X.509 identity to use, which should either be a fingerprint or the filename that holds the certificate.Snmp
--snmp-tls-their-identityThe remote server's identity to connect to, specified as either a fingerprint or a file name. Either this must be specified, or the hostname below along with a trust anchor.Snmp
--snmp-tls-their-hostnameThe remote server's hostname that is expected. If their certificate was signed by a CA then their hostname presented in the certificate must match this value or the connection fails to be established (to avoid man-in-the-middle attacks).Snmp
--snmp-tls-trust-certA trusted certificate to use as trust anchor (like a CA certificate) for verifying a remote server's certificate. If a CA certificate is used to validate a certificate then the TheirHostname parameter must also be specified to ensure their presented hostname in the certificate matches.Snmp

Modes options​

All modes specific options are listed here:

OptionDescriptionType
--memcachedMemcached server to use (only one server).Retention
--redis-serverRedis server to use (only one server). SYntax: address[:port]Retention
--redis-attributeSet Redis Options (--redis-attribute="cnx_timeout=5").Retention
--redis-dbSet Redis database index.Retention
--failback-fileFailback on a local file if redis connection failed.Retention
--memexpirationTime to keep data in seconds (Default: 86400).Retention
--statefile-dirDirectory for statefile (Default: '/var/lib/centreon/centplugins').Retention
--statefile-suffixAdd a suffix for the statefile name (Default: '').Retention
--statefile-concat-cwdConcat current working directory with option '--statefile-dir'. Useful on Windows when plugin is compiled.Retention
--statefile-formatFormat used to store cache (can be: 'dumper', 'storable', 'json').Retention
--statefile-keyKey to encrypt/decrypt cache.Retention
--statefile-cipherCipher to encrypt cache (Default: 'AES').Retention
--warning- --critical-Thresholds. Can be: 'current', 'total', 'connected', 'refused', 'errored', 'blocked'.Mode

All available options for a given mode can be displayed by adding the --help parameter to the command:

/usr/lib/centreon/plugins/centreon_sonus_sbc_snmp.pl \
--plugin=network::sonus::sbc::snmp::plugin \
--mode=channels \
--help

Troubleshooting​

Please find the troubleshooting documentation for Centreon Plugins typical issues.