lausser / check_nwc_health

nwc = network component. This plugin checks lots of aspects of routers, switches, wlan controllers, firewalls,.....
http://labs.consol.de/nagios/check_nwc_health
GNU General Public License v2.0
147 stars 87 forks source link

Support for MikroTik RouterOS #270

Open xeiss opened 3 years ago

xeiss commented 3 years ago

Support for MikroTik RouterOS would be awesome. At the moment, only "uptime" is possible. MikroTik are cheap, but really powerful devices MikroTik Website. You can have a MPLS Router for 40$. All of the hardware uses the same software packages so you have a long support and always the same SNMP check possibilities.

I cannot contribute Perl code, but maybe I can help you with some info’s or testing on hardware.

You do not need to buy hardware to test SNMP, you can download an ISO Image and install it on a virtual machine. (You have 24h runtime of the vm or you can get a free license key for testing on their website) https://mikrotik.com/download https://download.mikrotik.com/routeros/6.47.9/mikrotik-6.47.9.iso

Default User is admin with no password. With the following commands you should have a working SNMP test device:

/ip address add address=192.168.0.123/24 interface=ether1
/ip route add gateway=192.168.0.1
/snmp set enabled=yes

You can find same useful info’s in the MikroTik wiki: https://wiki.mikrotik.com/wiki/Manual:SNMP Or you can download the MikroTik RouterOS MIB File

IMHO for the first step same useful checks would be:

dcec commented 1 year ago

Interface check already work, for example: interface-usage interface-status interface-health

dcec commented 1 year ago

for system check try: --mode memory-usage --servertype generic_hostresources --mode memory-usage --servertype generic_hostresources --mode hardware-health --servertype generic_hostresources

xeiss commented 1 year ago

Sorry for my late answer, I have overseen your answer for quite a time.

I tried out on a hEX S Hardware with your trick "--servertype generic_hostresources". (interface-* are already working without this trick, as you said), and it looks already promising.

OK - cpu 0 is 0.00%, cpu 1 is 0.00%, cpu 2 is 0.00%, cpu 3 is 0.00% | 'cpu_0_usage'=0%;80;90;0;100 'cpu_1_usage'=0%;80;90;0;100 'cpu_2_usage'=0%;80;90;0;100 'cpu_3_usage'=0%;80;90;0;100

OK - memory 65536 (main memory) usage is 15.36% | 'memory_main memory_usage'=15.36%;90;95;0;100

OK - hardware working fine | 'system disk_free_pct'=27.86%;10:;5:;0;100

... so adding them as a official typ would not be a huge deal?

Only adding "temp" and "nand flash bad blocks count (if present)" would be very good health points for an MikroTik Device. hEX S don't has a fan, but I can try this on a much bigger MirkoTik in some weeks when the arrive.