Not long ago we received an email from one of our very dedicated clients asking if it were possible to design a check that could verify if a server can be pinged from a vserver via jumbo frames. He was kind enough to attach a CLI command, which he used for testing purposes:
network ping ‑vserver nfs ‑destination esx1 ‑disallow‑fragmentation true ‑packet‑size 9000
This led us to think about developing a check that could perform such a simple test. Our preliminary solution is check_netapp_anycli.pl, which can send an arbitrary command to a filer, report the CLI output and compare it to a reference value. If CLI output and reference value correspond to each other the check performs a Nagios exit, which can also be configured.
An example configuration for pinging via jumbo frames with check_netapp_anycli:
./check_netapp_anycli.pl ‑H myfiler ‑‑in="network ping" ‑‑in="‑vserver nfs ‑destination esx1 ‑disallow-fragmentation true ‑packet-size 9000" ‑‑out="alive"
We left the options --like_result=OK --unlike_result=CRITICAL out, since OK is the default for --like_result and CRITICAL the default for --unlike_result.
Since --out expects a regular expression, a version check that triggers a WARNING for every filer with a release number smaller than 8.3 could be configured as follows:
./check_netapp_anycli.pl ‑H myfiler ‑‑in="version" ‑‑out="8\.[4‑9]" ‑‑unlike_result=WARNING
Since check_netapp_anycli sends any arbitrary CLI command, this can be problematic and should be taken into account. According to our guidelines, the CM monitoring user does not have the necessary rights, and this won’t change anytime soon. Therefore, this check is intended solely for administrators, that are aware of the risks, know what they are doing and that work very carefully.
On the other hand, some very cool things are possible. If I don’t know the name of the vserver during configuration of the ping check, I can just send a vserver show and voila, I have a list on my screen:
./check_netapp_anycli.pl ‑H sim83n1 ‑u admin ‑p **** ‑‑in="vserver show"
CLI-OUTPUT: Admin Operational Root
Vserver Type Subtype State State Volume Aggregate
----------- ------- ---------- ---------- ----------- ---------- ----------
sim83 admin - - - - -
sim83-01 node - - - - -
vserv01 data default running running vol0 aggr1
3 entries were displayed.
No pattern for desired output specified.
check_netapp_anycli will be available in the next stable release, and if we release any more RCs, earlier for tests.