Giter VIP home page Giter VIP logo

interfacetable_v3t's People

Contributors

dgoetz avatar freneticf avatar lazyfrosch avatar mxhash avatar tontonitch avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

interfacetable_v3t's Issues

Monitoring Switch - Cisco SG250-50HP 50-Port - Error

Hi !
Your script does not work with the SG250-50HP 50-Port switch. I have no problem with the others present in my infrastructure.
Here is the error message: UNKNOWN - Not expected empty tree for base-oid "1.3.6.1.2.1.2.2.1.19" (ifOutDiscards, mib IF-MIB)

Can you help me make the necessary changes in your script to make this work?
what do you need ?
Thanks for your help

Empty node list at first page load

Hi,

I use -H and -h for IP-adress and name of the host.
I installed pnp4nagios, so I have the JQery stuff. I need to configure apache access rights correctly there.
With this, I had the problem, that I did not see the hosts in the dropdown, when I opened the Webpage. After clicking on 'go', the names are there. To fix this, I changed the first lines in index.php like this:

<script> $(document).ready(function(){ $("#nodeselect").submit(); }); </script> -- select a node -- So you see the corrct list after the page is initially loaded. Maybe this can be integrated in interfacetable_vt3. Regards Matthias Originally posted by @mdicss in https://github.com//issues/37#issuecomment-429278448

Interface description returned as HEX-STRING

[DEBUG] |main::Get_InterfaceNames| Index=14 Descr="57 41 4E 20 4D 69 6E 69 70 6F 72 74 20 28 49 50" (long cache: 7200) [DEBUG] |main::Get_InterfaceNames| Duplicate interface description detected. Appending the index. Name will be now "57 41 4E 20 4D 69 6E 69 70 6F 72 74 20 28 49 50 (14)" [DEBUG] |main::Get_InterfaceNames| Interface name quite long! (> 40 char.). Name: "57 41 4E 20 4D 69 6E 69 70 6F 72 74 20 28 49 50 (14)" [DEBUG] |main::Get_InterfaceNames| ifName="57 41 4E 20 4D 69 6E 69 70 6F 72 74 20 28 49 50 (14)" (normalized: "57Q2041Q204EQ2020Q204DQ2069Q206EQ2069Q2070Q206FQ2072Q2074Q2020Q2028Q2049Q2050Q20Q2814Q29") [DEBUG] |main::Get_InterfaceNames| Index=19 Descr="76 6D 78 6E 65 74 33 20 45 74 68 65 72 6E 65 74" (long cache: 7200) [DEBUG] |main::Get_InterfaceNames| Duplicate interface description detected. Appending the index. Name will be now "76 6D 78 6E 65 74 33 20 45 74 68 65 72 6E 65 74 (19)" [DEBUG] |main::Get_InterfaceNames| Interface name quite long! (> 40 char.). Name: "76 6D 78 6E 65 74 33 20 45 74 68 65 72 6E 65 74 (19)" [DEBUG] |main::Get_InterfaceNames| ifName="76 6D 78 6E 65 74 33 20 45 74 68 65 72 6E 65 74 (19)" (normalized: "76Q206DQ2078Q206EQ2065Q2074Q2033Q2020Q2045Q2074Q2068Q2065Q2072Q206EQ2065Q2074Q20Q2819Q29")

And directly with snmpwalk:
root@monitorsrv2:~/.snmp# snmpwalk -v 2c -c xxxxx hostname 1.3.6.1.2.1.2.2.1.2 iso.3.6.1.2.1.2.2.1.2.1 = Hex-STRING: 53 6F 66 74 77 61 72 65 20 4C 6F 6F 70 62 61 63 6B 20 49 6E 74 65 72 66 61 63 65 20 31 00 iso.3.6.1.2.1.2.2.1.2.2 = Hex-STRING: 57 41 4E 20 4D 69 6E 69 70 6F 72 74 20 28 4C 32 54 50 29 00 iso.3.6.1.2.1.2.2.1.2.3 = Hex-STRING: 57 41 4E 20 4D 69 6E 69 70 6F 72 74 20 28 53 53 54 50 29 00 iso.3.6.1.2.1.2.2.1.2.4 = Hex-STRING: 57 41 4E 20 4D 69 6E 69 70 6F 72 74 20 28 49 4B 45 76 32 29 00 iso.3.6.1.2.1.2.2.1.2.5 = Hex-STRING: 57 41 4E 20 4D 69 6E 69 70 6F 72 74 20 28 50 50 54 50 29 00 iso.3.6.1.2.1.2.2.1.2.6 = Hex-STRING: 57 41 4E 20 4D 69 6E 69 70 6F 72 74 20 28 50 50 50 4F 45 29 00 iso.3.6.1.2.1.2.2.1.2.7 = Hex-STRING: 57 41 4E 20 4D 69 6E 69 70 6F 72 74 20 28 49 50 29 00 iso.3.6.1.2.1.2.2.1.2.8 = Hex-STRING: 57 41 4E 20 4D 69 6E 69 70 6F 72 74 20 28 49 50 76 36 29 00 iso.3.6.1.2.1.2.2.1.2.9 = Hex-STRING: 57 41 4E 20 4D 69 6E 69 70 6F 72 74 20 28 4E 65

-- include <interface> / --exclude <interface> problem

First I want to thank you for this amazing plugin, and your extrem efforts to provide this complet work project.

The plugin works perfectly, but I have a small issue. I'm testing the plugin on a FortiGate 100E, the commands works perfectly except --include / --exclude < name>

I think the plugin doesn't recognize the name of interfaces and their OIDs, I tried to add MIB files of FortiGate into /usr/share/snmp/mibs, but still doesn't work.

Thank you.

Can't use string ("HostIPAddress") as a HASH ref while "strict refs" in use at /usr/local/interfacetable_v3t/SnmpUtils.pm line 264

Hi together,

I'm facing this error, while I'm using
define command { command_line $USER1$/check_interface_table_v3t.pl -H $HOSTADDRESS$ -C $ARG1$ --v2c -g pnp4nagios -f 2> /tmp/chk_if_error.log }
to print to a log-file.
If I use the command line within the libexec-folder
./check_interface_table_v3t.pl -H Valid_Host_IP -C CorrectKey --v2c -g pnp4nagios -f
everything works fine.
Nagios says "(Return code of 255 is out of bounds)" as Status Information for this explicit service entry.
So I was looking for the matter. The HostIPAddress is as valid as it is accepted via command line.

The problem seems to lie in between "interfacetable_v3t.pl" and "SnmpUtils.pm". But Nagios does call it like me in the command line I think, so I can't figure out whats the matter.

interfacetable_v3t 1.00
Nagios Core Version is 3.4.1
Perl 5.14.2

fix perl regex warning

fix perl regex warning
——————————————————————————————————
$ /usr/lib64/nagios/plugins/check_interface_table_v3t > /dev/null
\1 better written as $1 at /usr/lib64/interfacetable_v3t/SnmpUtils.pm line 743.
\2 better written as $2 at /usr/lib64/interfacetable_v3t/SnmpUtils.pm line 743.
——————————————————————————————————

based on
#32
commit
7131a91

Perfdatafiles Check reports RRD ERRORS FOUND

Hello, I habe Problem. Perfdatafiles Check reports RRD ERRORS FOUND.
Errors come from check_interfacetable_v3t.
These are the files of long interface names.
What can I do? .. .. .../esx01/If_Link_Aggregation_PatientenInternet_OfficeLan_on_switch__vSwitch3._load_balancing_algorithm__source_port_id_hash.xml creating '/var/lib/pnp4nagios/perfdata/ esx01/If_Link_Aggregation_PatientenInternet_OfficeLan_on_switch__vSwitch3._load_balancing_algorithm__source_port_id_hash_If_Link_Aggregation_PatientenInternet_OfficeLan_on_switch__vSwitch3._load_balancing_algorithm__source_port_id_hash__check_interface_table_port__PpsOutDiscard.rrd': DER DATEINAME IST ZU LANG
.../esx01/If_Link_Aggregation_PatientenInternet_SurfLan_on_switch__vSwitch3._load_balancing_algorithm__source_port_id_hash.xml creating '/var/lib/pnp4nagios/perfdata/ esx01/If_Link_Aggregation_PatientenInternet_SurfLan_on_switch__vSwitch3._load_balancing_algorithm__source_port_id_hash_If_Link_Aggregation_PatientenInternet_SurfLan_on_switch__vSwitch3._load_balancing_algorithm__source_port_id_hash__check_interface_table_port__PpsOutDiscard.rrd': DER DATEINAME IST ZU LANG
.../esx02/If_Link_Aggregation_PatientenInternet_SurfLan_on_switch__vSwitch3._load_balancing_algorithm__source_port_id_hash.xml creating '/var/lib/pnp4nagios/perfdata/ esx02/If_Link_Aggregation_PatientenInternet_SurfLan_on_switch__vSwitch3._load_balancing_algorithm__source_port_id_hash_If_Link_Aggregation_PatientenInternet_SurfLan_on_switch__vSwitch3._load_balancing_algorithm__source_port_id_hash__check_interface_table_port__PpsOutDiscard.rrd': DER DATEINAME IST ZU LANG
.../esx02/If_Link_Aggregation_PatientenInternet_OfficeLan_on_switch__vSwitch3._load_balancing_algorithm__source_port_id_hash.xml creating '/var/lib/pnp4nagios/perfdata/ esx02/If_Link_Aggregation_PatientenInternet_OfficeLan_on_switch__vSwitch3._load_balancing_algorithm__source_port_id_hash_If_Link_Aggregation_PatientenInternet_OfficeLan_on_switch__vSwitch3._load_balancing_algorithm__source_port_id_hash__check_interface_table_port__PpsOutDiscard.rrd': DER DATEINAME IST ZU LANG .. .. Thx. Artur

Am 15-Feb-2018 14:22:11 +0100 schrieb [email protected]:

Closed #27.

--
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.


FreeMail powered by mail.de - MEHR SICHERHEIT, SERIOSITÄT UND KOMFORT

Originally posted by @monitorjunkie in #27 (comment)

Add InfluxDB support

Hi,

We are using Icinga2 with InfluxDB as data store engine. Is there any way to use the plugin with InfluxDB?

Thanks

Service name and graph link issue

Based on an email from Jacob:

I am trying to get check_interface_table_v3t work with nagiosxi graphing but having some troubles...
The plugin works and displays the table. It is Just Great!!!

it seems that the issue is that the plugin graphing links the graphs to it's own name of the service...
for instance, if the service name in NagiosXi is "FastEthernet0/0 Bandwidth on r_snif022", when I press on the graph from the interface table plugin, it tries to open the performance graph of a different service name "If_Fa0/0 Performance"...

Do you think I can make it work?
I had the idea of adding the pnp4nagios graphing but am afraid to mess XI's graphing which is currently active and in use...

Undefined offset: 5

I need your help.
My Performance Graph Module PNP in Icinga2 display Error :
"Undefined offset: 5, templates/check_interface_table_global.php (70)"

I have found that, not all RRD files are created and the XML files are not completely or wrong.

-- If_eth0_BitsIn.rrd
-- If_eth0_BitsOut.rrd
-- If_eth0_OperStatus.rrd
-- If_eth0.xml
-- If_lo_BitsIn.rrd
-- If_lo_BitsOut.rrd
-- If_lo_OperStatus.rrd
-- If_lo.xml
-- Interface_global_adminupfree.rrd
-- Interface_global_freeports.rrd
-- Interface_global_ports.rrd
-- Interface_global_uptime.rrd
-- Interface_global_useddelta.rrd
-- Interface_global_watched.rrd
-- Interface_global.xml
-- Interface-Table_time.rrd
-- Interface-Table.xml

Unfortunately, 2 "Interface" XML files are created, instead of just one. (Interface_global.xml and Interface-Table.xml)
Each This file has only 1 section.
The other RRDs entries are missing (freeports, ports, uptime, useddelta, watched)

Interface_global.xml - only Interface_global_adminupfree.rrd
<DATASOURCE> <TEMPLATE>check_interface_table_global</TEMPLATE> <RRDFILE>/var/lib/pnp4nagios/perfdata/Monitor/Interface_global_adminupfree.rrd</RRDFILE> <RRD_STORAGE_TYPE>MULTIPLE</RRD_STORAGE_TYPE>

Interface-Table.xml - only Interface-Table_time.rrd
<DATASOURCE> <TEMPLATE>check_interface_table_global</TEMPLATE> <RRDFILE>/var/lib/pnp4nagios/perfdata/Monitor/Interface-Table_time.rrd</RRDFILE> <RRD_STORAGE_TYPE>MULTIPLE</RRD_STORAGE_TYPE>

Even the if_eth0 … and if_lo … XML files have only one section (If_xxx_BitsOut…)
Also missing are other RRD files (If_xxx_Pkts…) are not available.

I'm working with Icinga2, PNP4Nagios 0.6.25, PNP Module

I’ve already installed check_interface_table_v3t.pl (0.05-1) several times.

I have not found a solution to my problem on the internet
Thx.
monitorjunkie

snmp v3 authentication problem

From tophoune (http://www.tontonitch.com/phpbb/viewtopic.php?f=2&t=3051)

Hello,
I’m using your plugin this plugin for many years now. It has always fulfilled my needs.
But today I have an issue with the snmp v3 authentication with security level AuthPriv.

In console, if I run this command :
sudo ./check_interface_table_v3t.pl -H 1.1.1.1 -l MyUSR -x MYPWD -X MYPASSPHRASE -L md5,aes
The result is : UNKNOWN - Not expected empty value for oid "1.3.6.1.2.1.1.3.0" (sysUpTime, mib RFC1213-MIB)

As a control , I ran this command:
snmpwalk -v 3 -u MyUSR -A MYPWD -a MD5 -x AES -X MYPASSPHRASE 1.1.1.1
the result is: Reason: authorizationError (access denied to that object)

suspecting a failure in the auth process I ran the same command with the security level mentionned:
snmpwalk -v 3 -u MyUSR -A MYPWD -a MD5 -x AES -X MYPASSPHRASE 1.1.1.1 -l AuthPriv
the result is that I can walk along the OIds:

IF-MIB::ifIndex.1 = INTEGER: 1
IF-MIB::ifIndex.2 = INTEGER: 2
IF-MIB::ifIndex.3 = INTEGER: 3
IF-MIB::ifIndex.4 = INTEGER: 4
IF-MIB::ifIndex.5 = INTEGER: 5
IF-MIB::ifIndex.6 = INTEGER: 6
IF-MIB::ifIndex.7 = INTEGER: 7
IF-MIB::ifIndex.8 = INTEGER: 8
IF-MIB::ifDescr.1 = STRING: GigabitEthernet0/0
IF-MIB::ifDescr.2 = STRING: GigabitEthernet0/1

I don ‘t understand why we have to mention the security level in the authentication process, but I suspect that it makes fail the plugin…
Top

Netapp cDOT issue with OnTap 9.3

Use of uninitialized value in concatenation (.) or string at /usr/lib64/nagios/plugins/check_interface_table_v3t line 3486.
Use of uninitialized value in concatenation (.) or string at /usr/lib64/nagios/plugins/check_interface_table_v3t line 3797.

Due to some interfaces now missing from SNMPv2-SMI::enterprises.789.1.22.1.2.1.2

Support configure with perl version 5.26 and newer

Hi
I had problems running 'configure' and 'make install', as there are regular expressions somewhere, that are no longer supported in perl versions beginning with 5.26, see:
https://perldoc.perl.org/5.26.0/perldelta#Unescaped-literal-%22%7B%22-characters-in-regular-expression-patterns-are-no-longer-permissible
As I'm not often using configure and make, I did not yet find the source of the problem. The output of configure is:

...
config.status: creating subst
config.status: creating Makefile
config.status: creating sbin/Makefile
config.status: creating etc/Makefile
config.status: creating lib/Makefile
config.status: creating libexec/Makefile
config.status: creating share/Makefile
Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/@{ <-- HERE prefix}@/ at subst line 110.
Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/@{ <-- HERE prefix}@/ at subst line 110.
Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/@{ <-- HERE prefix}@/ at subst line 110.
Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/@{ <-- HERE prefix}@/ at subst line 110.
Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/@{ <-- HERE prefix}@/ at subst line 110.
Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/@{ <-- HERE prefix}@/ at subst line 110.
Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/@{ <-- HERE prefix}@/ at subst line 110.
Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/@{ <-- HERE prefix}@/ at subst line 110.
...

Directories sbin, lib etc. are then created in the wrong place and files are missing. It would be nice to have this fixed. Are there any plans for new software versions?

Best Regards
Matthias

Brocade SAN Switches Error Counters

From Carsten (http://www.tontonitch.com/phpbb/viewtopic.php?f=3&t=2327)

v 0.5 is great and works on all my devices. For the Brocade SAN switches i miss the rest of the errorcounters beside discard/errors packets. Would be nice to have them in the next version of check_interface_table.

Description:
enc in = Number of encoding errors inside frames received (Rx)
crc err = Number of frames with CRC errors received (Rx)
too shrt = Number of frames shorter than minimum received (Rx).
too long = Number of frames longer than maximum received (Rx).
bad eof = Number of frames with bad end-of-frame delimiters received (Rx).
enc out = Number of encoding error outside of frames received (Rx).
disc c3 = Number of Class 3 frames discarded (Rx). This counter includes the sum of the following class 3 discard counters reported by the portStatsShow command: er_rx_c3_timeout, er_tx_c2_timeout, er_c2_dest_unreach, and er_other_disc.

OIDs:
enc in ".1.3.6.1.4.1.1588.2.1.1.1.6.2.1.21."
crc err ".1.3.6.1.4.1.1588.2.1.1.1.6.2.1.22."
too short ".1.3.6.1.4.1.1588.2.1.1.1.6.2.1.23."
too long ".1.3.6.1.4.1.1588.2.1.1.1.6.2.1.24."
bad eof ".1.3.6.1.4.1.1588.2.1.1.1.6.2.1.25."
enc out ".1.3.6.1.4.1.1588.2.1.1.1.6.2.1.26."
disc c3 ".1.3.6.1.4.1.1588.2.1.1.1.6.2.1.28."

Add support of newer perl versions (i.e. 5.26.2)

Hi,

I have an problem to run the script, unfortunately I don't understand what is the issue

nms@mi-sg3-nagios-01:/usr/local/nagios/libexec$ uname -a
Linux mi-sg3-nagios-01 4.15.0-43-generic #46-Ubuntu SMP Thu Dec 6 14:45:28 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

nms@mi-sg3-nagios-01:/usr/local/nagios/libexec$ ./check_interface_table_v3t.pl -V
Array found where operator expected at ./check_interface_table_v3t.pl line 67, near "@max_plugin_output_length@;"
(Missing operator before @;?)
Global symbol "@max_plugin_output_length" requires explicit package name (did you forget to declare "my @max_plugin_output_length"?) at ./check_interface_table_v3t.pl line 67.
syntax error at ./check_interface_table_v3t.pl line 78, next char @
Can't redeclare "my" in "my" at ./check_interface_table_v3t.pl line 89, near "my"
BEGIN not safe after errors--compilation aborted at ./check_interface_table_v3t.pl line 5534.
nms@mi-sg3-nagios-01:/usr/local/nagios/libexec$

Let me know
Best Regards

Commit ifAdminStatus change

Hello!
I RTFM but i could not find a way to commit ifAdminStatus changes so that there is no more CRITICAL ifAdminStatus.
Any hint?

Filter on interface speed

by proc (http://www.tontonitch.com/phpbb/viewtopic.php?f=3&t=2383)

I would find a feature to filter out interfaces not only based on interface type, but also on current interface speed, very useful. We got many gigabit interfaces that only run in 100Mbps, and we don't find it interesting at all to see that a 100Mbps port is running full. However, when a gigabit link running full, it's more severe.

Module for Icingaweb2

it would be nice to have a ful integration of check_interfacectable_v3t into Icingaweb2.

requested by multiple users

Unable to check Netgear FS726T switch

When checking this switch model the script exits with many error messages like so:

[ERROR] |SnmpUtils::SnmpGetTable| Not expected empty tree for base-oid "1.3.6.1.2.1.31.1.1.1.6"
UNKNOWN - Not expected empty tree for base-oid "1.3.6.1.2.1.31.1.1.1.6" (ifHCInOctets, mib IF-MIB)

When called with the --unisxnmp option the error is different:

Argument "Wrong Type (should be Gauge32 or Unsigned32): 100000000" isn't numeric in numeric eq (==) at /usr/lib/nagios/plugins/check_interface_table_v3t line 2210.

The check string looks like:

/usr/lib/nagios/plugins/check_interface_table_v3t --64bits --alias --default-table-sorting name --htmltablelinktarget _blank --perfdataformat loadonly --perfdataservicedesc interfacetable-generic-snmp --snmp-maxmsgsize 1452 --timeout 40 -2 -C xxxxxxx -H 1.1.1.1 -e serial,vlan -f -h xxxxxx -r --unixsnmp

OS is Debian 11. We are using interfacetable_v3t successfully on numerous different switches, firewalls and linux hosts and it works like a charm, only this Netgear switch won't work.

Can this be solved somehow?

Better handling of EMC DataDomain

Still some issues with virtual interfaces veth, reported with wrong and different speeds with new firmware versions. Related to issue #28, but we need to handle it differently due to differences in each firmware releases.

XML getting to large for pnp4nagios add garbage ^@^@ to XML file

Hi,

I have a problem with pnp4nagios getting issues because XML gets corrupted with "^@^@" in the xml file. I think it's related to the size of the xml. There is one rrd and one xml file per switch interface. Problem is that the xml file for one interface contains the <NAGIOS_PERFDATA> for all interfaces. Then also <NAGIOS_SERVICEPERFDATA> contains all interfaces, so the XML file exceeds 128KB.

Error from pnp4nagios:
XML file "/opt/nagios/pnp4nagios/var/perfdata/sesssw101-vc/If_xe-0_0_23.xml" not parsable.

XML Errors:
Char 0x0 out of allowed range
Premature end of data in tag NAGIOS_CHECK_COMMAND line 163
Premature end of data in tag NAGIOS line 2

At least it seems related to size. Don't see this problem for anything else.

If I change in the XML file:

<NAGIOS_CHECK_COMMAND>check_junos_ex_interface^@^@</NAGIOS_CHECK_COMMAND>

To:

<NAGIOS_CHECK_COMMAND>check_junos_ex_interface</NAGIOS_CHECK_COMMAND>

It works. Meaning removing "^@^@". I guess the addition of the "^@^@" is not interfacetable's error but a side effect of xml getting so large.

Anything that can be done on interfacetable side of things to address this?

Nagios Reporting UNKNOWN - SNMP error: No response from remote host on interfacetable

Good Afternoon all,
I am having an issue with the Interfacetable plugin. I have used this before and it works great. Recently we have upgraded the network to Cisco Catalyst 9300 and 9500's running IOS-XE ver 16.6.5. I was thinking that it was the OS version and platform but after running the command with -vvvvv I am not seeing any errors and seeing the switch return values. I can browse to the service and see that the table had been built when manually executed but will not update when nagios executes the command. Has anyone faced this issue before? Any ideas where to start? Any help is appreciated.

DEBUG-InterfaceTablev3t.txt

Thank You,
VCP

unixsnmp - use of snmpwalk may fail in case of out-of-order OIDs

From the snmpwalk man page:

-Cc Do not check whether the returned OIDs are increasing. Some agents (LaserJets are an example) return OIDs out of order, but can complete the walk anyway. Other agents return OIDs that are out of order and can cause snmpwalk to loop indefinitely. By default, snmpwalk tries to detect this behavior and warns you when it hits an agent acting illegally. Use -Cc to turn off this behaviour.

Need to be checked and fixed in lib

Get values in perf data to use with Nagvis / Weathermap

From spyda46, remoangeloni (http://www.tontonitch.com/phpbb/viewtopic.php?f=3&t=1695)

It would be create if you could send the values of the bpsIn & Out from the extennal web table into perfdata so it can be used with Nagvis Weathermaps and Gadgets

Also the Load In & Load Out so you can see the load percentage

Weather Maps = http://docs.nagvis.org/1.5/en_US/index.html

This would complete an already great plugin from my view of things

Currently the only perfdata for bpsIn & Out are the total counters and this is not good for weathermap usage, it it can just show the values current in the table it would be great

grapherdisplay option added

by debeu (http://www.tontonitch.com/phpbb/viewtopic.php?f=3&t=3050)

thanks for the plugin.
I added the option grapherdisplay to overwrite the hostdiplay argument in grapher url for pnp4nagios (atm only).
Problem is that if you use hostdisplay argument with $hostname$ and you use two services with different options for one host the webpage will overwritte everytime - so you have to use hostdiplay with for example $hostname$- $servicedesc$, but then you grapher url is wrong.

--- check_interface_table_v3t.pl	2016-08-29 12:30:00.520062822 +0200
+++ check_interface_table_v3t-new.pl	2016-08-29 12:57:11.533933707 +0200
@@ -4991,10 +4991,17 @@ sub GenerateInterfaceTableData {
                         $servicename =~ s/[()'"]//g;
                         $servicename =~ s/,/./g;
                         if ($ghOptions{'grapher'} eq  "pnp4nagios") {
-                            $CellContent .= '<a class=\'tips\' ' .
-                                'href="' . $ghOptions{'grapherurl'} . '/index.php/graph?host=' . $ghOptions{'hostdisplay'} . '&srv=' . $servicename . '" ' .
-                                'rel="' . $ghOptions{'grapherurl'} . '/index.php/popup?host=' . $ghOptions{'hostdisplay'} . '&srv=' . $servicename . '">' .
-                                '<img src="../img/chart.png" alt="Trends" /></a>';
+				if ($ghOptions{'grapherdisplay'} eq '') {
+                                    $CellContent .= '<a class=\'tips\' ' .
+                                    'href="' . $ghOptions{'grapherurl'} . '/index.php/graph?host=' . $ghOptions{'hostdisplay'} . '&srv=' . $servicename . '" ' .
+                                    'rel="' . $ghOptions{'grapherurl'} . '/index.php/popup?host=' . $ghOptions{'hostdisplay'} . '&srv=' . $servicename . '">' .
+                                    '<img src="../img/chart.png" alt="Trends" /></a>';
+				} else {
+                                    $CellContent .= '<a class=\'tips\' ' .
+                                    'href="' . $ghOptions{'grapherurl'} . '/index.php/graph?host=' . $ghOptions{'grapherdisplay'} . '&srv=' . $servicename . '" ' .
+                                    'rel="' . $ghOptions{'grapherurl'} . '/index.php/popup?host=' . $ghOptions{'grapherdisplay'} . '&srv=' . $servicename . '">' .
+                                    '<img src="../img/chart.png" alt="Trends" /></a>';
+                                }
                         } elsif ($ghOptions{'grapher'} eq  "nagiosgrapher") {
                             $CellContent .= '<a href="' .
                                 #$ghOptions{'grapherurl'} . '/graphs.cgi?host=' . $ghOptions{'hostdisplay'} . '&srv=' . $servicename . 
@@ -6203,6 +6210,9 @@ sub print_usage () {
     --grapherurl (optional)
         Graphing system url. Default values are:
         Ex: /pnp4nagios
+    --grapherdisplay (optional)
+	Graphing alias for URL
+	Ex: --grapherdisplay HOSTNAME
     --portperfunit (optional)
         In/out traffic in perfdata could be reported in bits (counters) or in bps (calculated value).
         Using bps avoid abnormal load values to be plotted on the graphs.
@@ -6393,6 +6403,7 @@ sub check_options () {
         'perfdataservicedesc=s',                # servicedescription in Nagios/Icinga so that PNP uses the correct name for its files
         'grapher|g=s',                          # graphing system. Can be pnp4nagios, nagiosgrapher, netwaysgrapherv2 or ingraph
         'grapherurl=s',                         # graphing system url. By default, this is adapted for pnp4nagios standard install: /pnp4nagios
+	'grapherdisplay=s',
         #-------- SNMP related ----------#
         'host=s',                               # SNMP host target
         'domain=s',                             # SNMP transport domain
@@ -6491,6 +6502,7 @@ sub check_options () {
         'perfdataservicedesc',      => undef,
         'grapher'                   => "pnp4nagios",
         'grapherurl'                => "/pnp4nagios",
+	'grapherdisplay'	    => '',
         #------- other features ---------#
         'config'                    => '',
         'css'                       => "icinga",             # Used css stylesheet. Can be classic, icinga or nagiosxi.
@@ -6580,6 +6592,9 @@ sub check_options () {
     } else {
         $ghOptions{'hostdisplay'} = "$commandline{hostquery}";
     }
+    if (exists $commandline{grapherdisplay}) {
+       $ghOptions{'grapherdisplay'} = "$commandline{grapherdisplay}";
+    }
     if (exists $commandline{statedir}) {
         $ghOptions{'statedir'} = "$commandline{statedir}";
     }

Netapp cDOT differences for node info

[root@monitorsrv1 ~]# snmpwalk -v 2c -c xxxxx filer 1.3.6.1.4.1.789.1.25.2.1
SNMPv2-SMI::enterprises.789.1.25.2.1.1.70.105.108.101.114.49.45.48.49 = STRING: "Filer1-01"
SNMPv2-SMI::enterprises.789.1.25.2.1.1.70.105.108.101.114.49.45.48.50 = STRING: "Filer1-02"
SNMPv2-SMI::enterprises.789.1.25.2.1.2.70.105.108.101.114.49.45.48.49 = ""
SNMPv2-SMI::enterprises.789.1.25.2.1.2.70.105.108.101.114.49.45.48.50 = ""
SNMPv2-SMI::enterprises.789.1.25.2.1.3.70.105.108.101.114.49.45.48.49 = STRING: "Kayl"
SNMPv2-SMI::enterprises.789.1.25.2.1.3.70.105.108.101.114.49.45.48.50 = STRING: "Kayl"
SNMPv2-SMI::enterprises.789.1.25.2.1.4.70.105.108.101.114.49.45.48.49 = STRING: "FAS8080"
SNMPv2-SMI::enterprises.789.1.25.2.1.4.70.105.108.101.114.49.45.48.50 = STRING: "FAS8080"
SNMPv2-SMI::enterprises.789.1.25.2.1.5.70.105.108.101.114.49.45.48.49 = STRING: "xxxxxxxxxxxxxxx"
SNMPv2-SMI::enterprises.789.1.25.2.1.5.70.105.108.101.114.49.45.48.50 = STRING: "xxxxxxxxxxxxxxx"
SNMPv2-SMI::enterprises.789.1.25.2.1.6.70.105.108.101.114.49.45.48.49 = ""
SNMPv2-SMI::enterprises.789.1.25.2.1.6.70.105.108.101.114.49.45.48.50 = ""
SNMPv2-SMI::enterprises.789.1.25.2.1.7.70.105.108.101.114.49.45.48.49 = Timeticks: (545278973) 63 days, 2:39:49.73
SNMPv2-SMI::enterprises.789.1.25.2.1.7.70.105.108.101.114.49.45.48.50 = Timeticks: (545375243) 63 days, 2:55:52.43
SNMPv2-SMI::enterprises.789.1.25.2.1.8.70.105.108.101.114.49.45.48.49 = INTEGER: 537007413
SNMPv2-SMI::enterprises.789.1.25.2.1.8.70.105.108.101.114.49.45.48.50 = INTEGER: 537007367
SNMPv2-SMI::enterprises.789.1.25.2.1.9.70.105.108.101.114.49.45.48.49 = STRING: "XXXXXXXXXXXXXX"
SNMPv2-SMI::enterprises.789.1.25.2.1.9.70.105.108.101.114.49.45.48.50 = STRING: "XXXXXXXXXXXXXX"
SNMPv2-SMI::enterprises.789.1.25.2.1.10.70.105.108.101.114.49.45.48.49 = STRING: "NetApp"
SNMPv2-SMI::enterprises.789.1.25.2.1.10.70.105.108.101.114.49.45.48.50 = STRING: "NetApp"
SNMPv2-SMI::enterprises.789.1.25.2.1.11.70.105.108.101.114.49.45.48.49 = INTEGER: 1
SNMPv2-SMI::enterprises.789.1.25.2.1.11.70.105.108.101.114.49.45.48.50 = INTEGER: 1
SNMPv2-SMI::enterprises.789.1.25.2.1.12.70.105.108.101.114.49.45.48.49 = INTEGER: 1
SNMPv2-SMI::enterprises.789.1.25.2.1.12.70.105.108.101.114.49.45.48.50 = INTEGER: 1
SNMPv2-SMI::enterprises.789.1.25.2.1.13.70.105.108.101.114.49.45.48.49 = INTEGER: 0
SNMPv2-SMI::enterprises.789.1.25.2.1.13.70.105.108.101.114.49.45.48.50 = INTEGER: 0
SNMPv2-SMI::enterprises.789.1.25.2.1.14.70.105.108.101.114.49.45.48.49 = STRING: "yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy"
SNMPv2-SMI::enterprises.789.1.25.2.1.14.70.105.108.101.114.49.45.48.50 = STRING: "yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy"
SNMPv2-SMI::enterprises.789.1.25.2.1.15.70.105.108.101.114.49.45.48.49 = Timeticks: (545278999) 63 days, 2:39:49.99
SNMPv2-SMI::enterprises.789.1.25.2.1.15.70.105.108.101.114.49.45.48.50 = Timeticks: (545375268) 63 days, 2:55:52.68
SNMPv2-SMI::enterprises.789.1.25.2.1.16.70.105.108.101.114.49.45.48.49 = Timeticks: (900866695) 104 days, 6:24:26.95
SNMPv2-SMI::enterprises.789.1.25.2.1.16.70.105.108.101.114.49.45.48.50 = Timeticks: (1024021152) 118 days, 12:30:11.52
SNMPv2-SMI::enterprises.789.1.25.2.1.17.70.105.108.101.114.49.45.48.49 = INTEGER: 1
SNMPv2-SMI::enterprises.789.1.25.2.1.17.70.105.108.101.114.49.45.48.50 = INTEGER: 1
SNMPv2-SMI::enterprises.789.1.25.2.1.18.70.105.108.101.114.49.45.48.49 = INTEGER: 1
SNMPv2-SMI::enterprises.789.1.25.2.1.18.70.105.108.101.114.49.45.48.50 = INTEGER: 1
SNMPv2-SMI::enterprises.789.1.25.2.1.19.70.105.108.101.114.49.45.48.49 = INTEGER: 0
SNMPv2-SMI::enterprises.789.1.25.2.1.19.70.105.108.101.114.49.45.48.50 = INTEGER: 0
SNMPv2-SMI::enterprises.789.1.25.2.1.20.70.105.108.101.114.49.45.48.49 = STRING: "There are no failed fans."
SNMPv2-SMI::enterprises.789.1.25.2.1.20.70.105.108.101.114.49.45.48.50 = STRING: "There are no failed fans."
SNMPv2-SMI::enterprises.789.1.25.2.1.21.70.105.108.101.114.49.45.48.49 = INTEGER: 0
SNMPv2-SMI::enterprises.789.1.25.2.1.21.70.105.108.101.114.49.45.48.50 = INTEGER: 0
SNMPv2-SMI::enterprises.789.1.25.2.1.22.70.105.108.101.114.49.45.48.49 = STRING: "There are no failed power supplies."
SNMPv2-SMI::enterprises.789.1.25.2.1.22.70.105.108.101.114.49.45.48.50 = STRING: "There are no failed power supplies."
SNMPv2-SMI::enterprises.789.1.25.2.1.23.70.105.108.101.114.49.45.48.49 = STRING: "NetApp Release 8.3.2P9: Fri Jan 06 05:54:05 UTC 2017"
SNMPv2-SMI::enterprises.789.1.25.2.1.23.70.105.108.101.114.49.45.48.50 = STRING: "NetApp Release 8.3.2P9: Fri Jan 06 05:54:05 UTC 2017"
SNMPv2-SMI::enterprises.789.1.25.2.1.24.70.105.108.101.114.49.45.48.49 = STRING: "9.4"
SNMPv2-SMI::enterprises.789.1.25.2.1.24.70.105.108.101.114.49.45.48.50 = STRING: "9.4"
[root@monitorsrv1 ~]#

Error returned by Config::General: current key contains invalid characters: </"HP NC522SFP Dual Port 10GbE Server Adapter!

Issue faced after adding new windows server into the monitoring system.
check_interfacetable_v3t cannot run correctly, failing to write data on disk using Config::General

The first run is ok, the second fails:
Config::General: current key contains invalid characters: </"HP NC522SFP Dual Port 10GbE Server Adapter!

This message comes from Config::General >= 2.57:

2.57 - fix rt.cpan.org#104548, dont allow special chars like newline
or < in keys, which leads to faile when saving.

So, the current version of interfacetable_v3t is not compatible with Config::General >= 2.57.
Working on it.

--perfdataformat packetsonly

by p0nts (http://www.tontonitch.com/phpbb/viewtopic.php?f=3&t=3062)

Would love to have the option to only show packet performance data, the reason why is because our routers have more than 300 ports which is not allowed by the IDO database from icingaweb2 because of the 64kb limitation of the mysql table.

WIth this option I can add 2 services to the server, one with --perfdataformat loadonly and one with --perfdataformat packetsonly to allow all interfaces to be monitored.

Show MAC address in table

by VFox (on previous forum)

Congratulation to this great addon, I like this.
I have one question: how can I show the MAC address in the table view?
It will be very helful - for me.

Thank you in advance for your answers.

Integration in icingaweb2

would be nice to have a better integration when using pnp4nagios, icingaweb2 and icingaweb2-module-pnp

Alias argument failed SNMP Query

HI

I have a problem with "alias" option, when i use it the plugin return the follow error

nagios:/usr/local/nagios/libexec$ ./check_interface_table_v3t.pl -H x.x.x.x -l xxxxxxxxx -x xxxxxxx -X xxxxxxxxxx -L sha,aes --64bits --exclude ALL -r --include Eth-Trunk,XGigabitEthernet,Vlanif --alias --tp='ifOperStatus' -wp 1
UNKNOWN - SNMP error: Received tooBig(1) error-status at error-index 0 <a href=http://x.x.x.x/interfacetable_v3t/tables/172Q2E16Q2E149Q2E2-Interfacetable.html target=_self>[details]</a>

while I tried the same command without "alias" argument works fine

nagios:/usr/local/nagios/libexec$ ./check_interface_table_v3t.pl -H 172.16.149.2 -l xxxxxxxx -x xxxxxxx -X xxxxxxxxx -L sha,aes --64bits --exclude ALL -r --include Eth-Trunk,XGigabitEthernet,Vlanif --tp='ifOperStatus' -wp 1
OK - 59 port(s), 10 free, 5 AdminUp and free <a href=http://x.x.x.x/interfacetable_v3t/tables/172Q2E16Q2E149Q2E2-Interfacetable.html target=_self>[details]</a>

in below the plugin version:

nagios:/usr/local/nagios/libexec$ ./check_interface_table_v3t.pl -V
./check_interface_table_v3t.pl (1.00)
This nagios plugin comes with ABSOLUTELY NO WARRANTY. You may redistribute
copies of this plugin under the terms of the GNU General Public License version 3 (GPLv3).

Could you help me to understand the issue?
Best Regards

monitor an interface of a router on which I have attested an asynchronous connection 30 Mbit / 10 Mbit

Hi,

first of all thanks for the excellent work done with interfacetable. I use your work to successfully monitor several important interfaces of my network.

I tried to read the script but I have difficulty understanding how to modify it to be able to monitor an interface of a router on which I have attested an asynchronous connection 30 Mbit / 10 Mbit.

Can you help me somehow?

thanks
Jacopo Canovi

Reset table procedure doesn't work

I'm having a problem with Reset table procedure. It doesn't work:
Directory /tmp/.ifState/myhost1 not writable No such file or directory

I have checked, and file exists, also permissions are correct.
While re-running with debug, I can see that $VAR1 = undef while Reading data.

Any ideas ?

Add a bootstrap script

Add a bootstrap script, to avoid automake and so on, so the users may easily use the last version of the plugin from github

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.