I need some Perl modules which can server the following purpose.
To monitor up/down status of a given process.
Problem definition:
- What platform? Winbloze, *nix, VMS, or ????
- Assuming for a moment this is *nix is there a PID file I can use to determine the alleged PID of the runing process or are we going to have to search the process table?
To get the properties and values defined in some custom file (e.g an XML)
So... parse it... Check out
cpan:XML::Simple for instance.
To monitor port status and health
What is your criteria for health? What kind of port is it TCP or UDP? What's on the other side of that port? Is there authentication involved?
To write a log file and consolidate a log file and monitor errors.
Eh? Which is it, consolidate or write a log? Writing a log is pretty basic stuff and you don't need to find a module for that.
OPEN LOG," /var/log/mylogfile.log" or die "logging: $!";
printf LOG "Some pithy log message\n";
close LOG;
To get general health of the server – Disk, Memory, CPU, Partition etc
Again: define the platform. There are many ways to skin a cat here... of course the cat may not be too happy about being skinned.
To send traps to a server.
Seems to me you don't need a Perl module for this. There are a wealth of SNMP trap "senders" out there. On *nix snmptrap being the first to come to mind.
If you are trying to do system and/or network monitoring you might want to investigate Nagios or M/Monit. Where Nagios provides a means of centralized monitoring M/Monit runs on each host being monitored. M/Monit is largely Perl based and you can also mine it for "how do you do this" since you'd have the source code.
I've used both of those products (as well as other off the shelf products) in my professional world with a lot of success. I don't believe in rw-inventing the wheel when there are so many nice wheels to choose from.
Peter L. Berghold -- Unix Professional
Peter -at- Berghold -dot- Net; AOL IM redcowdawg Yahoo IM: blue_cowdawg
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.