Viptela SD-WAN - CPU & RAM missing

Hello,

I would like to ask you for your help with Viptela (Cisco) SD-WAN devices. The system resource graph of CPU and RAM does not work for these devices.
image

Memory usage graph:

Processor usage graph:

I tried to delete rrd files for both CPU (poller-perf-processors.rrd) and RAM (poller-perf-mempools.rrd) to create new ones, but doesn’t help.

All other things (e.g. interface utilization) seems to working correctly.

Thank you for your hints.

<!--
READ THIS FIRST:
Questions about *plugins* such as *Weathermap* should be posted in the Plugins category!!
https://community.librenms.org/c/plugins/15
-->

When asking for help and support, please provide as much information as possible. This should include:

  - Steps to reproduce an issue.
  - The output of `./validate.php`

If it's an issue with the WebUI then please consider including a screenshot and the browser version you are using.

If you are having troubles with discovery/polling include the pastebin output of:

./discovery.php -h HOSTNAME -d | ./pbin.sh
./poller.php -h HOSTNAME -r -f -d | ./pbin.sh


If you need to post any text longer than a few lines, please use a pastebin service such as https://p.libren.ms using non-expiring pastes.

LibreNMS Discovery:
https://p.libren.ms/view/df7abed5

LibreNMS Poller:
https://p.libren.ms/view/468e976b

OS: fully updated Oracle Linux 9

Hi,

is this enough? Is there anything else to add for troubleshooting?


https://mibbrowser.online/mibdb_search.php?mib=VIPTELA-OPER-SYSTEM

CPU:
INFRA [root@librenms-test ~]# snmpwalk -v 3 -l authPriv -u <snmpv3_user> -a SHA1 -x AES -A <auth_password> -X <priv_password> 10.128.78.231 1.3.6.1.4.1.41916.11.1.10
SNMPv2-SMI::enterprises.41916.11.1.10.0 = STRING: “0.56

RAM:
INFRA [root@librenms-test ~]# snmpwalk -v 3 -l authPriv -u <snmpv3_user> -a SHA1 -x AES -A <auth_password> -X <priv_password> 10.128.78.231 1.3.6.1.4.1.41916.11.1.18
SNMPv2-SMI::enterprises.41916.11.1.18.0 = STRING: “3412832

Thanks for your info.

Hello guys,

Please nobody know?

INFRA [root@librenms-test ~]# cat /opt/librenms/includes/definitions/discovery/viptela.yaml
modules:
os:
serial: .1.3.6.1.4.1.41916.3.1.1.1.5.1.0
version: .1.3.6.1.4.1.41916.11.1.2.0
hardware: .1.3.6.1.4.1.41916.11.1.47.0

INFRA [root@librenms-test ~]# cat /opt/librenms/includes/definitions/viptela.yaml
os: viptela
group: cisco
text: ‘Viptela’
type: network
icon: cisco
over:
- { graph: device_bits, text: ‘Device Traffic’ }
- { graph: device_processor, text: ‘Processor Usage’ }
- { graph: device_mempool, text: ‘Memory Usage’ }
mib_dir: cisco
discovery:
-
sysObjectID:
- .1.3.6.1.4.1.41916.

Isn’t there a problem? Missing OIDs…

Found also this one (just for memory):
https://gist.github.com/neokjames

Thanks a lot for your help.

This is community led and people help when they can or when they know.

Is there any general procedure or steps (regardless of the Viptela vendor) that I should take to fix the problem and find out the reason why it’s not working?

Is there any documentation for this deeper troubleshooting?

I am proceeding in general, I have discovered an issue, so is there a project leader I can consult with?

Thank you, @laf .

/opt/librenms/includes/definitions/viptela.yaml:

os: viptela
group: cisco
text: 'Viptela'
type: network
icon: cisco
over:
    - { graph: device_bits, text: 'Device Traffic' }
    - { graph: device_processor, text: 'Processor Usage' }
    - { graph: device_mempool, text: 'Memory Usage' }
mib_dir: viptela
discovery:
    -
     	sysObjectID:
            - .1.3.6.1.4.1.41916.

/opt/librenms/includes/definitions/discovery/viptela.yaml:

mib: VIPTELA-OPER-SYSTEM
modules:
    os:
       	serial: .1.3.6.1.4.1.41916.3.1.1.1.5.1.0
        version: .1.3.6.1.4.1.41916.11.1.2.0
        hardware: .1.3.6.1.4.1.41916.11.1.47.0

    processors:
        data:
            -
             	oid: systemStatusCpuIdle
                num_oid: .1.3.6.1.4.1.41916.11.1.16.0

    mempools:
	data:
            -
             	total: .1.3.6.1.4.1.41916.11.1.17.0
                used: .1.3.6.1.4.1.41916.11.1.18.0
                free: .1.3.6.1.4.1.41916.11.1.19.0
                precision: 1024

But I need your help with Processor. At this time, it is not correct, because it is IDLE time of CPU (just for test).

I have totally 3 CPU OIDs as you can see below:

and I can think of two possibilities:

  1. reverse the “systemStatusCpuIdle: 1.3.6.1.4.1.41916.11.1.16” - e.g.:100% - CpuIdle_value = CPU utilization
    or
  2. sum of two OIDs (systemStatusCpuUser + systemStatusCpuSystem)
    1.3.6.1.4.1.41916.11.1.14 + 1.3.6.1.4.1.41916.11.1.15

I got the same result with both.

What do you think?

It is possible to go the way of simplicity and not create “Custom Processor Discovery and Polling” in file /opt/librenms/LibreNMS/OS/Viptela.php?

I’m afraid that my possibilities end here, I’m not a developer and I won’t be able to handle it.

Thank you.

Amazing work Cameron. Well done :slight_smile:

So yes, you are right that this now needs custom PHP code.

Take the contents of this (https://p.libren.ms/view/raw/18b49f70) and replace what’s in /opt/librenms/LibreNMS/OS/Viptela.php with it.

If that all works for you please do create a pull request and share back to the community.

Thank you @laf .

Everything seems to be working fine.

I will create a pull request and share back to the community.

Thank you again for your cooperation.

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.