Thanks Aaron - We have 2.3 in the works so we'll just until then before implementing.
I'll give the node.js module a try on 2.2.1 and let you know. Gary Aaron Coburn wrote the following on 4/19/13 10:13 PM: > 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----- > >
