Gary, I am not sure that I ever got the health_check.pl script to work properly on 2.2.1.
The health-check script works much better in the 2.3 series [1], so unless you want to dive into the $LIB/VCL/healthcheck.pm and $LIB/VCL/utils.pm perl code, you may want to hold off on this until you upgrade to a more recent version of the VCL. The node.js module I wrote may still work on a 2.2.1 system -- I don't believe any of the database schema changes from 2.2 -> 2.3 would affect it; I just haven't tested it on anything other than 2.3.x. Aaron [1] https://issues.apache.org/jira/browse/VCL-468 On Apr 19, 2013, at 6:32 PM, Gary Trail <[email protected]> wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > version 2.2.1 and simply (as root) > > cd /usr/local/vcl/bin > running it from the command line > ./health_check.pl > > Gary > > > Aaron Coburn wrote the following on 4/19/2013 5:33 PM: >> No, this is definitely not normal output. >> >> What version of the VCL are you using? And how are you invoking the >> script? >> >> Aaron >> >> On Apr 19, 2013, at 4:32 PM, Gary Trail <[email protected]> wrote: >> >> Thanks Aaron - >> >> I've been meaning to get health_check.pl running but each time I >> try I get the following warnings and after 10 minutes or so, no >> output so I deferred until I had more time to delve into the >> script. >> >> Is this output normal? >> >> Thanks Gary --------------- Prototype mismatch: sub >> VCL::health_check::help: none vs () at ./health_check.pl line 62 >> (#1) (S prototype) The subroutine being declared or defined had >> previously been declared or defined with a different function >> prototype. >> >> Prototype mismatch: sub VCL::health_check::help: none vs () at >> ./health_check.pl line 163 (#1) >> >> Subroutine help redefined at ./health_check.pl line 152 (#2) (W >> redefine) You redefined a subroutine. To suppress this warning, >> say >> >> { no warnings 'redefine'; eval "sub name { ... }"; } >> >> Use of uninitialized value in concatenation (.) or string at >> /usr/local/vcl/bin/../lib/VCL/utils.pm line 7651 (#3) (W >> uninitialized) An undefined value was used as if it were already >> defined. It was interpreted as a "" or a 0, but maybe it was a >> mistake. To suppress this warning assign a defined value to your >> variables. >> >> To help you figure out what was undefined, perl tells you what >> operation you used the undefined value in. Note, however, that >> perl optimizes your program and the operation displayed in the >> warning may not necessarily appear literally in your program. For >> example, "that $foo" is usually optimized into "that " . $foo, and >> the warning will refer to the concatenation (.) operator, even >> though there is no . in your program. >> >> Use of uninitialized value in string eq at >> >> /usr/local/vcl/bin/../lib/VCL/Module/Provisioning/VMware/VMware.pm >> line 308 (#3) Use of uninitialized value in pattern match (m//) at >> /usr/local/vcl/bin/../lib/VCL/healthcheck.pm line 480 (#3) Use of >> uninitialized value in concatenation (.) or string at >> /usr/local/vcl/bin/../lib/VCL/healthcheck.pm line 494 (#3) Use of >> uninitialized value in pattern match (m//) at >> /usr/local/vcl/bin/../lib/VCL/healthcheck.pm line 283 (#3) Use of >> uninitialized value in concatenation (.) or string at >> /usr/local/vcl/bin/../lib/VCL/healthcheck.pm line 343 (#3) >> ---------------- >> >> >> Aaron Coburn wrote the following on 4/19/2013 11:41 AM: >>>>> Hi, Folks, >>>>> >>>>> Many of you probably already use the 'health_check.pl' script >>>>> to monitor your VCL system. If you are not familiar with it, >>>>> it resides in >>>>> >>>>> $VCL_HOME/bin/health_check.pl >>>>> >>>>> It can be run directly from the command line or set to run on >>>>> a cron job. It verifies that each computer (for a given >>>>> management node) is operating properly. It also can be used >>>>> to power down compute nodes (though I have never used it for >>>>> this purpose). >>>>> >>>>> The script is really solid, but it can take a long time to >>>>> complete, especially if your management nodes each control a >>>>> large number of machines. In my experience, it typically >>>>> takes about 10 minutes for every 50 computers. This isn't >>>>> necessarily a problem, but if I want to just get a quick >>>>> snapshot of the overall system health, it is sometimes too >>>>> long to wait. >>>>> >>>>> So, I wrote a node.js module [1] that runs *significantly* >>>>> faster -- that is, it checks an entire system in only a few >>>>> seconds. It is also a comparatively much lighter load on the >>>>> management node (no externally spawned processes, only a >>>>> single database query, etc). >>>>> >>>>> The module allows you to write a complete monitoring script >>>>> like so: >>>>> >>>>> ============================== var health = >>>>> require('vcl-utils').Health; >>>>> >>>>> health.on('error', function(err) { console.log('ERROR :: ' + >>>>> err); }); >>>>> >>>>> health.on('info', function(msg) { console.log('INFO :: ' + >>>>> msg); }); >>>>> >>>>> health.check(); ============================== >>>>> >>>>> Let me know if you have any questions or if you have ideas >>>>> for improving this. >>>>> >>>>> Best regards, >>>>> >>>>> Aaron >>>>> >>>>> >>>>> [1] https://github.com/acoburn/vcl-utils >>>>> >>>>> >>>>> >>>>> -- Aaron Coburn Systems Administrator and Programmer Academic >>>>> Technology Services, Amherst College >>>>> [email protected]<mailto:[email protected]> >>>>> >>>>> >>>>> >>>>> >> >> >> > > - -- > Gary Trail > Director of Network Services > Rensselaer Hartford Graduate Center > 860-548-7869 > [email protected] > - ---------------------- > Go Green, Keep it on the Screen > Please Consider the Environment > Before Printing this Message. > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.9 (MingW32) > > iQEcBAEBAgAGBQJRccYLAAoJENG9onuHOfZFrKkH/1s6FkWAkYPSerrwKdCjfobl > tgbd9jdYhfyng2uyevquexnwXOTTJwdakmS2omMMLhJ2GqJyUVgaAjGyNA1wPQyk > iSgirvkLgmntIpEDYV5KM6vS1EJVmpNsClV5Vfww8usFmF+Pqvz76MV/kqybKJlV > rRGhqxIanIl16+Trfi02E+MO5QAR38XguQBn0674wDB36fKeSISUzOrCLL75aQCz > h3gDv+i3r6iDHwgJNyADHHR4PjRjKDSfozuVzTHPLZlRGjYm/+EmaHoe9qPl/17T > 0tINSPx0nQN4+LNPeBsbSCs0B4i768vi44kP8IBD/r/zEFM51by8wf0ktaXb7SQ= > =kN+w > -----END PGP SIGNATURE-----
