What is checksuite? - Checksuite is a suite of several perl programs designed to assist you with the everyday tasks of system administration. It requires Perl and the Net::SMTP perl module to run. The following is a list of the components:
[checkdisk] - This program queries with the 'df' command for disk utilization.
[checkhardware] - This program greps for possible errors in the system's 'dmesg' kernel log that may be hardware and/or kernel related.
[checkinodes] - This program queries with the 'df' command for inode utilization in a similar fashion as [checkdisk].
[checklinks] - This program will query a specified directory or mount for broken symbolic links. It also can remove them if needed.
[checkload] - This program greps for the 5 minute load directly from '/proc/loadavg'. If it is over the threshold, it will also list the processes that are using the most CPU.
[checksecurity] - This program throws a bunch of data together on a weekly basis including TCP connections, recent PAM entries, MD5 checksum querying, and searching for "hidden" files on the filesystem.
[checkswap] - This program greps swap usage directly from the 'free' command for notifications if it goes over the threshold.
[checksyn] - This program greps through data provided from 'netstat' and if it finds the same IP multiple times with a 'SYN_RECV' connection, it will block it to avoid a possible flood. This is compatible with IPChains and IPTables.
[checkzombie] - This program monitors system processes looking for ones that have a 'Z' state or zombied state.
What does it do? - It monitors the system resources on a system and if one of the resources goes above the threshold, it will alert the sysadmin via e-mail and log it. It also will provide you with a weekly security summary report on your system.
What platform does it run on? - It currently runs and has been tested on Linux.
What is the current version? - Currently it is at 3.3. I generally release updates semi-often depending on if it is a bugfix or an enchancement.
All of the scripts are written in Perl and I welcome and appreciate any recommendations on the code I have written. There is also a man page which can be executed as 'man checksuite' post-installation which provides all of the information needed to run every component in the suite.
This project has been extremely educational for me. If you have any code improvements or ideas, please share them with me.