Page 2 of 2

Re: How to monitor load balancers A10 TH3040s

Posted: Fri Feb 11, 2022 4:16 pm
by echonoc
Hi @pbroste ,

How can I do that? Sorry I am not an expert using nagiosxi. Could you please guide me step by step?

Thank you

Re: How to monitor load balancers A10 TH3040s

Posted: Mon Feb 14, 2022 11:15 am
by pbroste
Hello @echonoc

Thanks for following up on the A10 website states that there is a Thunder device GUI that provides System Administration for device setup for SNMP and Mib/Oid Configuration.

Please check into this and follow up with further questions,
Perry

Re: How to monitor load balancers A10 TH3040s

Posted: Tue Feb 15, 2022 5:38 pm
by echonoc
Hi @pbroste

Thank you for all your help.

Do you have the link? I cannot find the MIB configuration in the gui.

Re: How to monitor load balancers A10 TH3040s

Posted: Wed Feb 16, 2022 1:57 pm
by pbroste
Hello @echonoc

To follow up it appears that out of the box it supports some of the 'net-snmp-mibs'.

We can verify that by using 'snmpwalk' through it:

Code: Select all

snmpwalk -v1 -On -c <yourcommunitystring> <yourhostaddresshere>
You then provided the 'oid_list.txt'

Then to the following Mibs that we found:
  • snmptranslate -Tz -m A10-AX-MIB
  • snmptranslate -Tz -m A10-COMMON-MIB
  • snmptranslate -Tz -m A10-AX-NOTIFICATION-MIB
Example:

Code: Select all

[root@xid mibs]# snmptranslate -Tz -m A10-AX-MIB | grep -i "CPU\|MEM"
"axSysMemory"                   "1.3.6.1.4.1.22610.2.4.1.2"
"axSysMemoryTotal"                      "1.3.6.1.4.1.22610.2.4.1.2.1"
"axSysMemoryUsage"                      "1.3.6.1.4.1.22610.2.4.1.2.2"
"axSysCpu"                      "1.3.6.1.4.1.22610.2.4.1.3"
"axSysCpuNumber"                        "1.3.6.1.4.1.22610.2.4.1.3.1"
"axSysCpuTable"                 "1.3.6.1.4.1.22610.2.4.1.3.2"
"axSysCpuEntry"                 "1.3.6.1.4.1.22610.2.4.1.3.2.1"
"axSysCpuIndex"                 "1.3.6.1.4.1.22610.2.4.1.3.2.1.1"
"axSysCpuUsage"                 "1.3.6.1.4.1.22610.2.4.1.3.2.1.2"
"axSysCpuUsageValue"                    "1.3.6.1.4.1.22610.2.4.1.3.2.1.3"
"axSysAverageCpuUsage"                  "1.3.6.1.4.1.22610.2.4.1.3.3"
"axSysAverageControlCpuUsage"                   "1.3.6.1.4.1.22610.2.4.1.3.4"
"axSysAverageDataCpuUsage"                      "1.3.6.1.4.1.22610.2.4.1.3.5"
"axSysCpuUsageTable"                    "1.3.6.1.4.1.22610.2.4.1.3.6"
"axSysCpuUsageEntry"                    "1.3.6.1.4.1.22610.2.4.1.3.6.1"
"axSysCpuIndexInUsage"                  "1.3.6.1.4.1.22610.2.4.1.3.6.1.1"
"axSysCpuUsagePeriodIndex"                      "1.3.6.1.4.1.22610.2.4.1.3.6.1.2"
"axSysCpuUsageValueAtPeriod"                    "1.3.6.1.4.1.22610.2.4.1.3.6.1.3"
"axVlanCfgMemberTable"                  "1.3.6.1.4.1.22610.2.4.1.7.2.1.2"
"axVlanCfgMemberEntry"                  "1.3.6.1.4.1.22610.2.4.1.7.2.1.2.1"
"axVlanMemberVlanId"                    "1.3.6.1.4.1.22610.2.4.1.7.2.1.2.1.1"
"axVlanMemberIntfId"                    "1.3.6.1.4.1.22610.2.4.1.7.2.1.2.1.2"
"axVlanMemberTagged"                    "1.3.6.1.4.1.22610.2.4.1.7.2.1.2.1.3"
"axServiceGroupMember"                  "1.3.6.1.4.1.22610.2.4.3.3.3"
"axServiceGroupMemberTable"                     "1.3.6.1.4.1.22610.2.4.3.3.3.1"
"axServiceGroupMemberEntry"                     "1.3.6.1.4.1.22610.2.4.3.3.3.1.1"
"axServiceGroupNameInMember"                    "1.3.6.1.4.1.22610.2.4.3.3.3.1.1.1"
"axServiceGroupMemberAddrType"                  "1.3.6.1.4.1.22610.2.4.3.3.3.1.1.2"
"axServerNameInServiceGroupMember"                      "1.3.6.1.4.1.22610.2.4.3.3.3.1.1.3"
"axServerPortNumInServiceGroupMember"                   "1.3.6.1.4.1.22610.2.4.3.3.3.1.1.4"
"axServerPortPriorityInServiceGroupMember"                      "1.3.6.1.4.1.22610.2.4.3.3.3.1.1.5"
"axServerPortStatusInServiceGroupMember"                        "1.3.6.1.4.1.22610.2.4.3.3.3.1.1.6"
"axServiceGroupMemberStat"                      "1.3.6.1.4.1.22610.2.4.3.3.4"
"axServiceGroupMemberStatTable"                 "1.3.6.1.4.1.22610.2.4.3.3.4.1"
"axServiceGroupMemberStatEntry"                 "1.3.6.1.4.1.22610.2.4.3.3.4.1.1"
"axServiceGroupMemberStatName"                  "1.3.6.1.4.1.22610.2.4.3.3.4.1.1.1"
"axServiceGroupMemberStatAddrType"                      "1.3.6.1.4.1.22610.2.4.3.3.4.1.1.2"
"axServerNameInServiceGroupMemberStat"                  "1.3.6.1.4.1.22610.2.4.3.3.4.1.1.3"
"axServerPortNumInServiceGroupMemberStat"                       "1.3.6.1.4.1.22610.2.4.3.3.4.1.1.4"
"axServiceGroupMemberStatPktsIn"                        "1.3.6.1.4.1.22610.2.4.3.3.4.1.1.5"
"axServiceGroupMemberStatBytesIn"                       "1.3.6.1.4.1.22610.2.4.3.3.4.1.1.6"
"axServiceGroupMemberStatPktsOut"                       "1.3.6.1.4.1.22610.2.4.3.3.4.1.1.7"
"axServiceGroupMemberStatBytesOut"                      "1.3.6.1.4.1.22610.2.4.3.3.4.1.1.8"
"axServiceGroupMemberStatPersistConns"                  "1.3.6.1.4.1.22610.2.4.3.3.4.1.1.9"
"axServiceGroupMemberStatTotConns"                      "1.3.6.1.4.1.22610.2.4.3.3.4.1.1.10"
"axServiceGroupMemberStatCurConns"                      "1.3.6.1.4.1.22610.2.4.3.3.4.1.1.11"
"axServerPortStatusInServiceGroupMemberStat"                    "1.3.6.1.4.1.22610.2.4.3.3.4.1.1.12"
"axServiceGroupMemberStatTotalL7Reqs"                   "1.3.6.1.4.1.22610.2.4.3.3.4.1.1.13"
"axServiceGroupMemberStatTotalCurrL7Reqs"                       "1.3.6.1.4.1.22610.2.4.3.3.4.1.1.14"
"axServiceGroupMemberStatTotalSuccL7Reqs"                       "1.3.6.1.4.1.22610.2.4.3.3.4.1.1.15"
"axServiceGroupMemberStatResponseTime"                  "1.3.6.1.4.1.22610.2.4.3.3.4.1.1.16"
"axConnReuseStatCpuIndex"                       "1.3.6.1.4.1.22610.2.4.3.5.7.1.1"
"axFastHttpProxyStatCpuIndex"                   "1.3.6.1.4.1.22610.2.4.3.6.18.1.1"
"axHttpProxyStatCpuIndex"                       "1.3.6.1.4.1.22610.2.4.3.7.18.1.1"
"axTcpProxyStatCpuIndex"                        "1.3.6.1.4.1.22610.2.4.3.8.10.1.1"
"axTcpProxyStatMemAlloc"                        "1.3.6.1.4.1.22610.2.4.3.8.10.1.14"
"axSslStatSSLMemUsage"                  "1.3.6.1.4.1.22610.2.4.3.9.5"
"axSslStatSSLNoHWContextMem"                    "1.3.6.1.4.1.22610.2.4.3.9.8"
"axNetStatCpuIndex"                     "1.3.6.1.4.1.22610.2.4.3.11.100.1.1"
"axMemoryUsageHigh"                     "1.3.6.1.4.1.22610.2.4.3.12.2.1.14"
"axSystemControlCpuHigh"                        "1.3.6.1.4.1.22610.2.4.3.12.2.1.18"
"axSystemDataCpuHigh"                   "1.3.6.1.4.1.22610.2.4.3.12.2.1.19"
"axSmtpProxyStatCpuIndex"                       "1.3.6.1.4.1.22610.2.4.3.13.19.1.1"
"axPersistentStatCpuIndex"                      "1.3.6.1.4.1.22610.2.4.3.15.11.1.1"
"axSwitchStatCpuIndex"                  "1.3.6.1.4.1.22610.2.4.3.16.31.1.1"
"axIpNatLsnTrafficTcpUserQuotasExceeded"                        "1.3.6.1.4.1.22610.2.4.3.18.4.1.4.12"
"axSessionGlobalStatNonTcpUdpIPSession"                 "1.3.6.1.4.1.22610.2.4.3.19.1.4"
Took your 'oid_list.txt' and ran it against the oids found in the Mibs provided
for d in `cat oid_list.txt | awk -F " = " '{print $1}' | sed 's/^.//'` ; do grep -E $d a10translatelist.txt; done
We see no oid's from your 'snmpwalk' that match up with the oid's in the 'snmptranslate'.

So a lot of snmp mib writers rely on the net-snmp that already do the heavy lifting, which we take advantage of and use the plugin listed below (to try it, I've seen it work against a wide-range of devices) or by using the Network Switch / Router Wizard. Or if those devices have specific OIDs for CPU memory they would have to use the SNMP Walk wizard with those OIDs.

Want to have you try run with this plugin:

Code: Select all

yum install perl-JSON
wget https://labs.consol.de/assets/downloads/nagios/check_nwc_health-10.0.0.1.tar.gz
tar zxf check_nwc_health-10.0.0.1.tar.gz
cd check_nwc_health-10.0.0.1
./configure
make all
make install
Then test it out against the device:
For SNMP v2c:

/usr/local/nagios/libexec/check_nwc_health --hostname X.X.X.X -t 60 --community 'yourcommunity' --mode cpu-load
/usr/local/nagios/libexec/check_nwc_health --hostname X.X.X.X -t 60 --community 'yourcommunity' --mode hardware-health
/usr/local/nagios/libexec/check_nwc_health --hostname X.X.X.X -t 60 --community 'yourcommunity' --mode memory-usage
/usr/local/nagios/libexec/check_nwc_health --hostname X.X.X.X -t 60 --community 'yourcommunity' --mode disk-usage
/usr/local/nagios/libexec/check_nwc_health --hostname X.X.X.X -t 60 --community 'yourcommunity' --mode interface-usage
/usr/local/nagios/libexec/check_nwc_health --hostname X.X.X.X -t 60 --community 'yourcommunity' --mode interface-errors

For SNMP v3:

/usr/local/nagios/libexec/check_nwc_health --hostname X.X.X.X -t 60 --protocol 3 --username 'snmpv3user' --authprotocol sha --authpassword 'authPass' --privprotocol aes --privpassword 'privPass' --mode cpu-load
/usr/local/nagios/libexec/check_nwc_health --hostname X.X.X.X -t 60 --protocol 3 --username 'snmpv3user' --authprotocol sha --authpassword 'authPass' --privprotocol aes --privpassword 'privPass' --mode hardware-health
/usr/local/nagios/libexec/check_nwc_health --hostname X.X.X.X -t 60 --protocol 3 --username 'snmpv3user' --authprotocol sha --authpassword 'authPass' --privprotocol aes --privpassword 'privPass' --mode memory-usage
/usr/local/nagios/libexec/check_nwc_health --hostname X.X.X.X -t 60 --protocol 3 --username 'snmpv3user' --authprotocol sha --authpassword 'authPass' --privprotocol aes --privpassword 'privPass' --mode disk-usage
/usr/local/nagios/libexec/check_nwc_health --hostname X.X.X.X -t 60 --protocol 3 --username 'snmpv3user' --authprotocol sha --authpassword 'authPass' --privprotocol aes --privpassword 'privPass' --mode interface-usage
/usr/local/nagios/libexec/check_nwc_health --hostname X.X.X.X -t 60 --protocol 3 --username 'snmpv3user' --authprotocol sha --authpassword 'authPass' --privprotocol aes --privpassword 'privPass' --mode interface-errors
Let us know how that looks.

Thanks,
Perry

Re: How to monitor load balancers A10 TH3040s

Posted: Wed Feb 23, 2022 6:09 pm
by echonoc
Hi @ pbroste
I could download the plugin but when I install perl_JSON I am getting this:
install perl-JSON.PNG
Not sure if thrre is another way to do this

Re: How to monitor load balancers A10 TH3040s

Posted: Thu Feb 24, 2022 2:23 pm
by pbroste
Hello @echonoc

Appears that AppStream and Open Fusion repositories contain the perl-json package. You can add the Open Fusion repository if you wish.

Thanks,
Perry

Re: How to monitor load balancers A10 TH3040s

Posted: Tue Mar 29, 2022 10:39 am
by echonoc
Hi @pbroste

We could install the perl-JSON but when we run the command you provided me it goes to timeout:
check_nwc_health Danny.PNG
Do you know what can I do?

Thank you.

Re: How to monitor load balancers A10 TH3040s

Posted: Tue Mar 29, 2022 12:53 pm
by pbroste
Hello @echonoc

Thanks for following up, appears that the 'check_nwc_health' check command is not able to connect to your host '192.168.200.24' or we are not receiving a reply.

What do you get when we add '--verbose' to the command:

Code: Select all

./check_nwc_health --hostname 192.168.200.24 -t 60 --community 'yourkeyhere' --mode memory-usage --verbose
or

Code: Select all

./check_nwc_health --hostname 192.168.200.24 -t 60 --community 'yourkeyhere' --mode memory-usage -vvv
Also a good suggestion to run a tcpdump to capture the pcap output results to see what is going on. Example:

Code: Select all

tcpdump -s 0 -w output.pcap

Thanks,
Perry